【发布时间】:2012-05-01 15:45:52
【问题描述】:
我有一个包含功能的 CSV 文件。行代表对象,列代表特征。我像这样阅读 CSV 文件
O = csvread('data');
现在我做了一个
[COEFF,SCORE] = princomp(O)
我在 O 上进行 princomp 的目标是执行降维,因为特征数量太大。现在,在此操作之后,SCORE 向量是否保留了降维特征集,还是我必须执行更多操作才能获得它?
【问题讨论】:
我有一个包含功能的 CSV 文件。行代表对象,列代表特征。我像这样阅读 CSV 文件
O = csvread('data');
现在我做了一个
[COEFF,SCORE] = princomp(O)
我在 O 上进行 princomp 的目标是执行降维,因为特征数量太大。现在,在此操作之后,SCORE 向量是否保留了降维特征集,还是我必须执行更多操作才能获得它?
【问题讨论】:
[COEFF,SCORE] = princomp(X) 返回 SCORE,主成分分数;也就是 X 在主成分空间中的表示。 SCORE 的行对应观察值,列对应分量。
【讨论】:
latent,则显示每列占的方差; cumsum(latent) ./ sum(latent) 为您提供百分比。选择一个k,在没有太多特征和覆盖大量差异之间取得最佳平衡;然后只取每个向量的第一个 k 分量。 (要转换测试数据,只需对coeff 进行适当的切片。)我上面链接到的文档有这样的例子。