如何在libsvm中创建训练和测试文件的源数据文件?

时间:2016-09-07 02:15:26

标签: algorithm machine-learning svm libsvm

我想使用数据集来训练模型。数据集具有三种不同类型的生理数据。类型1,类型2和类型3. libSVM的格式如下: label index1:value1 index2:value2 ....

现在,我将类型1的标签设置为1,类型2标记为2,类型3标记为3.其中所有值保存为1 :(值)。所以,我的培训和测试文件如下。

1 1:值\ n 1 1:价值\ n 1 1:价值\ n 1 1:价值\ n 1 1:价值\ n 。 。 。 1 1:价值\ n 2 1:价值\ n 2 1:价值\ n 2 1:价值\ n 2 1:价值\ n 2 1:价值\ n 。 。 。 2 1:价值\ n 3 1:价值\ n 3 1:价值\ n 3 1:价值\ n 3 1:价值\ n 。 。 。 3 1:价值\ n

所以,我正在使用这种源文件跟踪svm并使用类似的源文件进行测试。我想确保我是否正确使用SVM数据格式。谢谢

1 个答案:

答案 0 :(得分:2)

LIBSVM的矢量数据集格式定义为

label feature_id1:feature_value1 feature_id2:feature_value2 ...

因此,每个特征(或值)需求都是自己的唯一标识符。

示例:

想象一下,您有三个不同的类标签1,2,3和一个由a(id=1),b(id=2),c=(id=3)组成的功能集,它是通过功能选择机制获得的。

所以,比方说,我们有三个数据点d1,d2,d3,我们想在我们的数据集中描述,例如:

2 1:0.5325 3:0.523

3 2:0.7853 3:0.6326

1 1:0.53265 2:0.5422

含义:

  • d1包含功能a(id=1)c(id=3)
  • d2包含功能b(id=2)c(id=3)
  • d3包含功能a(id=1)b(id=2)

请注意,没有必要为特征提供feature_id1:feature_value1,这些特征不包含在给定的数据点中。