我的项目是在 MATLAB 中使用 SVM 分类器进行急性中风分类。
下面的截图显示了使用被称为 svm 分类器训练数据的 glcm 对急性中风(21 名患者)和正常脑(6 名患者)进行的 13 个特征提取。
以下屏幕截图显示了Y
一组训练数据。
这是我正在使用的代码,它显示错误。
Load Trainset.mat
data = new_var;
group = label;
SVMStruct = svmtrain(data, group, 'kernel_function', 'linear');
newClasses = svmclassify(SVMStruct, texturedata, 'showplot', true);
%To plot classification graphs, SVM can take only two dimensional data
data1 = [new_var(:, 1), new_var(:, 2)];
newfeat = [texturedata(:, 1), texturedata(:, 2)];
SVMStruct_new =
svmtrain(data, group, 'kernel_function', 'linear', 'showplot', true);
%species_Linear_new = svmclassify(SVMStruct_new, newfeat, 'showplot', true);
警告:Y 包含未出现在 Y 元素中的分类级别。出于训练分类器的目的,这些级别将被忽略。在 277 的 svmtrain
使用 svmtrain 时出错(第 335 行) Y 必须恰好包含两个用于方法“SMO”的组。
我认为这是因为该行被忽略的价值0
和正常大脑。NAN
所以我的问题是:我应该怎么做才能包含该行,或者它绝对不适用于此代码?