matlab - 我怎样才能真正减少 PCA 的特征维度?

标签 matlab machine-learning pca feature-extraction feature-selection

我正在尝试在 Matlab 中使用 pca 执行降维。从下面的代码中,我得到系数、分数、潜在值和 t 平方。然而,如何减少pc分析的实际尺寸对我来说仍然很模糊。我想要做的是将列数(本例中最初为 3)减少到 1 或 2。您能告诉我该怎么做吗?

matrix = [ 1 2 3; 4 3 2; 1 3 5; 4 2 3; 1 2 3; 2 1 3];
[coeff, score, latent, tsquared] = pca(matrix);

最佳答案

coeff是你的主成分矩阵,只需根据需要删除尽可能多的列(从末尾开始!)来截断它。换句话说 - 为了投影到 1 维,请使用 coeff 的第一列并乘以你的数据。如果你想投影到二维 - 取前两列并相乘。您的数据是 N x d,系数是 d x d,因此如果您将系数限制为 2 列,您将得到

  X     coeff_truncated  =  projected_data
N x d      d x 2               N x 2

根据需要。

关于matlab - 我怎样才能真正减少 PCA 的特征维度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36366995/

相关文章:

python - TimeDistributed 层的 CNN-LSTM 时间序列输入

matlab - 选择在 PCA 中显示最大方差的组件

image - matlab使白色背景透明png

arrays - 更新: Merge two arrays Matlab

matlab - 多元正态分布 Matlab,概率区域

java - 解决卡片问题的神经网络

python - 在 sklearn 的双标图中绘制 PCA 加载和加载(类似于 R 的自动绘图)

matlab - 根据 MA​​TLAB 中预先指定的规则,从两个现有概率矩阵创建新的概率矩阵

r - 如何对具有多个组的数据集对每个组进行 PCA?

r - 在 PCA 图上测试聚类的显着性