如何在weka3-6版本中libsvm的方法

来源:互联网 发布:js ajax提交文件上传 编辑:程序博客网 时间:2024/05/17 03:47

最近在做一些有关于数据扰动然后验证扰动结果的工作,为了用SVM验证扰动的结果是否和未扰动的结果差距是否符合要求,专门学习了一段关于支持向量机的内容。以前用过WEKA,所以觉得它的界面很熟悉,所以就专门搜索了关于怎样把libsvm加入到weka中。特总结如下

 

第一:有关于SVM的软件很多,在这个http://www.support-vector-machines.org/SVM_soft.html网站上面介绍的很全,有兴趣可以去选择适合自己的版本。

 

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

 

软件安装步骤:

 

第一步,下载weka安装包,该压缩包可以在http://www.cs.waikato.ac.nz/ml/weka/ 上下载。

第二步,下载wlsvm压缩包。该压缩包可以在http://www.cs.iastate.edu/~yasser/wlsvm/上下载。下载wlsvm.zip压缩包后,解压,然后将WLSVM lib 文件夹下的libsvm.jar 和wlsvm.jar 两个文件放到weka的安装目录下。
第三步,在weka的安装目录下打开runweka.ini这个文件,把
cmd_default=javaw -Dfile.encoding=#fileEncoding# -Xmx#maxheap# -classpath "#wekajar#;#cp#" #mainclass#
改成:
cmd_default=javaw -Dfile.encoding=#fileEncoding# -Xmx#maxheap# -classpath "#wekajar#;wlsvm.jar;libsvm.jar;#cp#" #mainclass#" 
第四步,再把紧跟后面的命令
cmd_console=cmd.exe /K start cmd.exe /K "java -Dfile.encoding=#fileEncoding# -Xmx#maxheap# -classpath "#wekajar#;#cp#" #mainclass#"
改成:
cmd_console=cmd.exe /K start cmd.exe /K "java -Dfile.encoding=#fileEncoding# -Xmx#maxheap# -classpath "#wekajar#;wlsvm.jar;libsvm.jar;#cp#" #mainclass#"
第五步,保存该文件
第六步,直接运行runweka.bat,再打开Explorer,可以在Classify的Classifier-function中找到LibSVM,像使用其它Classifier一样使用它就可以了。这样LibSVM就成功的集成到Weka了。