用LibSVM制作鸳尾花数据集
下载地址: 提取码:1qkk
解压后在windows文件夹下打开svm-toy.exe:
(可以Run一次)之后点击save,保存为first.txt:
之后再添加一些数据并save为second.txt:
之后打开IDEA创建项目:
之后将 libsvm-3.25\java\libsvm 路径下所有文件放入java项目src文件下libsvm文件中,libsvm-3.25\java部分文件复制到java项目src文件下test文件中,包括:
之后在test文件下新建类Test:
Test代码:
package test;
import java.io.IOException;
public class Test {
public static void main(String args[]) throws IOException {
//存放数据以及保存模型文件路径
String filepath = "D:\\rengongzhineng\\";
String[] arg = {"-s","0","-c","10","-t","0",filepath+"first.txt",filepath+"line.txt"};
String[] arg1 = {filepath+"second.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);
}
}
运行前修改文件路径,该文件路径为之前的first.txt和second.txt路径,并检查svm_train和svm_predict文件中是否有包名。
运行可以得到:
决策树的数学公式:
f(x)=SV*x+rho
总结
使用LibSVM工具进行线性、多项式、高斯核这三种分类训练,能够直接清晰地界面和输出。