机器学习-线性的训练输出



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

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

唯一的问题是在训练阶段之后我无法获得模型,我的命令行看起来像这样:

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

训练完成后,我有了精度估计,但是当我看*。模型文件使用它对我的测试集,我只是找不到它。

你认为这是软件包中的错误还是我在这里缺少了什么?

感谢

Rad

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

如果你想输出模型,那么不要使用-v 5。在这种情况下,它不会输出训练误差。但是你可以使用线性预测来估计测试集上的误差。

我通常直接在代码上使用库,但我认为在您的情况下,没有执行训练,因为您正在使用选项-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)

希望这能奏效

最新更新