machine-learning - 绘制特征权重以进行 PCA 分析

标签 machine-learning scikit-learn pca variance

我有一组数据可以在以下位置访问:

http://textuploader.com/df5nt

我的数据集中有 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'])

enter image description here

关于machine-learning - 绘制特征权重以进行 PCA 分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49993837/

相关文章:

Python:为什么特征向量与第一个 PCA 权重不同?

python - Numpy.eig 和 PCA 中的方差百分比

python - 文本模式识别 Python

machine-learning - 为什么SAMME.R AdaBoost算法中的estimator_weight设置为1

machine-learning - 估计优化模型测试误差的正确方法

python - 多次使用 Sklearn Fit 模型

Tensorflow-如何共享CNN不同输入 channel 的滤波器权重?

machine-learning - 如何在 keras 中使用 categorical_hinge 损失以便在最后一层使用 SVM 进行训练?

python - fit_transform 后数组大小不同

python - 使用 sklearn 提取 PCA 成分