LibSVM练习
一、下载LibSVM
在https://www.csie.ntu.edu.tw/~cjlin/libsvm/中下载
解压后的libsvm如下图所示:
点击windows文件夹,在文件夹中找到名为svm-toy.exe的运行程序并运行,手动绘制数据集的点:
再添加一些数据并save为train.txt:
在IDEA中导入livsvm中的文件:
导入后项目如图所示:
在“test1”中添加如下代码:
package test;
import java.io.IOException;
public class test1 {
public static void main(String args[]) throws IOException {
//存放数据以及保存模型文件路径
String filepath = "D:\\ai\\text\\";
String[] arg = {"-s","0","-c","10","-t","0",filepath+"train.txt",filepath+"line.txt"};
String[] arg1 = {filepath+"test.txt",filepath+"line.txt",filepath+"predict1.txt"};
System.out.println("----------------线性-----------------");
//训练函数
svm_train.main(arg);
svm_predict.main(arg1);
arg[5]="1";
arg[7]=filepath+"poly.txt";//输出文件路径
arg1[1]=filepath+"poly.txt";
arg1[2]=filepath+"predict2.txt";
System.out.println("---------------多项式-----------------");
svm_train.main(arg);
svm_predict.main(arg1);
arg[5]="2";
arg[7]=filepath+"RBF.txt";
arg1[1]=filepath+"RBF.txt";
arg1[2]=filepath+"predict3.txt";
System.out.println("---------------高斯核-----------------");
svm_train.main(arg);
svm_predict.main(arg1);
}
}
运行后:
在D:\ai\text目录下生成了如下几个文件:
line,poly,RBF是使用LibSVM工具进行线性,多项式,高斯核这三种分类训练后得到的数据文件,文件内容如下:
决策树的数学公式:
f(x)=SV*x+rho
二、总结
本文章粗略地介绍了Libsvm工具,使用LibSVM工具进行线性、多项式、高斯核这三种分类训练,能够直接清晰地界面和输出。使用十分简便。