4

libsvmread命令的第二个输出是每个给定训练示例的一组特征。

例如,在以下 MATLAB 命令中:

[heart_scale_label, heart_scale_inst] = libsvmread('../heart_scale');

第二个变量 (heart_scale_inst) 以我不理解的形式保存内容,例如:

<1, 1> -> 0.70833

它的意义是什么?它是如何使用的(我无法绘制它,它的样子)?

PS。如果有人可以推荐一个好的 LIBSVM 教程,我将不胜感激。我没有发现任何有用的东西,而且 README 文件也不是很清楚......谢谢。

4

2 回答 2

8

LIBSVM 初学者的权威教程称为:支持向量机分类实用指南,可从 LIBSVM 的作者网站获得。

返回的第二个参数称为实例矩阵。它是一个矩阵,我们称它为 M,M(1,:) 是数据点 1 的特征,以此类推。矩阵是稀疏的,这就是为什么它会奇怪地打印出来。如果您想看到它完全打印完整(M)。

[heart_scale_label, heart_scale_inst] = libsvmread('../heart_scale');

使用 heart_scale_label 和 heart_scale_inst 您应该能够通过发出以下命令来训练 SVM:

mod = svmtrain(heart_scale_label,heart_scale_inst,'-c 1 -t 0');

我强烈建议您阅读上面的链接指南以了解如何设置 c 参数(并且可能在 RBF 内核的情况下设置 gamma 参数),但上面的行是您将如何使用该数据进行训练。

于 2013-11-12T05:20:16.840 回答
-1

我认为这是测试用例被预测为 heart_scale 标签类别的概率

于 2013-11-11T18:55:45.503 回答