全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
5437 11
2014-08-18
悬赏 100 个论坛币 已解决
先输入sample是一个123乘以2矩阵,training是一个55乘以2的矩阵,
group=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 ]
class=classify(sample,training,group,'mahalanobis')
出现错误如下:??? Error using ==> classify at 149
The length of GROUP must equal the number of rows in TRAINING.
哪里出现错误?
我想先说明一下我的本意:把我的123乘以2的sample矩阵运用最小马氏距离的判别法判别到55乘以2的training矩阵中,这样对不对呢?应该怎么做呢?

最佳答案

colinxf 查看完整内容

classify 时一个把样品分类的命令。也就是说:已知training中每一行的数据属于哪个类别,classify时把样本sample中的每一行按照training中的已知分类规则,进行分类。 你的group由55类,training只有55行,所以每一类在training的的标准只有一个,所以会出现Each group in TRAINING must have at least two observations.的错误,无法对sample进行准确的分类。给一个MATLAB能运行的程序,里面我是随机的对training分为了3类 ...
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-8-18 19:29:56
classify 时一个把样品分类的命令。也就是说:已知training中每一行的数据属于哪个类别,classify时把样本sample中的每一行按照training中的已知分类规则,进行分类。
      你的group由55类,training只有55行,所以每一类在training的的标准只有一个,所以会出现Each group in TRAINING must have at least two observations.的错误,无法对sample进行准确的分类。给一个MATLAB能运行的程序,里面我是随机的对training分为了3类,仅供参考。
   希望对你有所帮助
附件列表

clssify.txt

大小:4.03 KB

 马上下载

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-8-18 20:03:52
按错误提示来看,是要确保group行数=training行数
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-8-18 20:08:46
把group转置以下,即group=group‘;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-8-19 13:41:03
自己顶一下
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-8-20 18:09:10
colinxf 发表于 2014-8-18 20:08
把group转置以下,即group=group‘;
还是不对,老出错,你能不能帮我编这个程序呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群