LibSVM格式简介和利用Excel与CSV/XLS格式转换

最近在spark上研究决策树类算法,发现给的决策树的demo使用到了libsvm dataset,便查阅了相关的资料。相关内容如下:

1、什么是libsvm

LIBSVM是台湾大学林智仁(Lin Chih-Jen)教授等开发设计的一个简单、易于使用和快速有效的SVM模式识别与回归的软件包,他不但提供了编译好的可在Windows系列系统的执行文件,还提供了源代码,方便改进、修改以及在其它操作系统上应用;该软件对SVM所涉及的参数调节相对比较少,提供了很多的默认参数,利用这些默认参数可以解决很多问题;并提供了交互检验(Cross Validation)的功能。

2、libsvm使用的数据格式

数据基本格式如下:

<label> <index1>:<value1> <index2>:<value2>

Label代表类别标识,比如对于某个对于一个坐标点进行二元分类问题,以对角线作为分界线,靠近y正半轴区域为正,使用1代表,反之为0,则对于(1,5)点,代表的是正,label应该为1。对于(4,1),代表的是0。因此上述两组数据可以表示为以下格式:

1 1:1 2:5
0 1:4 2:1

对于某个三维问题则可能会生成以下结果:

1 1:0 2:4 3:4

可以看出index跟维数对应。

3、如何生成libsvm格式数据

数据有很多存储格式,txt格式,xls格式,data格式,csv格式等等,这些数据格式之间都可以互相转换,在此介绍一下xls如何生成libsvm格式的数据。
生成libsvm数据有两种方法,在此介绍使用FormatDatalibsvm工具,因为这种方法直观简单,效率高,方便易行。其实只是利用了excel的宏。
①下载FormatDatalibsvm.xls
这个东西比较隐蔽,很多之前的链接都不在了,找了很久最后还是在CSDN上找到了,地址如下:
http://download.csdn.net/download/wangwenjinghenhao/3139540
向分享者表示感谢。
②准备好Excel数据集
如果是csv格式的可以先通过Excel转换成.xls格式,具体方法见下面的第4点。
③打开FormatDatalibsvm.xls
注意上方会出现一个框框提醒你宏已经被禁用,一定要点击更改,启用宏。
④加载data
可以直接将数据复制到topleft单元格,注意复制的时候只复制数据区域相关的属性不要复制进去,否则会崩溃。
⑤转换
在Excel界面点击
“工具”–>”宏”–>”宏”–>FormatDatatoLibsvm–>执行
可以看到数据在进行转换和移动,稍等一下就可以看到数据变成了libsvm格式。

4、csv和xls转换

有时候一开始拿到的数据时csv格式的,想把它转换成Excel原始格式,可以按照以下方式进行:
①打开Excel,新建一空白文档。
②在界面中单击“数据”–>“自文本”。找到并选中csv文件“源文件.csv”,单击“导入”。
操作会弹出一个窗口,不用做任何操作,点击下一步。
③在下一个界面根据分隔符类型选择相应符号,如逗号、分号等,选择后点击下一步
④接着点击下一步,如果需要更改数据格式可做调整。
⑤点击完成,弹出一个窗口,选择数据的存放位置,完成操作,可以看到数据变成了最原始的xls格式。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值