【问题标题】:How to choose the number of components PCA scikitliear如何选择 PCA scikitliear 的组件数量
【发布时间】:2019-05-17 01:05:08
【问题描述】:

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

我发现如何选择我的 在 python 中使用 scikit learn 的函数 PCA 的 n_components。 我这样做了

sc = StandardScaler()
Z = sc.fit_transform(X)
pca = PCA(n_components = 5')

你能解释一下吗?

【问题讨论】:

  • 您好,Stack Overflow 不是一般的问题解决网站。请解释您已经尝试过的内容并提供您尝试的代码。然后我们可以讨论任何问题
  • 帖子已编辑..谢谢
  • 请注意您的代码不正确。 PCA(svd_solver='full, n_components = 5') 是一个语法错误
  • 是的,对不起!我刚刚编辑。我的问题是如何知道 n_components = 在哪个数字上分解..非常感谢您
  • 这真的取决于您的应用程序。为什么要运行 PCA?您希望保留输入中的多少方差?

标签: python scikit-learn pca decomposition


【解决方案1】:

没有答案会以概率 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')

【讨论】:

  • 你是说 30 吗?
猜你喜欢
  • 2016-01-13
  • 2021-03-19
  • 2019-10-12
  • 1970-01-01
  • 1970-01-01
  • 2016-06-10
  • 1970-01-01
  • 2015-08-19
相关资源
最近更新 更多