java调用Libsvm

Java调用Libsvm并在JTextArea中显示出准确率

1. libsvm复制到src文件夹中

 

2.写调用libsvm的程序

class Libsvm {   

public void libsvm() throws IOException {

// TODO Auto-generated constructor stub

String []arg ={ "train1.txt", //存放SVM训练模型用的数据的路径

        "model_r.txt"};  //存放SVM通过训练数据训练出来的模型的路径

String []parg={"test1.txt",   //这个是存放测试数据

"model_r.txt",  //调用的是训练以后的模型

"out_r.txt"};  //生成的结果的文件的路径

System.out.println("........SVM运行开始..........");

//创建一个训练对象

svm_train t = new svm_train();

//创建一个预测或者分类的对象

svm_predict p = new svm_predict();

a = p.getAccuracy();

t.main(arg);   //调用

p.main(parg);  //调用

}

}

3.在按钮事件中实例化

 

4. libsvm中数据集是特殊的

比如:男生1 身高180 体重70KG

   男生2 身高169 体重60KG

         女生1 身高165 体重55KG

         女生2 身高150 体重45KG

分类是男生还是女生,则数据集格式为:

1 1:180 2:70

1 1:169 2:60

2 1:165 2:55

2 1:150 2:45

5.需要注意的是对输出的准确率要用getAccuracy方式进行获取

(1)要在svm_predict 中添加方框中程序

 

(2)在主程序中getAccuracy, 在上面class Libsvm中,a为全局变量

svm_predict p = new svm_predict();

a = p.getAccuracy();

3)在其他地方进行引用a就可以了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值