概述
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就可以了
最后
以上就是柔弱棉花糖为你收集整理的java调用Libsvm的全部内容,希望文章能够帮你解决java调用Libsvm所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复