<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style=""><span style="font-family: Times New Roman;">java</span></span><span style="">预编译类包“</span><span style=""><span style="font-family: Times New Roman;">libsvm.jar</span></span><span style="">”以及源代码文件都在文件夹</span><span style=""><span style="font-family: Times New Roman;">java</span></span><span style="">中。要运行程序,使用下列命令:</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style=""><span style="font-family: Times New Roman;">java -classpath libsvm.jar svm_train <</span></span><span style="">参数表</span><span style=""><span style="font-family: Times New Roman;">></span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style=""><span style="font-family: Times New Roman;">java -classpath libsvm.jar svm_predict <</span></span><span style="">参数表</span><span style=""><span style="font-family: Times New Roman;">></span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style=""><span style="font-family: Times New Roman;">java -classpath libsvm.jar svm_toy <</span></span><span style="">参数表</span><span style=""><span style="font-family: Times New Roman;">></span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style=""><span style="font-family: Times New Roman;">java -classpath libsvm.jar svm_scale <</span></span><span style="">参数表</span><span style=""><span style="font-family: Times New Roman;">></span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;"></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="">注意:程序运行需要</span><span style=""><span style="font-family: Times New Roman;">java 1.5</span></span><span style="">(</span><span style=""><span style="font-family: Times New Roman;">5.0</span></span><span style="">)支持。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;"></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="">需要把</span><span style=""><span style="font-family: Times New Roman;">java</span></span><span style="">运行时库(如</span><span style=""><span style="font-family: Times New Roman;">classes.zip</span></span><span style="">)添加到类路径。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="">需要将</span><span style=""><span style="font-family: Times New Roman;">java</span></span><span style="">最大堆容量调大。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;"></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="">类库的使用方法与</span><span style=""><span style="font-family: Times New Roman;">C</span></span><span style="">版本类似。可用的方程如下:</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;"></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style=""><span style="font-size: small; font-family: Times New Roman;">public class svm {</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US"><span style=""> </span></span><span style="">public static final int LIBSVM_VERSION=288;</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US"><span style=""> </span></span><span style="">public static svm_model svm_train(svm_problem prob, svm_parameter param);</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US"><span style=""> </span></span><span style="">public static void svm_cross_validation(svm_problem prob, svm_parameter param, int nr_fold, double[] target);</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US"><span style=""> </span></span><span style="">public static int svm_get_svm_type(svm_model model);</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US"><span style=""> </span></span><span style="">public static int svm_get_nr_class(svm_model model);</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US"><span style=""> </span></span><span style="">public static void svm_get_labels(svm_model model, int[] label);</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US"><span style=""> </span></span><span style="">public static double svm_get_svr_probability(svm_model model);</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US"><span style=""> </span></span><span style="">public static void svm_predict_values(svm_model model, svm_node[] x, double[] dec_values);</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US"><span style=""> </span></span><span style="">public static double svm_predict(svm_model model, svm_node[] x);</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US"><span style=""> </span></span><span style="">public static double svm_predict_probability(svm_model model, svm_node[] x, double[] prob_estimates);</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US"><span style=""> </span></span><span style="">public static void svm_save_model(String model_file_name, svm_model model) throws IOException</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US"><span style=""> </span></span><span style="">public static svm_model svm_load_model(String model_file_name) throws IOException</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US"><span style=""> </span></span><span style="">public static String svm_check_parameter(svm_problem prob, svm_parameter param);</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US"><span style=""> </span></span><span style="">public static int svm_check_probability_model(svm_model model);</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;">}</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;"></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="">“</span><span style=""><span style="font-family: Times New Roman;">libsvm</span></span><span style="">”包中含有该类库。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="">注意在</span><span style=""><span style="font-family: Times New Roman;">java</span></span><span style="">版本中,</span><span style=""><span style="font-family: Times New Roman;">svm_node[]</span></span><span style="">不以索引值</span><span style=""><span style="font-family: Times New Roman;">=-1</span></span><span style="">的结点结束。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style=""><span style="font-family: Times New Roman;">java -classpath libsvm.jar svm_train <</span></span><span style="">参数表</span><span style=""><span style="font-family: Times New Roman;">></span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style=""><span style="font-family: Times New Roman;">java -classpath libsvm.jar svm_predict <</span></span><span style="">参数表</span><span style=""><span style="font-family: Times New Roman;">></span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style=""><span style="font-family: Times New Roman;">java -classpath libsvm.jar svm_toy <</span></span><span style="">参数表</span><span style=""><span style="font-family: Times New Roman;">></span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style=""><span style="font-family: Times New Roman;">java -classpath libsvm.jar svm_scale <</span></span><span style="">参数表</span><span style=""><span style="font-family: Times New Roman;">></span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;"></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="">注意:程序运行需要</span><span style=""><span style="font-family: Times New Roman;">java 1.5</span></span><span style="">(</span><span style=""><span style="font-family: Times New Roman;">5.0</span></span><span style="">)支持。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;"></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="">需要把</span><span style=""><span style="font-family: Times New Roman;">java</span></span><span style="">运行时库(如</span><span style=""><span style="font-family: Times New Roman;">classes.zip</span></span><span style="">)添加到类路径。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="">需要将</span><span style=""><span style="font-family: Times New Roman;">java</span></span><span style="">最大堆容量调大。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;"></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="">类库的使用方法与</span><span style=""><span style="font-family: Times New Roman;">C</span></span><span style="">版本类似。可用的方程如下:</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;"></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style=""><span style="font-size: small; font-family: Times New Roman;">public class svm {</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US"><span style=""> </span></span><span style="">public static final int LIBSVM_VERSION=288;</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US"><span style=""> </span></span><span style="">public static svm_model svm_train(svm_problem prob, svm_parameter param);</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US"><span style=""> </span></span><span style="">public static void svm_cross_validation(svm_problem prob, svm_parameter param, int nr_fold, double[] target);</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US"><span style=""> </span></span><span style="">public static int svm_get_svm_type(svm_model model);</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US"><span style=""> </span></span><span style="">public static int svm_get_nr_class(svm_model model);</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US"><span style=""> </span></span><span style="">public static void svm_get_labels(svm_model model, int[] label);</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US"><span style=""> </span></span><span style="">public static double svm_get_svr_probability(svm_model model);</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US"><span style=""> </span></span><span style="">public static void svm_predict_values(svm_model model, svm_node[] x, double[] dec_values);</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US"><span style=""> </span></span><span style="">public static double svm_predict(svm_model model, svm_node[] x);</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US"><span style=""> </span></span><span style="">public static double svm_predict_probability(svm_model model, svm_node[] x, double[] prob_estimates);</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US"><span style=""> </span></span><span style="">public static void svm_save_model(String model_file_name, svm_model model) throws IOException</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US"><span style=""> </span></span><span style="">public static svm_model svm_load_model(String model_file_name) throws IOException</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US"><span style=""> </span></span><span style="">public static String svm_check_parameter(svm_problem prob, svm_parameter param);</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US"><span style=""> </span></span><span style="">public static int svm_check_probability_model(svm_model model);</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;">}</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;"></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="">“</span><span style=""><span style="font-family: Times New Roman;">libsvm</span></span><span style="">”包中含有该类库。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="">注意在</span><span style=""><span style="font-family: Times New Roman;">java</span></span><span style="">版本中,</span><span style=""><span style="font-family: Times New Roman;">svm_node[]</span></span><span style="">不以索引值</span><span style=""><span style="font-family: Times New Roman;">=-1</span></span><span style="">的结点结束。</span></span></p>
本文介绍 LibSVM Java 版本的使用方法,包括如何运行预编译的类包 libsvm.jar,使用 Java 1.5 运行环境及调整最大堆容量等配置。同时提供了 svm 类的主要方法说明,适用于支持向量机的学习与应用。
3836

被折叠的 条评论
为什么被折叠?



