Java程序通过weka调用libsvm和liblinear的方法

http://blog.csdn.net/felomeng/article/details/5194824

Java程序通过weka调用libsvm的方法》一文阐述了调用LibSVM的简单方法,这里主要补充四点:

1.       LibSVM在weka3.5版以后都集成了包装,无须再使用WLSVM,所以上文中的WLSVM相关的内容可以去除,而类型WLSVM可以换成LibSVM,需要添加包

import weka.classifiers.functions.LibSVM;

无须再使用import wlsvm.WLSVM;

2.       LibLINEAR占用内存小,可以在大数据集大特征量的情况下使用,调用方法与LibSVM相同,不同的就是把类LibSVM换成LibLINEAR(同时,加载的jar包为LibLINEAR,加载方法见《eclipse下使用java调用weka》下载地址:http://download.csdn.net/source/1998016)。

3.       参数设置

m_classifier.buildClassifier(instancesTrain); //训练

前添加:

String[] options=weka.core.Utils.splitOptions("-S 0 -K 2 -D 3 -G 0.0 -R 0.0 -N 0.5 -M 40.0 -C 1.0 -E 0.0010 -P 0.1 -B 0");

m_classifier.setOptions(options);

4.       分类器序列化与反序列化(保存与读取)

weka内置了序列化类,只要使用:

weka.core.SerializationHelper.write(“E:/model”, m_classifier);

就可以保存模型了,使用时只要再使用下面语句读取出来(以LibSVM为例):

Classifier classifier=(LibSVM)weka.core.SerializationHelper.read(“E:/model”);

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值