我想应用主成分分析,以减少我的数据的维度。 200x146,200个具有146个特征(维度)的观察值(样本),每个观察值可以属于三个类别之一。我想要做的是将数据可视化,以便在向我的数据添加新样本后查看类质心如何移动。由于不可能绘制这样的高维度数据,因此我正在寻找一个能够将我的数据表示在几乎不同的班级中的维度。主成分分析,获得系数告诉我什么?
我知道PCA计算特征向量的特征值,而特征值代表方差。方差越高,数据分布越多,可视化效果越好。具有最高特征值的特征向量是主分量,然后由PCA找到与该分量正交的轴。 (我有没有正确理解PCA的基本理念?)
但是我不明白,我做什么的信息获取,当我使用MATLAB函数PCA() 我得到的系数,但他们怎么告诉我,之后如何继续? )';
data=trndata;
[coeff,score]=pca(data(:,1:end-1));
newinputdata=coeff(:, 1:3)*score(:, 1:3
newinputdata=newinputdata';
class1i=find(data(:,end)==1);
class2i=find(data(:,end)==2);
class3i=find(data(:,end)==3);
class1=newinputdata(class1i,:);
class2=newinputdata(class2i,:);
class3=newinputdata(class3i,:);
x=1;
y=2;
figure;
plot(class1(:,x), class1(:,y),'ro')
hold on
plot(class2(:,x), class2(:,y),'go')
hold on
plot(class3(:,x), class3(:,y),'bo')
尽管PCA肯定是您想要实现的好工具,但事实上,您有三个类,并且希望将数据投影到2D听起来像是应该真正查看[线性判别分析](https:// en .wikipedia.org/wiki/Linear_discriminant_analysis)也用于降维。 – kazemakase