LibSVM支持向量机并获取决策函数
文章目录一、LibSVM简介二、LibSVM下载三、构建数据集并获得决策函数总结参考一、LibSVM简介LIBSVM是台湾大学林智仁(Lin Chih-Jen)教授等开发设计的一个简单、易于使用和快速有效的SVM模式识别与回归的软件包。LIBSVM不但提供了编译好的可在Windows系列系统的执行文件,还提供了源代码,方便改进、修改以及在其它操作系统上应用;该软件对SVM所涉及的参数调节相对比较少
一、LibSVM简介
LIBSVM是台湾大学林智仁(Lin Chih-Jen)教授等开发设计的一个简单、易于使用和快速有效的SVM模式识别与回归的软件包。
LIBSVM不但提供了编译好的可在Windows系列系统的执行文件,还提供了源代码,方便改进、修改以及在其它操作系统上应用;该软件对SVM所涉及的参数调节相对比较少,提供了很多的默认参数,利用这些默认参数可以解决很多问题;并提供了交互检验(Cross Validation)的功能。该软件可以解决C-SVM、ν-SVM、ε-SVR和ν-SVR等问题,包括基于一对一算法的多类模式识别问题。
二、LibSVM下载
官网下载地址:https://www.csie.ntu.edu.tw/~cjlin/libsvm/
解压文件
三、构建数据集并获得决策函数
- 启动LibSVM,点击Windows文件下,启动svm-toy.exe


- 手工绘制数据集

- 点击Save,将数据保存为train.txt

- 新建一组数据集作为测试集test.txt


- IDEA新建Java项目
将Java文件夹下libsvm文件夹拷贝到项目src下
新建Test类,并把指定文件添加到包内
新建Test类,并添加代码
package test;
import java.io.IOException;
public class test {
public static void main(String args[]) throws IOException {
//存放数据以及保存模型文件路径
String filepath = "D:\\Code\\libsvm-3.25\\x\\";
/*
* -s 设置svm类型:默认值为0
* 0– C-SVC
* 1 – v-SVC
* 2 – one-class-SVM
* 3 –ε-SVR
* 4 – n - SVR
*
* -t 设置核函数类型,默认值为2
* 0 --线性核
* 1 --多项式核
* 2 -- RBF核
* 3 -- sigmoid核
*
* -d degree:设置多项式核中degree的值,默认为3
*
* -c cost:设置C-SVC、ε-SVR、n - SVR中从惩罚系数C,默认值为1;
*/
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);
}
}



输出文件
data.txt训练数据
line.txt线性模型
poly多项式模型
RBF高斯核模型

线性模型:
多项式模型:
高斯核模型
决策树:
总结
通过本次实验,首先是学习了 libSVM的背景、原理、训练文本的格式,以及如何用libsvm绘制鸢尾花数据集图像的具体方法。并且libSVM使用也很方便。
参考
https://www.cnblogs.com/blogwww/p/9473360.html
https://blog.csdn.net/weixin_47554309/article/details/121389055
更多推荐



所有评论(0)