我有二维数据(我有一个零均值归一化数据)。我知道它的协方差矩阵,特征值和特征向量。我想决定是否将尺寸减小到1(我使用主成分分析,PCA)。我怎么决定?它有什么方法吗?
我正在寻找某事。就像你看一下这个比例一样,如果这个比例很高,那么继续降维就是合乎逻辑的。PS 1: PoV(变异比例)是否代表它?
PS 2:以下是答案:https://stats.stackexchange.com/questions/22569/pca-and-proportion-of-variance-explained是否有测试标准?
答案 0 :(得分:0)
PoV(变异比例)表示相对于使用所有数据的数据信息量。 可以 用于此目的。如果POV高于少,则信息将丢失。
答案 1 :(得分:0)
您希望按幅度对特征值进行排序,然后选择最高的1或2值。具有非常小的相对值的特征值可以被考虑排除。然后,您可以转换数据值,并仅使用前1或2个特征向量,您将获得用于绘制结果的维度。这将给出PCA分割的直观表示。还可以查看scikit-learn了解有关PCA的更多信息。精确,召回,F1分数将告诉你它的运作情况
来自http://sebastianraschka.com/Articles/2014_pca_step_by_step.html ...
第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,通过等式将我们的样本转换到新的子空间 ÿ= W ^ T×X
transformed = matrix_w.T.dot(all_samples)
assert transformed.shape == (2,40), "The matrix is not 2x40 dimensional."