【问题标题】:Dimension reduction using PCA in Matlab在 Matlab 中使用 PCA 降维
【发布时间】:2015-07-21 12:13:56
【问题描述】:

我正在尝试在 matlab 中对车辆进行分类。我需要降低特征的维数以消除冗余。我为此使用 pca。不幸的是, pca 函数没有返回预期的结果。输出似乎被截断,我不明白为什么。

总结如下:

Components_matrix = [Areas_vector MajorAxisLengths_vector MinorAxisLengths_vector Perimeters_vector...
        EquivDiameters_vector Extents_vector Orientations_vector Soliditys_vector]

输出是:

Components_matrix =

1.0e+03 *

1.4000    0.1042    0.0220    0.3352    0.0422    0.0003    0.0222    0.0006
2.7690    0.0998    0.0437    0.3973    0.0594    0.0005    0.0234    0.0007
1.7560    0.0853    0.0317    0.2610    0.0473    0.0005    0.0236    0.0008
1.0870    0.0920    0.0258    0.3939    0.0372    0.0003    0.0157    0.0005
0.7270    0.0583    0.0233    0.2451    0.0304    0.0004    0.0093    0.0006
1.2380    0.0624    0.0317    0.2436    0.0397    0.0004    0.0106    0.0007

然后我使用pca函数如下:

[COEFF, SCORE, LATENT] = pca(Components_matrix)
The displayed results are:

COEFF =

0.9984   -0.0533   -0.0057   -0.0177    0.0045
0.0162    0.1810    0.8788    0.0695   -0.3537
0.0099   -0.0218   -0.2809    0.8034   -0.2036
0.0514    0.9817   -0.1739   -0.0016    0.0468
0.0138   -0.0018    0.0616    0.4276   -0.3585
0.0001   -0.0008   -0.0025    0.0215    0.0210
0.0069    0.0158    0.3388    0.4070    0.8380
0.0001   -0.0011    0.0022    0.0198    0.0016

得分 =

 1.0e+03 *

   -0.0946    0.0312    0.0184   -0.0014   -0.0009
    1.2758    0.0179   -0.0086   -0.0008    0.0001
    0.2569   -0.0642    0.0107    0.0016    0.0012
   -0.4043    0.1031   -0.0043    0.0015    0.0003
   -0.7721   -0.0299   -0.0079   -0.0017    0.0012
   -0.2617   -0.0580   -0.0083    0.0008   -0.0020

潜伏=

1.0e+05 *

5.0614
0.0406
0.0014
0.0000
0.0000

我希望例如 COEFF 和 LATENT 分别是 8x8 和 8x1 矩阵。但这不是我得到的。为什么会这样,如何才能纠正这种情况。请帮忙。

【问题讨论】:

  • 试试pca(Components_matrix.')
  • 您似乎认为 PCA 会为您对数据进行排序,但事实并非如此?

标签: matlab


【解决方案1】:

您对pca() 的使用和Matlab 的输出是正确的。问题是您的维度比样本多,即您只有 6 辆车但有 8 个变量。如果您有N 样本和N 或更大的变量,则主成分的数量只有N-1,因为其他成分不会是唯一的。所以COEFF是输入的协方差矩阵的特征向量,SCORE(:,1)是第一个主成分,SCORE(:,2)是第二个等等,其中总共只有N-1=5LATENT是协方差矩阵的特征值,或由每个连续主成分解释的方差量,其中只有N-1=5

对此here有更详细的讨论。

【讨论】:

    猜你喜欢
    • 2017-08-05
    • 2017-08-19
    • 2015-08-19
    • 2014-01-02
    • 2013-03-06
    • 2013-12-31
    • 2015-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多