使用GLCM功能的SVM分类器

时间:2017-04-23 02:33:31

标签: matlab image-processing svm feature-extraction glcm

我的项目是使用MATLAB中的SVM分类器进行急性脑卒中分类。

下面的屏幕截图显示了使用glcm对急性卒中(21例患者)和正常脑(6例患者)进行特征提取,这被称为svm分类器的训练数据。

features

以下屏幕截图显示了Y或一组训练数据。

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 277

     

使用svmtrain时出错(第335行)   Y必须包含两个方法'SMO'组。

我认为这是因为正常大脑的值0NAN被忽略的行。所以我的问题是:我该怎么做才能包含该行,或者它绝对不能用于此代码?

1 个答案:

答案 0 :(得分:0)

您的数据集不是很好。如果这是一个准确的数据集,您根本不需要机器学习。您只需使用一个功能,并通过检查是否为非零来预测急性卒中或健康状况。 (即健康,如果为零,急性中风,如果非零)。

我猜您没有健康患者的数据,因此您只是在您没有的数据中添加零。这没有意义。

是的,您的零和Nan和Inf是SVM需要学习的问题。但更大的问题是,即使你对它们进行预处理,由于我上面提到的原因,数据仍然无用。因此,请先尝试收集更好的数据,然后重新开始。

如果您可以发布一个正面和负面图像(健康而不健康),我可以告诉您哪些功能可能是好的开始。正如我看到GLCM不适合你的问题/你计算GLCM的方式可能不对。

希望这有帮助

相关问题