首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >沿着特征向量绘制多变量数据

沿着特征向量绘制多变量数据
EN

Stack Overflow用户
提问于 2014-05-31 02:54:54
回答 1查看 618关注 0票数 1

我有一个包含18个样本的数据矩阵,每个样本有12个变量,D(18,12)。我对数据进行了k-means聚类,得到了3个簇。我想在2维上可视化这个数据,具体地说,沿着对应于特定矩阵B的最大特征值的2个特征向量。因此,我创建了由对应于最大两个特征值的两个特征向量所跨越的平面:

代码语言:javascript
运行
复制
[V,EA]=eig(B);
e1=V(:,11);
e2=V(:,12);
for i=1:12
    E(i,1)=e1(i);
    E(i,2)=e2(i);
end
Eproj=E*E';

其中e1和e2是特征向量,E是包含这些列向量的矩阵。在这一点上,我有点卡住了。我认识到e1和e2在这个12维空间中是正交的,但我不知道如何将其简化为二维,以便我可以绘制它。我认为数据样本在平面上的投影将是:

代码语言:javascript
运行
复制
Eproj*D(i,:) 

对于i=1...18,但是我不确定从这里到哪里去绘制我的集群。当我做投影时,它仍然是12维的。

EN

回答 1

Stack Overflow用户

发布于 2014-05-31 04:48:33

主成分分析可以帮助您使用特征向量将数据转换为2D。

代码语言:javascript
运行
复制
coeff = princomp(B);
Bproj = B * coeff(:,1:2);
figure
plot(Bproj(:,1),Bproj(:,2),'*')

如果你有标签,你可以使用“散布”功能来获得更好的视觉效果。或者你可以将维数降到3,然后使用"scatter3“函数。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23961593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档