5512 11

[问答] matlab判别分析程序出错,跪请高手解决,在线等好人出现! [推广有奖]

  • 2关注
  • 2粉丝

已卖:46份资源

大专生

98%

还不是VIP/贵宾

-

威望
0
论坛币
632 个
通用积分
0.2021
学术水平
4 点
热心指数
6 点
信用等级
2 点
经验
1857 点
帖子
58
精华
0
在线时间
56 小时
注册时间
2014-4-12
最后登录
2014-9-23

楼主
快乐的小愤青 发表于 2014-8-18 19:29:55 |AI写论文
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类 ...
关键词:MATLAB matla atlab 判别分析 分析程序 matlab 马氏距离 数据判别 好人

本帖被以下文库推荐

沙发
colinxf 学生认证  发表于 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类,仅供参考。
   希望对你有所帮助

藤椅
yuanxinqiang 发表于 2014-8-18 20:03:52
按错误提示来看,是要确保group行数=training行数

板凳
colinxf 学生认证  发表于 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‘;
还是不对,老出错,你能不能帮我编这个程序呢?

7
快乐的小愤青 发表于 2014-8-22 16:13:01
别沉下去啊

8
colinxf 学生认证  发表于 2014-8-25 10:41:02
快乐的小愤青 发表于 2014-8-20 18:09
还是不对,老出错,你能不能帮我编这个程序呢?
你给一下sample 和training的数据??

9
快乐的小愤青 发表于 2014-8-27 20:33:28
colinxf 发表于 2014-8-25 10:41
你给一下sample 和training的数据??
sample =

   -0.7321    0.1443
   -1.0828    0.9769
    0.3236   -1.5317
    0.2324   -2.7569
    0.2324   -2.7569
    0.0480   -0.5102
    0.2707    1.7788
    0.2199    0.5504
    0.2199    0.5504
   -0.0019   -1.4266
    1.2110    0.3827
    0.0380    0.3834
   -0.1953    0.6427
   -0.6446    0.1933
   -0.8359    0.1047
    0.9668    0.0360
    0.4356   -0.0267
    0.0779   -1.7893
    0.6538   -0.8283
    0.1756   -1.7325
   -0.5473   -1.1439
   -0.2634    1.0821
    0.7114   -1.4960
    0.7686   -1.0694
    1.3446    0.0795
   -0.3034   -1.5586
    0.5277   -2.0161
   -0.5473   -1.1439
    0.0847    0.9560
   -0.5298   -0.4950
    0.4157   -0.6520
    0.2137   -0.7269
    0.4157   -0.6520
    0.4157   -0.6520
    0.6726   -1.4089
   -0.2693   -0.1163
   -0.1102   -1.2488
   -1.6367    0.2380
    0.9216    0.9051
   -0.5139    0.5382
    0.6955    0.0391
    0.5461    0.4437
    0.7550    0.1731
    0.1442    0.6286
   -0.1005   -0.4966
   -0.3579    1.5899
    0.6747   -1.3784
   -0.6647   -0.0087
    0.0619   -0.3381
   -1.0828    0.9769
    0.1442    0.6286
    0.1442    0.6286
    0.6747   -1.3784
    0.0619   -0.3381
    0.0619   -0.3381
    0.3629    0.2527
    0.5128   -0.0570
    0.0331   -1.2193
    0.6753    0.5798
    0.6247   -0.5262
   -0.6678    0.5456
    0.6247   -0.5262
   -1.0585   -0.0149
   -0.6845   -0.7063
    0.6960    1.5600
    0.1282    1.0397
   -0.7329   -0.5177
   -0.6678    0.5456
    1.8376    1.7191
   -0.4810   -0.2928
   -1.0019   -0.0156
    0.2742   -1.0054
    1.0841   -0.6787
    0.7227   -1.9027
   -0.0975   -0.4776
   -0.8490   -1.1333
   -0.0070   -0.2679
    1.8376    1.7191
   -0.4276   -0.8970
   -0.6678    0.5456
   -0.7635    0.7342
   -0.7635    0.7342
   -0.3079   -0.1576
   -0.2092    0.5526
    0.1919    0.6018
    0.4190   -1.4504
   -0.2266   -1.4486
    0.3840    0.6052
   -0.3498   -0.2677
    0.2826   -1.0379
    0.4527   -0.2797
   -0.3686   -1.4690
    0.3485   -0.8335
    0.2871   -0.0800
   -0.6591    0.4353
    0.1581    0.4222
   -0.2054   -1.0274
    0.2871   -0.0800
    0.8684   -1.0937
   -0.0343   -0.3325
    0.5545   -0.5023
    0.3109   -0.0502
   -1.1162    0.7997
   -1.1450   -1.2697
    0.7492    0.3258
   -0.3024   -1.4486
   -0.5910   -0.0445
   -1.0211    0.5324
    0.6253    0.3683
    0.2199   -0.3809
    0.5821    0.5239
   -0.8153    0.1541
    0.3109   -0.0502
    0.2326   -0.1121
    0.3052    0.8642
    1.2209    0.0784
   -0.9547    0.0824
   -0.8979    0.4239
    1.6850    1.3775
    1.4144    0.4481
    0.6365    2.1483
    1.3977    1.7603
    1.6850    1.3775
training =

   -1.8340    0.4563
   -1.8340    0.4563
   -1.8340    0.4563
   -1.8340    0.4563
   -1.8340    0.4563
   -1.8340    0.4563
   -1.8340    0.4563
   -1.8340    0.4563
   -0.9526   -0.1539
   -1.3110   -1.5875
   -1.8340    0.4563
   -0.2745   -0.1118
   -0.6263   -1.1677
   -1.0505    0.0564
   -1.8340    0.4563
    0.0220    0.1884
   -0.2508   -0.4723
   -0.3812    0.6212
   -0.0208    0.0959
   -0.6263   -1.1677
   -0.4312    0.5055
    0.2175    0.2120
   -0.2508   -0.4723
   -0.1644    0.7908
    0.2175    0.2120
   -0.2508   -0.4723
    0.0152    1.3881
   -1.8340    0.4563
   -1.8340    0.4563
   -0.5920   -1.4840
   -0.9526   -0.1539
    0.1089   -1.5549
   -0.1323   -0.8179
    0.5400   -1.0113
    0.3822   -0.2330
    0.4021   -0.9725
    0.3305   -0.2883
    0.7938   -0.9870
    0.7296   -0.3768
    0.7938   -0.9870
    1.0171    2.7957
   -1.8340    0.4563
   -1.3110   -1.5875
   -0.3225   -1.4034
    0.1706   -0.2298
    0.0003   -0.5636
    0.3786    0.3273
    0.4943    1.1315
   -1.8340    0.4563
   -0.2625   -0.6471
    0.4283   -1.0825
    1.0900    0.1453
    0.9412    0.1878
    1.9451   -1.6112
    3.8268    0.4259
希望你的帮助,非常感激。

10
快乐的小愤青 发表于 2014-8-28 15:54:56
colinxf 发表于 2014-8-28 09:33
classify 时一个把样品分类的命令。也就是说:已知training中每一行的数据属于哪个类别,classify时把样本s ...
老师,classify这个问题,你这样编程确实是能出结果,但是不太符合我的研究意图啊,老师,我现在感觉是不是我这个问题不能用classify啊

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 17:55