Alb*_*o A 22 python variance pca scikit-learn
我需要使用pca来识别具有特定数据集的最大方差的维度.我正在使用scikit-learn的pca来完成它,但是我无法从pca方法的输出中识别出具有最高方差的数据的组成部分.请记住,我不想消除这些维度,只能识别它们.
我的数据被组织为一个包含150行数据的矩阵,每行包含4个维度.我这样做:
pca = sklearn.decomposition.PCA()
pca.fit(data_matrix)
Run Code Online (Sandbox Code Playgroud)
当我打印pca.explained_variance_ratio_时,它会输出从最高到最低排序的方差比数组,但它不会告诉我它们对应的数据中的哪个维度(我已尝试更改矩阵中列的顺序,以及得到的方差比数组是相同的).
打印pca.components_给了我一个4x4矩阵(我把组件的原始数量留作 pca的参数)和一些我无法理解的含义的值...根据scikit的文档,它们应该是具有最大方差的组件(特征向量可能是?),但没有这些值所指的维度的标志.
转换数据也没有帮助,因为维度的改变方式我真的不知道它们最初是哪一个.
有什么方法可以用scikit的pca获取这些信息吗?谢谢
mad*_*mad 19
返回的pca.explained_variance_ratio_是主成分的差异.您可以使用它们来查找pca可以更好地转换数据的维度(组件)数量.您可以使用阈值(例如,您计算有多少方差大于0.5,等等).之后,您可以使用等于高于所用阈值的主成分的维数(组件)数量通过PCA转换数据.减少到这些维度的数据与原始数据中的维度数据不同.
你可以查看这个链接的代码:
| 归档时间: |
|
| 查看次数: |
18920 次 |
| 最近记录: |