我正在进行肝肿瘤分类项目。实际上我最初使用区域生长方法进行肝脏分割,并使用FCM分割肿瘤。 然后,我使用Gray Level Co-occurence Matrix获得纹理特征。我的输出是
stats =
autoc: [1.857855266614132e+000 1.857955341199538e+000]
contr: [5.103143332457753e-002 5.030548650257343e-002]
corrm: [9.512661919561399e-001 9.519459060378332e-001]
corrp: [9.512661919561385e-001 9.519459060378338e-001]
cprom: [7.885631654779597e+001 7.905268525471267e+001]
现在我应该如何将其作为SVM程序的输入。
function [itr] = multisvm( T,C,tst )
%MULTISVM(2.0) classifies the class of given training vector according to the
% given group and gives us result that which class it belongs.
% We have also to input the testing matrix
%Inputs: T=Training Matrix, C=Group, tst=Testing matrix
%Outputs: itr=Resultant class(Group,USE ROW VECTOR MATRIX) to which tst set belongs
%----------------------------------------------------------------------%
% IMPORTANT: DON'T USE THIS PROGRAM FOR CLASS LESS THAN 3, %
% OTHERWISE USE svmtrain,svmclassify DIRECTLY or %
% add an else condition also for that case in this program. %
% Modify required data to use Kernel Functions and Plot also%
%----------------------------------------------------------------------%
% Date:11-08-2011(DD-MM-YYYY) %
% This function for multiclass Support Vector Machine is written by
% ANAND MISHRA (Machine Vision Lab. CEERI, Pilani, India)
% and this is free to use. email: anand.mishra2k88@gmail.com
% Updated version 2.0 Date:14-10-2011(DD-MM-YYYY)
u=unique(C);
N=length(u);
c4=[];
c3=[];
j=1;
k=1;
if(N>2)
itr=1;
classes=0;
cond=max(C)-min(C);
while((classes~=1)&&(itr<=length(u))&& size(C,2)>1 && cond>0)
%This while loop is the multiclass SVM Trick
c1=(C==u(itr));
newClass=c1;
svmStruct = svmtrain(T,newClass);
classes = svmclassify(svmStruct,tst);
% This is the loop for Reduction of Training Set
for i=1:size(newClass,2)
if newClass(1,i)==0;
c3(k,:)=T(i,:);
k=k+1;
end
end
T=c3;
c3=[];
k=1;
% This is the loop for reduction of group
for i=1:size(newClass,2)
if newClass(1,i)==0;
c4(1,j)=C(1,i);
j=j+1;
end
end
C=c4;
c4=[];
j=1;
cond=max(C)-min(C); % Condition for avoiding group
%to contain similar type of values
%and the reduce them to process
% This condition can select the particular value of iteration
% base on classes
if classes~=1
itr=itr+1;
end
end
end
end
请指导我。
图片:
答案 0 :(得分:0)
您必须获取所有您获得的特征值,并将它们连接成一个特征向量。然后对于SVM,应该对特征进行规范化,以便每个维度中的值在-1和1之间变化,如果我没记错的话。我认为libsvm具有进行规范化的功能。
因此,假设您的特征向量最终具有N个维度,并且您有M个训练实例,则您的训练集应为M×N矩阵。然后,如果您有P个测试实例,那么您的测试集应该是P x N矩阵。
答案 1 :(得分:0)
我还建议你一个非常流行的SVM实现,称为SVMLight http://svmlight.joachims.org/。
您可以在网站上找到有关如何使用它的示例。也可以使用Mex-matlav包装纸。
正如Dima所指出的,你需要连接这些功能吗?
你能告诉我你用于肝肿瘤分类的数据集吗? 它是否可以公开下载?