Felomeng翻译:libsvm2.88之Java版本

来源:互联网 发布:二十六炖牛肉知乎 编辑:程序博客网 时间:2024/06/05 00:20

java预编译类包“libsvm.jar”以及源代码文件都在文件夹java中。要运行程序,使用下列命令:

java -classpath libsvm.jar svm_train <参数表>

java -classpath libsvm.jar svm_predict <参数表>

java -classpath libsvm.jar svm_toy <参数表>

java -classpath libsvm.jar svm_scale <参数表>

 

注意:程序运行需要java 1.55.0)支持。

 

需要把java运行时库(如classes.zip)添加到类路径。

需要将java最大堆容量调大。

 

类库的使用方法与C版本类似。可用的方程如下:

 

public class svm {

       public static final int LIBSVM_VERSION=288;

       public static svm_model svm_train(svm_problem prob, svm_parameter param);

       public static void svm_cross_validation(svm_problem prob, svm_parameter param, int nr_fold, double[] target);

       public static int svm_get_svm_type(svm_model model);

       public static int svm_get_nr_class(svm_model model);

       public static void svm_get_labels(svm_model model, int[] label);

       public static double svm_get_svr_probability(svm_model model);

       public static void svm_predict_values(svm_model model, svm_node[] x, double[] dec_values);

       public static double svm_predict(svm_model model, svm_node[] x);

       public static double svm_predict_probability(svm_model model, svm_node[] x, double[] prob_estimates);

       public static void svm_save_model(String model_file_name, svm_model model) throws IOException

       public static svm_model svm_load_model(String model_file_name) throws IOException

       public static String svm_check_parameter(svm_problem prob, svm_parameter param);

       public static int svm_check_probability_model(svm_model model);

}

 

libsvm”包中含有该类库。

注意在java版本中,svm_node[]不以索引值=-1的结点结束。