将新向量添加到PCA新空间数据Python



想象我有9个维度和6000个样本的培训数据,并且我使用Sklearn PCA应用了PCA算法。
我将其尺寸降低到4,并且知道我想将一个带有9个功能的新样本转换为我的训练数据空间,并尽可能快地将4个组件转换为4个组件。
这是我的第一个PCA代码:

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

有什么方法可以使用Sklearn PCA函数?

如果要将原始矩阵转换为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-reduction-using-pca

最新更新