我有2D数据(我有一个零均值归一化数据)。我知道它的协方差矩阵、特征值和特征向量。我想决定是否将维数降到1(我使用主成分分析( PCA) )。我怎么决定?有什么方法吗?
我在看某物。比如,如果你看这个比率,如果这个比率高于这个比率,那么继续降维是合乎逻辑的。
PS 1: PoV (变异比例)代表它吗?
PS 2:这里有一个答案:https://stats.stackexchange.com/questions/22569/pca-and-proportion-of-variance-explained是测试它的标准吗?
发布于 2013-02-18 20:03:44
PoV (变异比例)表示相对于使用所有数据而言,数据的信息将保持多少。可用于该目的的。如果POV高过少,信息就会丢失。
发布于 2016-01-14 08:34:16
您希望按大小排序您的特征值,然后选择最高的1或2个值。相对值很小的特征值可以考虑排除。然后,您可以转换数据值,并且只使用前1或2个特征向量,您将获得绘制结果的维度。这将给出PCA分割的可视化表示。同时,也可以看看科学知识-学习更多关于PCA的知识。精确,回忆,f1-分数会告诉你它有多好。
从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,通过方程y=W^T×x将样本转换到新的子空间。
transformed = matrix_w.T.dot(all_samples)
assert transformed.shape == (2,40), "The matrix is not 2x40 dimensional."https://stackoverflow.com/questions/13579526
复制相似问题