最近使用weka的一些分类器训练了一些样本,样本集很小,时间也就短,如果样本集很大,训练时间长的话,不可能每次都训练一次,于是便想把训练好的模型保存到硬盘上。做了个实验,已通过。
训练集使用的weka自带的数据集weather.nominal.arff,分类算法使用的svm。
使用序列化的方式将建立好的模型保存到文件名为svm.model中。
package
spider.classification;
import
java.io.FileInputStream;
import
java.io.FileOutputStream;
import
java.io.FileReader;
import
java.io.IOException;
import
java.io.ObjectInputStream;
import
java.io.ObjectOutputStream;
import
java.io.Serializable;
import
weka.classifiers.Classifier;
import
weka.classifiers.functions.LibSVM;
//
import weka.classifiers.functions.SMO;
import
weka.core.Instance;
import
weka.core.Instances;

/** */
/**
*
* Weka LibSVM (WLSVM) combines the merits of the two tools.
* WLSVM can be viewed as an implementation of
* the LibSVM running under Weka environment.
* @author iceshirley
* @version 1.0
*
*/

public
class
SVM
implements
Serializable
...
{


/** *//**
*
*/
private static final long serialVersionUID = 1L;
private String TrainingDateFile = "trainingdata/weather.nominal.arff";
private LibSVM svm;
private Instances inst = null;

public SVM()...{
svm=new LibSVM();
}
public SVM(String [] ops)...{
svm=new LibSVM();
Setoption(ops);
}

public void EvaluationClassifier(String[] option) ...{

try...{
System.out.println(weka.classifiers.Evaluation.evaluateModel(
this.svm, option));
}catch(Exception e)...{
e.printStackTrace();
}
}
public
1075



被折叠的 条评论
为什么被折叠?



