一、LIBVIM下载与配置
官网下载链接:https://www.csie.ntu.edu.tw/~cjlin/libsvm/
划到最下方,选择需要的版本
点击下载压缩包
然后解压文件夹,得到如下目录,因为我用的java平台,所以选择第一个java文件夹并且打开
得到以下文件
在IDEA上创建项目,并导入文件
1.将libsvm文件夹复制到scr目录下
2.添加一个text的包和类,将以下文件导入包里
项目结构如下
二、使用LibSVM工具准备数据
选择windows文件夹,找到名为svm-toy.exe的运行程序并运行
点击程序屏幕,如图所示,汇置两次数据集的点,并点击save保存
第一次文件名train.txt
,第二次文件名test.txt
将两个文件复制在项目里
三、训练模型并写出决策函数的数学公式
将以下代码添加到Test类
package Test;
import java.io.IOException;
import java.sql.SQLOutput;
public class Test {
public static void main(String args[]) throws IOException {
String filepath = "E:\\LIBSVM_Work1\\";
String[] arg = {"-s","0","-c","10","-t","0",filepath+"train.txt",filepath+"text.txt"};
System.out.println("----------------线性-----------------");
svm_train.main(arg);
arg[5]="1";
arg[7]=filepath+"poly.txt";
System.out.println("---------------多项式-----------------");
svm_train.main(arg);
arg[5]="2";
arg[7]=filepath+"RBF.txt";
System.out.println("---------------高斯核-----------------");
svm_train.main(arg);
}
}
运行程序,得到以下结果
决策函数
公式:f(x)=SV*x+rho
wT为向量的转置矩阵,即为模型数据中的SV
b为偏置常数,即为数据模型中的rho
参考文献
https://blog.csdn.net/wanerXR/article/details/121410752?spm=1001.2014.3001.5501
https://blog.csdn.net/taohuaxinmu123/article/details/20370525