首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sklearn主元分解explained_variance_ratio_

Sklearn主元分解explained_variance_ratio_
EN

Stack Overflow用户
提问于 2018-09-11 03:14:46
回答 1查看 1.3K关注 0票数 3

我是python新手,这些天我正在学习PCA分解,当我使用explained_variance_ratio_时,我发现默认情况下结果是按如下方式排序的:

Ratio: [9.99067005e-01 8.40367350e-04 4.97276068e-05 2.46358647e-05 1.00120681e-05 8.25213366e-06]

这是我以前的手术:

代码语言:javascript
复制
from sklearn.decomposition import PCA
my_pca = PCA(n_components=7)
new_df = df.drop(labels=["salary","department","left"],axis=1)
low_mat = my_pca.fit_transform(new_df)
print("Ratio:",my_pca.explained_variance_ratio_)

我很困惑哪一个是最重要的组成部分,所以我想知道你有什么办法让组成和比例一一对应,就像这样:

代码语言:javascript
复制
Ratio: satisfaction_level 9.99067005e-01
......

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-11 06:26:45

由于您没有提到什么是satisfaction_level,我假设它是您的数据集中的一个特性。此外,我假设您期望的是特性明智的方差值。

PCA有一个名为n_components的参数,它指示要保持在传输空间中的组件数量。主成分分析用于维数,reduction.So,n_components必须小于您所拥有的特征数。

PCA将通过旋转特征进行降维,得到最大方差。PCA中的每个特征都是正交的。因此,您将无法看到与您在原始数据集中看到的相同的功能值。

将PCA中的特征进行变换,得到较高的方差。差异越大,保留的信息百分比就越高。

explained_variance_ratio_是由所选组件中的每个组件解释的方差百分比。第一个分量有较高的方差,最后一个分量的方差最小。百分比值按递减顺序排序。

因此,如果您想获得转换的特性(最重要的特性),请执行以下操作

代码语言:javascript
复制
pca_features = my_pca.components_

你也可以用它来制作数据。

P.S:在应用PCA之前,确保输入数据标准化了

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52268156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档