java如何调用libsvm

由于比赛需要用到libsvm,自己鼓捣了一下午,才真正弄明白libsvm怎么用java调用,走了不少弯路。一开始有个误会,只调用了其中的jar包,其实不是这样的。下载过libsvm后,大多数东东都写好了,没必要再自己写了。下面介绍下,该怎么用java调用libsvm,我下的是今年愚人节那天更新的3.12版本的,最新版。下载地址在台湾大学教授林智仁的主页,我想这个链接就不用提供了。我只根据自己的体验,介绍下我自己调用时的情况。其实,很简单,遗憾的是调用成功了,才知道,有点扫兴,哈哈,大家看了不要觉得太没劲也就好了

      第一步:下载java版libsvm3.12,解压。

                    点击查看原图

         第二步:打开java文件夹

                    点击查看原图

           

          第三步:建立项目,引用lib.svm包

                      点击查看原图

           第五步:把第二步中的文件夹中四个文件复制到一个自定义的包中

                     

                            点击查看原图

 

第六步:写程序调用,代码如下,贴出来供大家学习,有不对的地方,欢迎拍砖。               
                    import java.io.IOException;

                    import libsvm.svm;

import libsvm.svm_model;

public class SVMTest {
 
 public static void main(String[] args) throws IOException {
  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();

  }

  double[] record = { -1, 12, 12, 78 };

  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));
 }
}

           下面是输出的结果,供参考:

            点击查看原图

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值