PCA scikitliear如何选择组件数量

Mat*_*lde 3 python decomposition pca scikit-learn

我正在尝试使用 PCA 分解我的列。

我在如何使用 scikit learn in python 选择函数 PCA 的 n_components 方面遇到了一些困难。我做了这个

sc = StandardScaler()
Z = sc.fit_transform(X)
pca = PCA(n_components = 5')
Run Code Online (Sandbox Code Playgroud)

你能解释一下吗?

Far*_*eer 8

没有答案会以概率 1 告诉您正确的组件数是多少。它是特定于应用程序的。

但是,您可以使用以下启发式方法。您绘制解释方差比并选择“捕获”至少 95% 方差的多个分量。在以下示例中,捕获大约 95% 方差的组件数量约为 30。

pca = PCA().fit(digits.data)
plt.plot(np.cumsum(pca.explained_variance_ratio_))
plt.xlabel('number of components')
plt.ylabel('cumulative explained variance')
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明