Weka3.5中使用LibSVM
来源:互联网 发布:js数组去重和排序 编辑:程序博客网 时间:2024/05/16 15:14
Weka中并不是没有SVM算法,Weka中有SMO算法的实现。LibSVM运行的比Weka里的SMO快的多,如果你敢用SMO算法去训练大数据集,你就明白天荒地老的真实含意了。其它和Weka结合的最主要的原因,我认为是,我们开始的时候往往都是用别的算法去试着做实验的(或者本来就需要多种基分类器),比如Naïve Bayes(LibSVM是比SMO快的多,可是比起来Naïve Bayes,它还是蜗牛),到最后又想试试LibSVM,这时就需要LibSVM库。
Weka3.5后增加了libsvm这个选项,在分类器中的functions下面。但是,试图运行的时候,系统提示:Problem evaluating classifier:libsvm classes not in CLASSPATH。这是因为Weka只是提供了Libsvm的Wrapper调用机制,必须要安装Libsvm后将附带的jar路径添加到Weka的启动路径中。怎么解决呢?我的Weka版本较新(3.5.7),不过我的方法适用于3.5以上的所有版本。
第一种:首先,在http://www.cs.iastate.edu/~yasser/wlsvm/上下载wlsvm.zip的压缩包,解压后将WLSVM \ lib 文件夹下的libsvm.jar 和wlsvm.jar 两个文件放到weka的安装目录下。
然后,在weka的安装目录下打开runweka.ini这个文件,把
cmd_default=javaw -Xmx#maxheap# -classpath "%CLASSPATH%;#weka.jar#" #mainclass# 修改为
cmd_default=javaw -Xmx#maxheap# -classpath "%CLASSPATH%;#weka.jar#;wlsvm.jar;libsvm.jar" #mainclass# (注:其实3.4版本是要将wlsvm.jar加进去的,但3.5版本就没有必要了,只用加libsvm.jar就好了)。
最后,直接运行runweka.bat,再打开Explorer,可以在Classify的Classifier-function中找到LibSVM,像使用其它Classifier一样使用它就可以了。这样LibSVM就成功的集成到Weka了。
第二种:设置libsvm的路径之类的,在环境变量里设置ClassPath。
另一种用法,下载WLSVM,解压后Lib文件夹下有一个LibSVM.jar的包,用和导入Weka.jar包相同的方式导入就好了,然后使用LibSVM和使用以前任何一种分类器的方式都是一样的。
LibSVM classifier =newLibSVM();
classifier.buildClassifier( instances );
Evaluation evaluation =newEvaluation( ins );
evaluation.crossValidateModel(classifier, ins, 10, random);
System.out.println("正确率为:"+ ( 1 - evaluation.errorRate() ) );
- Weka3.5中使用LibSVM
- Weka3.5中使用LibSVM
- Weka3-8安装libsvm
- 如何在weka3-6版本中libsvm的方法
- Linux 下weka3.8中引用libsvm库
- weka3.7.2版本及以上使用package manager安装libsvm
- WEKA3.8 导入libsvm的方法
- WEKA3.8 导入 libsvm 和 liblinear 包
- Weka中使用libsvm
- Weka中使用LibSVM
- Weka中使用libsvm
- matlab中使用libsvm
- java中使用libsvm
- python中使用libsvm
- matlab中使用libsvm
- Python中使用libsvm
- MATLAB中使用libsvm
- Matlab中使用LIBSVM
- 时间复杂度
- 安装qt
- Eclipse CDT using MinGW does not output in console
- 分布式计算
- Git详解之九:Git内部原理
- Weka3.5中使用LibSVM
- 今天开始学Python(映射、过滤list和连接list)
- 关于 Java 性能方面的 9 个谬论
- java基础——集合
- 为你的应用准备最佳负载测试的 9 个技巧
- 捕获图片,捕获桌面屏幕,然后存储到文件中
- 进程与线程
- Java基础之ArrayList与LinkedList、Vector,以及HashMap与HashTable的区别
- 移植GAlib2.4.7到Visual Studio 2008