LIBSVM学习(三)数据格式

本文介绍了LIBSVM 310版本的数据格式,包括标签列和index:value的结构。讲解了libsvmread.c和libsvmwrite.c的功能,并提供MATLAB中使用这两个函数的示例。建议在使用LIBSVM时对数据进行归一化处理,以避免过拟合。还提到了数据转换工具FormatDataLibsvm.xls的局限性,推荐使用libsvmwrite函数进行转换。
摘要由CSDN通过智能技术生成

最近学习LIBSVM,下载了libsvm各种版本,本博客中使用310版本。

  1. LIBSVM数据格式

LIBSVM工具箱中集成了libsvm数据格式读取函数,在子目录matlab下,有源代码libsvmread.c和libsvmwrite.c。LIBSVM需要的数据格式如下:
0 1:-0.961538 2:-0.830769 # 标签列 index:value
0 1:-0.941545 2:-0.778706 # 均为归一化数据
0 1:-0.972158 2:-0.730858 #
1.1 libsvmread.c

打开README文档,发现对于libsvmread函数给出了具体用法。在libsvmread.c中也给出了“Usage”
void exit_with_help()
{
mexPrintf(
“Usage: [label_vector, instance_matrix] = libsvmread(‘filename’);\n”
);
} // label_vector:filename 第一列 , instance_matrix:特征数据
这是简单的应用,具体请看README或者libsvmread.c代码,这里不再赘述。
1.2 libsvmwrite.c

一般情况下,我们需要训练的是一组数据,想要使用LIBSVM还需要进行数据格式转换。使用matlab转换格式首先需要将输入数据转为矩阵,矩阵第一列为数据标签,使用libsvmwrite函数就可以成功转换。
网上有许多使用FormatDataLibsvm.xls工具的,但是又有人测试发现该工具只处理2000行一下数据,想要使用该工具的请参考

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值