《量化投资:以MATLAB为工具》

MATLAB技术论坛

 找回密码
 注册账号
查看: 1557|回复: 6
收起左侧

[提问] fcm的问题,急,在线等

[复制链接]
发表于 2012-5-22 19:46:58 | 显示全部楼层 |阅读模式
1贝壳
用fcm函数分完类后怎么判别原来的样本是属于哪个类??

 楼主| 发表于 2012-5-22 19:53:51 | 显示全部楼层
求来人啊、。。
回复

使用道具 举报

发表于 2012-8-2 13:00:11 | 显示全部楼层
应该是从求解返回值中的U这一部分看吧。
回复

使用道具 举报

发表于 2013-4-8 13:36:26 | 显示全部楼层
顶楼上的,我也是这么认为
回复

使用道具 举报

发表于 2018-3-19 10:52:41 | 显示全部楼层
比如说你的标准数据是一个9行5列的数组,最后要对一个一行5列的数据进行分类,放入FCM中,注意()中最后一个数是九,生成一个5行10列的矩阵,最后一列矩阵代表着待测矩阵,这一列中每一行都代表关联度,你找这一列的最大值,这一行中前九列里那一列的数字在这一列中最大,就对应那一列。
回复

使用道具 举报

发表于 2018-3-19 11:03:52 | 显示全部楼层
a=[46.1        21.5        61.5        15.8        1.2
    195.8        14.5        11.6        2.4        0.7
    1300        110        137        52        22.2
    345        112.25        27.5        51.5        58.75
    59        28        9        70        15
    120        120        33        84        0.55
    102        168        597        35        0
    144        755        248        500        1
    164        244        103        497        8.3];%标准数据,9类
  b=[12 34 65 67 34];%待测数据
  q=[a;b];%放入一个矩阵
  [center,U]=fcm(q,9,100);%fcm聚类
  [y,w]=size(U);%U为聚类结果
  % 通过for循环计算代表待测数据的一列与前几列的欧氏距离
for i=1:w-1;
    j=1:y;
    x=U(j,i)-U(j,w);
    r(i)=sqrt((min(x)^2));
end
z=[r(1) r(2) r(3) r(4) r(5) r(6) r(7) r(8) r(9)];
bar(z);
% 欧氏距离最小的一列就是待测数据所在的类别
[value col]=min(z);
D=col
给你个代码,有注释
回复

使用道具 举报

发表于 2018-3-20 10:01:45 | 显示全部楼层
for i=1:w-1;
    x=U(:,i)-U(:,w);
    g=sqrt(x.^2);
    r=[r g];
end
我又看了看,关于欧氏距离的那个FOR循环有错误,这是改的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|网站地图|MATLAB技术论坛|Simulink仿真论坛 ( 蜀ICP备19014457号 

GMT+8, 2019-7-23 19:30 , Processed in 0.084228 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表