我想應用主成分分析,以減少我的數據的維度。 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