原创 使用宏命令FormatDataLibsvm.xls将数据转成LIBSVM格式

2013-12-17 22:53 2592 20 20 分类: 软件与OS

http://blog.sina.com.cn/s/blog_5980835e0100dioo.html

毕业设计做的是svm,虽然不是很新的东西,但是能把它弄懂也是好的。要加一点技术含量无非就是用一些搜素算法(遗传、蚁群。。。)加入svm去寻找最优的参数,对于本科生来说还能做一下前期的数据处理,当然是用一些统计方法咯,什么数据挖掘乱七八糟的网上套,没办法,中国的学术永远是这样,不会进步,看看神经网络在中国学术界盛行的时间之长就知道学术水平了,不想多说,只是想把我这次svm的经历写一下,确实学到了很多东西。

因为也是通过网上的论坛还有其他帖子看懂的,可是觉得他们还写的不够详细,或者我自己太笨,所以想详细点从头到尾说一下,还有不明白的尽管问。。。可以交流。

 

当然做svm首先就要把数据的格式处理好,这么多在excel里的数据用人工的方法输到txt里是不可能的,所以有两个办法:

1,自己编一个小程序(C足够了)说说简单,编起来还是很麻烦的,虽然我专业和cs密切相关,但是真的不会。。。我们惰性很强,有现成的第二个方法干嘛还吃力不讨好?

2,使用人家已经做好的一个类似于软件一样的FormatDataLibsvm.xls(里面包含一个宏命令),没有他你要苦一阵子。

BTY,这个软件不好找,网上看了很多帖子,都是不能下载的,在别人博客上跪求几天也没人给,最后还是在一个隐晦的小网站下载下来了。哎,中国人就这样,自己有的东西就是不想共享出来,搞个p的学术啊。。。真是无语,要的联系我。

 

其实这个软件就是一个excel工作薄,没什么奇特,打开它就会跳出来一个对话框,选“启用宏”就行了,其他不用管它,把你要的数据拷上去就好了,但是注意下格式,网上帖子也很多,照他们说的办吧。

1,先运行FormatDataLibsvm.xls然后将数据粘贴到sheet1的topleft单元。
    2,再"工具"-->"宏"-->执行下面有一个选项(FormatDatatoLibsvm)-->执行,要选中这个然后运行就可以了 ,这时数据转换的问题就解决了,可是现在生成的数据是.xls格式,它还是不能做为libsvm的训练文件啊!还需要怎么转换呢?

3,可以copy到一个记事本中即可。但是注意在用libsvm的时候要在命令行输入.txt后缀。 

注意,宏安全性应当设置为中或者低。输入数据的格式是

条件属性a  条件属性b  ...  决策属性
7    5    ...  2
4    2    ...  1

输出数据格式是

决策属性  条件属性a  条件属性b  ...
2    1:7    2:5    ...
1    1:4    2:2    ... 

P.S. 在第2步时,执行下面还有另一个选项(FormatDatafromLibsvm)这个可以把libsvm数据的格式重新转回来,转到你第1步时刚拷贝到excel里的数据形式。

 

文章评论0条评论)

登录后参与讨论
我要评论
0
20
关闭 站长推荐上一条 /2 下一条