0

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

我在找…… 就像如果你看这个比率,如果这个比率很高,那么继续降维是合乎逻辑的。

PS 1: PoV(变化比例)是否代表它?

PS 2:这是一个答案:https ://stats.stackexchange.com/questions/22569/pca-and-proportion-of-variance-explained它是测试它的标准吗?

4

2 回答 2

0

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

于 2013-02-18T20:03:44.513 回答
0

您想按大小对特征值进行排序,然后选择最高的 1 或 2 个值。可以考虑排除具有非常小的相对值的特征值。然后,您可以转换数据值并仅使用前 1 或 2 个特征向量,您将获得用于绘制结果的维度。这将给出 PCA 拆分的可视化表示。另请查看 scikit-learn 以了解有关 PCA 的更多信息。精度、召回率、F1 分数会告诉你它的效果如何

来自http://sebastianraschka.com/Articles/2014_pca_step_by_step.html ...

第 1 步:3D 示例

“对于我们的简单示例,我们将 3 维特征空间缩减为 2 维特征子空间,我们将两个具有最高特征值的特征向量组合起来构建我们的 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."
于 2016-01-14T08:34:16.080 回答