[英]Python Scikit-Learn PCA: Get Component Score
我正在尝试执行工作的主成分分析。 虽然我已经成功地完成了主要组件的布局,但是我真的不知道如何为每个订单项分配最终的组件分数。 我正在寻找这样的输出。
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
scikit-learn文档在这种情况下没有帮助。 有人可以向我解释我如何实现此输出吗?
我到目前为止的代码如下。
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_
我将转换后的数组泵送到DataFrame函数的数据部分,然后通过分别将它们分别放入column =和index =来定义索引和column。
pd.DataFrame(data=transformed, columns=["PC1", "PC2"], index=df.index)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.