我目前使用MATLAB版本的LIBSVM支持向量机来对我的数据进行分类.LIBSVM文档提到在应用SVM之前进行扩展非常重要,我们必须使用相同的方法来扩展训练和测试数据.
"相同的缩放方法"解释如下:例如,假设我们将训练数据的第一个属性缩放[-10, +10]
为[-1, +1]
.如果测试数据的第一个属性位于范围内[-11, +8]
,我们必须将测试数据缩放到[-1.1, +0.8]
[0,1]
可以使用以下MATLAB代码缩放范围内的训练数据:
(data - repmat(min(data,[],1),size(data,1),1))*spdiags(1./(max(data,[],1)-min(data,[],1))',0,size(data,2),size(data,2))
Run Code Online (Sandbox Code Playgroud)
但我不知道如何正确地扩展测试数据.
非常感谢您的帮助.
我应该在SVM和神经网络之间决定某些图像处理应用.分类器必须足够快,以便近实时应用,准确性也很重要.由于这是医疗应用,因此分类器具有低故障率是重要的.
哪一个是更好的选择?