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之后我的组件中有哪些功能
基础教程推荐
猜你喜欢
- 如何在海运重新绘制中自定义标题和y标签 2022-01-01
- 使用PyInstaller后在Windows中打开可执行文件时出错 2022-01-01
- Python kivy 入口点 inflateRest2 无法定位 libpng16-16.dll 2022-01-01
- 线程时出现 msgbox 错误,GUI 块 2022-01-01
- 在 Python 中,如果我在一个“with"中返回.块,文件还会关闭吗? 2022-01-01
- 用于分类数据的跳跃记号标签 2022-01-01
- 如何让 python 脚本监听来自另一个脚本的输入 2022-01-01
- Dask.array.套用_沿_轴:由于额外的元素([1]),使用dask.array的每一行作为另一个函数的输入失败 2022-01-01
- 何时使用 os.name、sys.platform 或 platform.system? 2022-01-01
- 筛选NumPy数组 2022-01-01