我是python新手,这些天我正在学习PCA分解,当我使用explained_variance_ratio_时,我发现默认情况下结果是按如下方式排序的:
Ratio: [9.99067005e-01 8.40367350e-04 4.97276068e-05 2.46358647e-05 1.00120681e-05 8.25213366e-06]
这是我以前的手术:
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_)我很困惑哪一个是最重要的组成部分,所以我想知道你有什么办法让组成和比例一一对应,就像这样:
Ratio: satisfaction_level 9.99067005e-01
......谢谢!
发布于 2018-09-11 06:26:45
由于您没有提到什么是satisfaction_level,我假设它是您的数据集中的一个特性。此外,我假设您期望的是特性明智的方差值。
PCA有一个名为n_components的参数,它指示要保持在传输空间中的组件数量。主成分分析用于维数,reduction.So,n_components必须小于您所拥有的特征数。
PCA将通过旋转特征进行降维,得到最大方差。PCA中的每个特征都是正交的。因此,您将无法看到与您在原始数据集中看到的相同的功能值。
将PCA中的特征进行变换,得到较高的方差。差异越大,保留的信息百分比就越高。
explained_variance_ratio_是由所选组件中的每个组件解释的方差百分比。第一个分量有较高的方差,最后一个分量的方差最小。百分比值按递减顺序排序。
因此,如果您想获得转换的特性(最重要的特性),请执行以下操作
pca_features = my_pca.components_你也可以用它来制作数据。
P.S:在应用PCA之前,确保输入数据标准化了
https://stackoverflow.com/questions/52268156
复制相似问题