我的项目是使用MATLAB中的SVM分类器进行急性脑卒中分类。使用GLCM特征的SVM分类器
下面的屏幕截图显示了使用glcm(其被称为svm分类器的训练数据)的13个特征提取急性脑卒中(21个患者)和正常脑(6个患者)。
以下屏幕截图显示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的元素绝对水平。 在svmtrain at 277
使用svmtrain时出错(第335行) Y必须包含方法'SMO'的恰好两个组。
我认为这是因为正常大脑的值0
和NAN
该行被忽略。所以我的问题是:我应该怎么做才能包含这一行,或者它绝对不适用于此代码?
怎样的方式,我可以得到更好的数据集?我怎么能用正确的方式计算glcm?请问你能给我先生的方式吗?对于急性脑卒中,我使用glcm提取急性脑卒中的参考图像,而对于健康的脑卒中,我使用黑色图像,因为我虽然在对正常图像进行分割时结果使图像变黑,因为没有脑卒中。 –
使用黑色图像不起作用。我不知道你如何获得更好的数据集。这是你必须解决的问题 – harshkn
或者我可以将双数组转换为其他参数? –