首先,对于所有分类器,先将数据属性归一化。
在下文中,训练数据标签为train_label (nx1向量,n为训练样本数量),训练数据属性为train_data(nx4矩阵,n为训练数据数量);
测试数据标签为test_label (nx1向量,n为测试样本数量),测试数据属性为test_data(nx4矩阵,n为测试数据数量);
1.SVM
训练及分类语句:
result = multisvm(train_data, train_label, test_data)
2.RBF
训练集为20,测试集为40时,准确率为50%左右
训练集为40,测试集为20时,准确率可达90% (如果可以,建议交换一下测试集合和训练集)
首先将标签转化为向量表示:
0-[1,0,0,0,0]
2-[0,1,0,0,0]
4-[0,0,1,0,0]
6-[0,0,0,1,0]
8-[0,0,0,0,1]
上述转换可以通过以下程序实现:
label = zeros(40,5);
for i = 1 : 40