制作LibSVM数据格式

 使用LibSVM时,通常要制作自己的数据集,网上有一些教程,但写得不算全面,所以在这里做个小小的总结。

 先看看官方给出的数据格式是怎样的:

制作LibSVM数据格式_第1张图片

 heart_scale_instance是训练样本,它是一个sparse matrix,在matlab中可以使用sparse(A)将一个普通的矩阵转换成稀疏矩阵;heart_scale_label是训练标签,是一个向量。下面具体介绍如何得到类似heart_scale_instance和heart_scale_label的数据。

 1、参考LibSVM官网 https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/binary/australian ,j将训练集的数据用txt文件整理好(标签[两个空格]1:数据1[一个空格]2:数据2...d:数据d),d是特征的维数。下图是我根据《机器学习》的西瓜3a数据集整理成的可用libsvmread()函数读取的txt文件。

制作LibSVM数据格式_第2张图片

 2、用libsvmread()函数读取该txt文件,就可以得到训练集的instance和label,接下来就可以利用svmtrain()函数和svmpredict()函数进行一些简单的实现了。

制作LibSVM数据格式_第3张图片

 总体来说还是非常简单、好用的。

你可能感兴趣的:(Matlab)