我仍然对如何为Matlab中的Libsvm准备数据感到困惑,许多答案都不够全面,并且不清楚完成训练的确切要求是什么。
我有以下数据,现在在Excel中,我想知道下一步该怎么做:
lable words total_char domain len Ratio digit dash Jaccard String -1 0 0 11 0.0000 0 0 0.3444 uvcaylkgdpg-1 0 0 8 0.0000 0 0 0.2707 yqdqyntx-1 1 2 10 0.2000 0 0 0.1761 vzcocljtfi-1 0 0 8 0.0000 0 0 0.1919 wojpnhwk-1 0 0 9 0.0000 0 0 0.3475 plrjgcjzf 1 1 4 6 0.6667 0 0 0.4264 google 1 4 14 8 1.7500 0 0 0.3444 facebook 1 4 13 7 1.8571 0 0 0.2707 youtube 1 1 3 5 0.6000 0 0 0.1761 yahoo 1 1 3 5 0.6000 0 0 0.1919 baidu 1 0 0 9 0.0000 0 0 0.3475 wikipedia
这是我需要用来训练分类器的数据的一部分。
现在我想知道在Matlab中下一步该怎么做。我已经完成了以下步骤:安装了Libsvm,并且运行正常。我需要知道如何获得最佳结果以及如何正确调整参数以便绘制结果?
回答:
如你所说,接下来的一步是训练分类器或为未来的分类创建模型。也就是说,找到SVM模型的参数。你可以使用LIBSVM中的svmtrain
来训练模型。
例如,
model = svmtrain(TrainLabel, TrainVec, '-c 1 -g 0.00154');
你需要决定的参数是c和gamma。
之后的步骤是进行预测,你需要使用svmpredict
。
例如:
[predict_label, accuracy, dec_values] = svmpredict(TestLabel, TestVec, model);
希望这能帮助你继续你的进程。
阅读我对这个问题的回答:在使用libsvm进行交叉验证后的重新训练