public class TestScale {
public static void main(String[] args) throws IOException {
String reafile = " "; // 文件路径
svm_scale svms = new svm_scale();
String[] srg = { reafile };//在这可以添加相关的系数"-l","0","-u","1","-s".以及要保存的scale参数文件
svms.main(srg);
}
前面我们进行了很多的理论性研究,下面我们开始用代码进行实现.
这个数据集显然线性可分.
[-1.0,
-1.0,
①0,
-1.0]
可以看出来,这里使用的类别标签是-1和1
SMO算法的伪代码:
L==H
第0次迭代 样本:1, alpha优化次数:1
j not moving enough
迭代次数:0
...
第二步:打开java文件夹
第三步:建立项目,引用lib.svm包
第五步:把第二步中的文件夹中四个文件复制到一个自定义的包中
第六步:写程序调用,代码如下,贴出来供大家学习,有不对的地方,欢迎拍砖.
import java.io.IOException;
import libsvm.svm;
import libsvm.svm_model;
public class SVMTest {
svm_train svmt = new svm_train();
svm_predict svmp = new svm_predict();
String[] argvTrain = {
"C:\\Users\\baolong\\Desktop\\KDD\\other\\svm\\train\\TR1.data",// 训练文件
"C:\\Users\\baolong\\Desktop\\KDD\\other\\svm\\model\\MO1.model"// 模型文件
};
String[] argvPredict = {
"C:\\Users\\baolong\\Desktop\\KDD\\other\\svm\\predict\\PR1.data",// 预测文件
"C:\\Users\\baolong\\Desktop\\KDD\\other\\svm\\model\\MO1.model", // 模型文件
"C:\\Users\\baolong\\Desktop\\KDD\\other\\svm\\result\\RE1.out" // 预测结果文件
try {
svmt.main(argvTrain);
svmp.main(argvPredict);
} catch (IOException e) {
e.printStackTrace();
libsvm.svm_model model = svm
.svm_load_model("C:\\Users\\baolong\\Desktop\\KDD\\other\\svm\\model\\MO1.model");
System.out.println(svmp.predictPerRecord(record, model));
以上就是土嘎嘎小编为大家整理的svm代码java相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!