Pca 用主成分分析确定降维

Pca 用主成分分析确定降维,pca,dimensionality-reduction,Pca,Dimensionality Reduction,我有2D数据(我有一个零均值的标准化数据)。我知道它的协方差矩阵,特征值和特征向量。我想决定是否将维度减少到1(我使用主成分分析,PCA)。我怎么决定?有什么方法吗 如果你看这个比率,如果这个比率很高,那么继续降维是合乎逻辑的 PS 1:PoV(变异比例)代表它吗 PS 2:这里有一个答案:这是测试它的标准吗?PoV(变化比例)表示相对于使用所有数据,数据将保留多少信息。它可用于该目的。如果POV高于,则会丢失较少的信息。您希望按幅值对特征值进行排序,然后选择最高的1或2个值。相对值很小的特征值

我有2D数据(我有一个零均值的标准化数据)。我知道它的协方差矩阵,特征值和特征向量。我想决定是否将维度减少到1(我使用主成分分析,PCA)。我怎么决定?有什么方法吗

如果你看这个比率,如果这个比率很高,那么继续降维是合乎逻辑的

PS 1:PoV(变异比例)代表它吗


PS 2:这里有一个答案:这是测试它的标准吗?

PoV(变化比例)表示相对于使用所有数据,数据将保留多少信息。它可用于该目的。如果POV高于,则会丢失较少的信息。

您希望按幅值对特征值进行排序,然后选择最高的1或2个值。相对值很小的特征值可以考虑排除。然后,您可以转换数据值,仅使用前1或前2个特征向量即可获得打印结果的尺寸。这将提供PCA分割的视觉表示。还可以查看scikit learn,了解有关PCA的更多信息。精度,回忆道,F1的分数会告诉你它有多好

步骤1:3D示例

“对于我们的简单示例,我们将三维特征空间缩减为二维特征子空间,我们将两个具有最高特征值的特征向量组合起来,以构造d×kd×k维特征向量矩阵WW

matrix_w = np.hstack((eig_pairs[0][1].reshape(3,1),
                  eig_pairs[1][1].reshape(3,1)))
print('Matrix W:\n', matrix_w)

>>>Matrix W:
[[-0.49210223 -0.64670286]
[-0.47927902 -0.35756937]
[-0.72672348  0.67373552]]"
步骤2:3D示例

" 在最后一步中,我们使用刚刚计算的2×32×3维矩阵WW,通过方程将样本转换到新的子空间 y=W^T×x

transformed = matrix_w.T.dot(all_samples)
assert transformed.shape == (2,40), "The matrix is not 2x40 dimensional."