【问题标题】:Add new vector to PCA new space data python将新向量添加到 PCA 新空间数据 python
【发布时间】:2016-11-29 20:46:09
【问题描述】:

假设我有 9 维和 6000 个样本的训练数据,我使用 sklearn PCA 应用了 PCA 算法。
我将它的维度减少到 4,并且知道我想尽快将一个具有 9 个特征的新样本转换到具有 4 个组件的训练数据空间。
这是我的第一个 pca 代码:

X_std = StandardScaler().fit_transform(df1)
pca = PCA(n_components = 4)
result = pca.fit_transform(X_std)

sklearn pca 函数有没有办法做到这一点?

【问题讨论】:

    标签: python scikit-learn pca


    【解决方案1】:

    如果您想将原始矩阵转换为 PCA 提供的降维投影,您可以使用 transform 函数,该函数将对特征向量和输入矩阵进行有效的内积:

    pca = PCA(n_components=4)
    pca.fit(X_train)
    X_std_reducted = pca.transform(X_std)
    

    来自 scikit 源码:

    X_transformed = fast_dot(X, self.components_.T)
    

    因此,应用 PCA 转换只是一种线性组合——非常快。现在,您可以将投影应用于训练集以及我们将来要测试的任何新数据。

    本文更详细地描述了该过程:http://www.eggie5.com/69-dimensionality-reduction-using-pca

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-10-05
      • 2021-09-23
      • 2021-01-11
      • 1970-01-01
      • 2014-07-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多