【问题标题】:Reducing data to one dimension using PCA [closed]使用 PCA 将数据减少到一维 [关闭]
【发布时间】:2021-12-21 22:42:01
【问题描述】:

数据的维度可以降到只有一个主成分吗?

我在鸢尾花数据集上试过-

from sklearn.decomposition import PCA
import pandas as pd
import matplotlib.pyplot as plt

pca = PCA(n_components=1)
pca_X = pca.fit_transform(X)   #X = standardized iris data

pca_df = pd.DataFrame(pca_X, columns=["PCA1"])

plt.plot(pca_df["PCA1"], "o")

我们可以看到三个不同的集群。那么to维度可以降到1吗?

【问题讨论】:

  • 检查this article
  • pca_df 已经是一维了
  • 请发一个完整 minimal reproducible example(包括数据的导入和规范化),因为你使用的是iris数据集,所以应该很简单;另外,不清楚为什么您认为集群的数量与维度/组件的数量有关。
  • 这是数据科学问题。

标签: python machine-learning scikit-learn pca


【解决方案1】:

您可以选择使用 PCA 将维度减少到 1,它唯一承诺的是所得主成分在数据中方差最大的方向。

如果您正在减少维度以改进分类,您可以使用线性判别分析,它为您提供类之间最大分离的方向。

【讨论】:

    【解决方案2】:

    是的,维度可以减少到 1,这正是您在示例中所做的。

    图中的 y 轴显示每个观察值相对于第一个主成分的坐标。

    三个簇很可能与鸢尾花数据集中的三个物种有关,与成分的数量无关。

    【讨论】:

      猜你喜欢
      • 2021-10-17
      • 2011-08-19
      • 1970-01-01
      • 2013-09-20
      • 2015-07-19
      • 2017-06-08
      • 1970-01-01
      • 2018-12-03
      • 2016-02-08
      相关资源
      最近更新 更多