Matlab预测函数不起作用

时间:2015-10-23 12:17:06

标签: matlab svm training-data

我正在尝试在具有100个维度的数据上训练线性SVM。我有80个培训实例。我在MATLAB中使用fitcsvm函数训练SVM,并在训练数据上使用predict检查函数。当我使用SVM对训练数据进行分类时,所有数据点仅被分类为一个类。

SVM = fitcsvm(votes,b,'ClassNames',unique(b)');
predict(SVM,votes);

这将输出为全0,对应于第0类。 b包含1和0,表示每个数据点所属的类。 使用的数据,即矩阵votes和向量b,给出以下link

1 个答案:

答案 0 :(得分:2)

确保使用非线性内核,例如高斯内核,并调整内核的参数。作为一个起点:

SVM = fitcsvm(votes,b,'KernelFunction','RBF', 'KernelScale','auto');
bp = predict(SVM,votes);

表示你应该在训练集和测试集中分割你的集合,否则你可能会过度拟合