Find out which features are in my components after PCA(找出在PCA之后我的组件中有哪些功能)
本文介绍了找出在PCA之后我的组件中有哪些功能的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我对我的数据执行了主成分分析。数据如下所示:
df
Out[60]:
Drd1_exp1 Drd1_exp2 Drd1_exp3 ... M7_pppp M7_puuu Brain_Region
0 -1.0 -1.0 -1.0 ... 0.0 0.0 BaGr
3 -1.0 -1.0 -1.0 ... 0.0 0.0 BaGr
4 -1.0 -1.0 -1.0 ... 0.0 0.0 BaGr
... ... ... ... ... ... ...
150475 -1.0 -1.0 -1.0 ... 0.0 0.0 BaGr
150478 -1.0 -1.0 -1.0 ... 0.0 0.0 BaGr
150479 -1.0 -1.0 -1.0 ... 0.0 0.0 BaGr
我知道使用每一行,直到‘大脑区域’作为特征。我也对它们进行了标准化。 这些功能是不同的实验,它们给了我关于大脑3D图像的信息。 我将向您展示我的代码:
from sklearn.preprocessing import StandardScaler
x = df.loc[:, listend1].values
y= df.loc[:, 'Brain_Region'].values
x = StandardScaler().fit_transform(x)
from sklearn.decomposition import PCA
pca = PCA(n_components=2)
principalComponents = pca.fit_transform(x)
principalDf = pd.DataFrame(data = principalComponents
, columns = ['principal component 1', 'principal component 2'])
finalDf = pd.concat([principalDf, df[['Brain_Region']]], axis = 1)
然后我绘制了finalDF:
我现在的问题是:我如何找出哪些功能对我的组件有贡献?我如何才能找到并解释数据?推荐答案
您可以使用pca.components_
(或者pca.components
,具体取决于skLearning版本)。
它的形状为(n_components, n_features)
,在您的情况下为(2, n_features)
,表示数据中最大方差的方向,这反映了特征向量中相应值的大小(更高的幅度-更高的重要性)。您将看到如下内容:
[[0.522 0.26 0.58 0.56],
[0.37 0.92 0.02 0.06]]
表示对于第一个组件(第一行),第一个、第三个和最后一个特征具有更高的重要性,而对于第二个组件,只有第二个特征重要。
查看sklern PCA attributes description或此post。
顺便说一下,您还可以使用包含标签的Random Forest Classifier,在培训后您可以探索功能重要性,例如post。
这篇关于找出在PCA之后我的组件中有哪些功能的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:找出在PCA之后我的组件中有哪些功能
猜你喜欢
- 使用公司代理使Python3.x Slack(松弛客户端) 2022-01-01
- 如何使用PYSPARK从Spark获得批次行 2022-01-01
- 检查具有纬度和经度的地理点是否在 shapefile 中 2022-01-01
- YouTube API v3 返回截断的观看记录 2022-01-01
- CTR 中的 AES 如何用于 Python 和 PyCrypto? 2022-01-01
- 我如何透明地重定向一个Python导入? 2022-01-01
- 我如何卸载 PyTorch? 2022-01-01
- 使用 Cython 将 Python 链接到共享库 2022-01-01
- ";find_element_by_name(';name';)";和&QOOT;FIND_ELEMENT(BY NAME,';NAME';)";之间有什么区别? 2022-01-01
- 计算测试数量的Python单元测试 2022-01-01