MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [MATLAB工具箱] 关于MATLAB中svmtrain使用方法 (https://www.labfans.com/bbs/showthread.php?t=20753)

nano_zombie 2015-03-07 23:38

关于MATLAB中svmtrain使用方法
 
最近用svm做分类,一直不知道下面的程序错在哪里,还望指教
[CODE]function p=dividetest(datatrain,datatest,order)
%本函数用来对MASTAR里的SAR图像进行分类
%p=dividetest(datatrain,datadivide)
%输入:datatrain 训练样本数据 由dataread读取
% :datadivide 测试样本数据 由datadivide读取
% :order 进行分数阶变换的阶数
%输出:p 分类成功率
%计算训练样本的分数阶傅里叶变换,并计算Hu矩
n=size(datatrain,1);
hudatatt=zeros(n,7); %hu of datatrain's transform
for i=1:n
hudatatt(i,:)=Hu(DTFrFT2(abs(datatrain{i,1}),order));
end
%训练svm
svmStruct=svmtrain(hudatatt,datatrain{:,2});
%计算测试样本的分数阶傅里叶变换,并计算Hu矩
m=size(datatest,1);
hudatadt=zeros(m,7); %hu of datadivide's transform
for i=1:m
hudatadt(i,:)=Hu(DTFrFT2(abs(datatest{i,1}),order));
end
C=svmclassify(svmStruct,hudatadt);
p=1-sum(datatest~=C)/m;[/CODE]
报错信息是:
Error using svmtrain (line 253)
Y and TRAINING must have the same number of rows.
其中datatest,dataread是原胞数组,第二列存的的都类型信息;


所有时间均为北京时间。现在的时间是 04:55

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.