1

我正在尝试 libSVM 包,使用 RBF 和线性分类,我遵循(我认为)他们的 README 文件中的所有建议。

我有一个大文件要训练(70K),所以我尝试使用 liblinear 而不是 RBF。

唯一的问题是在训练阶段后我无法获得模型,我的命令行如下所示:

./train -c 4 -v 5 -s 6 TrainingSet.scal TrainingSet.scal.Model

训练完成后,我得到了准确度估计,但是当我查看 *.model 文件以将其用于我的测试集时,我根本找不到它。

您认为这是包中的错误还是我在这里遗漏了什么?

谢谢

辐射

4

2 回答 2

2

选项 -v 5 表示您正在对训练集进行 5 倍评估。如果启用此选项,则 liblinear 使用 5 倍评估估计错误并且不输出模型。

如果要输出模型,则不要使用 -v 5。在这种情况下,Tt 不会输出训练错误。但是您可以使用 liblinear-predict 来估计测试集上的错误。

于 2013-02-28T23:16:38.823 回答
0

我通常直接在代码上使用该库,但我认为在您的情况下没有执行培训,因为您使用的是我认为未定义的选项 -s 6。

这是用法:

` -s svm_type : 设置 SVM 的类型(默认 0)

0 -- C-SVC      (multi-class classification)
1 -- nu-SVC     (multi-class classification)
2 -- one-class SVM  
3 -- epsilon-SVR    (regression)
4 -- nu-SVR     (regression)

` 您还省略了内核类型

-t kernel_type : set type of kernel function (default 2)
0 -- linear: u'*v
1 -- polynomial: (gamma*u'*v + coef0)^degree
2 -- radial basis function: exp(-gamma*|u-v|^2)
3 -- sigmoid: tanh(gamma*u'*v + coef0)
4 -- precomputed kernel (kernel values in training_set_file)

希望这会成功。

于 2013-02-27T20:52:44.600 回答