1. 批量分类
String[] trainArg = { "trainingSet.txt", "train_model" };
svm_train.main(trainArg);
String[] testArg = { "trainingSet.txt", "train_model","predictLabel.txt" };
svm_predict.main(testArg);
2.单个样本实时分类
假设model已经按照1中的方式训练好了。
public int getModelKind(double []feature) {
int modelKind = 0;
svm_node[] arrayOfsvm_node = new svm_node[feature.length];
for (int i = 0; i < arrayOfsvm_node.length; i++) {
<span style="white-space:pre"> </span>arrayOfsvm_node[i] = new svm_node();
arrayOfsvm_node[i].index = i;
arrayOfsvm_node[i].value = feature[i];
}
try {
<span style="white-space:pre"> </span>svm_model localsvm_model = svm.svm_load_model("train_model");
double kind = svm.svm_predict(localsvm_model, arrayOfsvm_node);
System.out.println("kind1: " + kind);
modelKind = (int) kind;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return modelKind;
}