首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python学习PCA:获取组件分数

Python学习PCA:获取组件分数
EN

Stack Overflow用户
提问于 2015-08-07 14:51:08
回答 1查看 4.6K关注 0票数 2

我正试图对工作进行主成分分析。虽然我成功地完成了主组件的布局,但我并不知道如何为每个行项分配最终的组件分数。我在寻找类似这样的输出。

代码语言:javascript
复制
Town       PrinComponent 1 PrinComponent 2 PrinComponent 3
Columbia     0.31989       -0.44216        -0.44369
Middletown  -0.37101       -0.24531        -0.47020
Harrisburg  -0.00974       -0.06105         0.32792
Newport     -0.38678        0.40935        -0.62996 

在这种情况下,学习科学的文档是没有帮助的。有人能向我解释一下我是如何达到这个输出的吗?

到目前为止,我掌握的代码如下。

代码语言:javascript
复制
def perform_PCA(df):
    threshold = 0.1
    pca = decomposition.PCA(n_components=3)
    numpyMatrix = df.as_matrix().astype(float)
    scaled_data = preprocessing.scale(numpyMatrix)
    pca.fit(scaled_data)    
    pca.transform(scaled_data)

    pca_components_df = pd.DataFrame(data = pca.components_,columns = df.columns.values)
    #print pca_components_df
    #pca_components_df.to_csv('pca_components_df.csv')

    filtered = pca_components_df[abs(pca_components_df) > threshold]
    trans_filtered= filtered.T
    #print filtered.T #Tranformed Dataframe
    trans_filtered.to_csv('trans_filtered.csv')
    print pca.explained_variance_ratio_
EN

回答 1

Stack Overflow用户

发布于 2015-08-09 16:14:56

我将转换的数组抽运到DataFrame函数的数据部分,然后将索引和列分别放入columns=index=

代码语言:javascript
复制
pd.DataFrame(data=transformed, columns=["PC1", "PC2"], index=df.index)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31880695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档