我有一组数据可以在以下位置访问:
我的数据集中有 4 列,对应 4 个不同的特征。 我可以使用以下代码计算第一和第二主成分:
import pandas as pd
from sklearn.decomposition import PCA as sklearnPCA
from sklearn.preprocessing import StandardScaler
data = pd.read_csv('rr.txt')
X = data.ix[:,0:4].values
X_std = StandardScaler().fit_transform(X)
sklearn_pca = sklearnPCA(n_components=2)
Y_sklearn = sklearn_pca.fit_transform(X_std)
print (Y_sklearn)
现在我想绘制这些数据的特征权重。像这样的东西: features weight
我知道我需要在 scikit-learn 中使用解释方差比,但我不知道如何在我的代码中实现它来获得它。我希望有人能帮助我。 谢谢!
最佳答案
使用components_属性
http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html
feature_weights = sklearn_pca.components_
import matplotlib.pyplot as plt
%matplotlib inline
fig, (ax1,ax2) = plt.subplots(1,2)
ax1.bar(range(4),feature_weights[0],color=['b','g','r','c'])
ax2.bar(range(4),feature_weights[1],color=['b','g','r','c'])
关于machine-learning - 绘制特征权重以进行 PCA 分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49993837/