`
insertyou
  • 浏览: 893232 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Java程序通过weka调用libsvm和liblinear的方法

 
阅读更多
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="">《</span><a href="http://blog.csdn.net/Felomeng/archive/2009/10/17/4688414.aspx"><span lang="EN-US"><span style="font-family: Calibri;">Java</span></span><span style="">程序通过</span><span lang="EN-US"><span style="font-family: Calibri;">weka</span></span><span style="">调用</span><span lang="EN-US"><span style="font-family: Calibri;">libsvm</span></span></a><span style=""><a href="http://blog.csdn.net/Felomeng/archive/2009/10/17/4688414.aspx">的方法</a>》一文阐述了调用</span><span lang="EN-US"><span style="font-family: Calibri;">LibSVM</span></span><span style="">的简单方法,这里主要补充四点:</span></span></p>
<p class="MsoListParagraph" style=""><span style="" lang="EN-US"><span style=""><span style="font-family: Calibri; font-size: small;">1.</span><span style='font: 7pt "Times New Roman";'> </span></span></span><span style="font-size: small;"><span lang="EN-US"><span style="font-family: Calibri;">LibSVM</span></span><span style="">在</span><span lang="EN-US"><span style="font-family: Calibri;">weka3.5</span></span><span style="">版以后都集成了包装,无须再使用</span><span lang="EN-US"><span style="font-family: Calibri;">WLSVM</span></span><span style="">,所以上文中的</span><span lang="EN-US"><span style="font-family: Calibri;">WLSVM</span></span><span style="">相关的内容可以去除,而类型</span><span lang="EN-US"><span style="font-family: Calibri;">WLSVM</span></span><span style="">可以换成</span><span lang="EN-US"><span style="font-family: Calibri;">LibSVM</span></span><span style="">,需要添加包</span></span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin: 0cm 0cm 0pt 18pt;"><strong><span style='font-family: "Courier New"; color: #7f0055; font-size: 10pt;' lang="EN-US">import</span></strong><span style='font-family: "Courier New"; color: black; font-size: 10pt;' lang="EN-US"> weka.classifiers.functions.LibSVM;</span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin: 0cm 0cm 0pt 18pt;"><span style="">无须再使用</span><strong><span style='font-family: "Courier New"; color: #7f0055; font-size: 10pt;' lang="EN-US">import</span></strong><span style='font-family: "Courier New"; color: black; font-size: 10pt;' lang="EN-US"> wlsvm.WLSVM;</span></p>
<p class="MsoListParagraph" style=""><span style="" lang="EN-US"><span style=""><span style="font-family: Calibri; font-size: small;">2.</span><span style='font: 7pt "Times New Roman";'> </span></span></span><span style="font-size: small;"><span lang="EN-US"><span style="font-family: Calibri;">LibLINEAR</span></span><span style="">占用内存小,可以在大数据集大特征量的情况下使用,调用方法与</span><span lang="EN-US"><span style="font-family: Calibri;">LibSVM</span></span><span style="">相同,不同的就是把类</span><span lang="EN-US"><span style="font-family: Calibri;">LibSVM</span></span><span style="">换成</span><span lang="EN-US"><span style="font-family: Calibri;">LibLINEAR</span></span><span style="">(同时,加载的</span><span lang="EN-US"><span style="font-family: Calibri;">jar</span></span><span style="">包为</span><span lang="EN-US"><span style="font-family: Calibri;">LibLINEAR</span></span><span style="">,加载方法见《<a href="http://blog.csdn.net/Felomeng/archive/2009/10/17/4688257.aspx">在</a></span><a href="http://blog.csdn.net/Felomeng/archive/2009/10/17/4688257.aspx"><span lang="EN-US"><span style="font-family: Calibri;">eclipse</span></span><span style="">下使用</span><span lang="EN-US"><span style="font-family: Calibri;">java</span></span><span style="">调用</span><span lang="EN-US"><span style="font-family: Calibri;">weka</span></span></a><span style="">》下载地址:</span><span lang="EN-US"><a href="http://download.csdn.net/source/1998016"><span style="font-family: Calibri; color: #0000ff;">http://download.csdn.net/source/1998016</span></a></span><span style="">)。</span></span></p>
<p class="MsoListParagraph" style=""><span style="" lang="EN-US"><span style=""><span style="font-family: Calibri; font-size: small;">3.</span><span style='font: 7pt "Times New Roman";'> </span></span></span><span style=""><span style="font-size: small;">参数设置</span></span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin: 0cm 0cm 0pt 18pt;"><span style=""><span style="font-size: small;">在</span></span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin: 0cm 0cm 0pt 18pt;"><span style='font-family: "Courier New"; color: black; font-size: 10pt;' lang="EN-US">m_classifier.buildClassifier(instancesTrain); </span><span style='font-family: "Courier New"; color: #3f7f5f; font-size: 10pt;' lang="EN-US">//</span><span style="">训练</span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin: 0cm 0cm 0pt 18pt;"><span style=""><span style="font-size: small;">前添加:</span></span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin: 0cm 0cm 0pt 18pt;"><span style='font-family: "Courier New"; color: black; font-size: 10pt;' lang="EN-US">String[] options=weka.core.Utils.<em>splitOptions</em>(</span><span style='font-family: "Courier New"; color: #2a00ff; font-size: 10pt;' lang="EN-US">"-S 0 -K 2 -D 3 -G 0.0 -R 0.0 -N 0.5 -M 40.0 -C 1.0 -E 0.0010 -P 0.1 -B 0"</span><span style='font-family: "Courier New"; color: black; font-size: 10pt;' lang="EN-US">);</span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin: 0cm 0cm 0pt 18pt;"><span style='font-family: "Courier New"; color: black; font-size: 10pt;' lang="EN-US">m_classifier.setOptions(options);</span></p>
<p class="MsoListParagraph" style=""><span style="" lang="EN-US"><span style=""><span style="font-family: Calibri; font-size: small;">4.</span><span style='font: 7pt "Times New Roman";'> </span></span></span><span style=""><span style="font-size: small;">分类器序列化与反序列化(保存与读取)</span></span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin: 0cm 0cm 0pt 18pt;"><span style="font-size: small;"><span lang="EN-US"><span style="font-family: Calibri;">weka</span></span><span style="">内置了序列化类,只要使用:</span></span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin: 0cm 0cm 0pt 18pt;"><span style='font-family: "Courier New"; color: black; font-size: 10pt;' lang="EN-US">weka.core.SerializationHelper.<em>write</em>(</span><span style='font-family: "Courier New"; color: #2a00ff; font-size: 10pt;' lang="EN-US">“E:\model”</span><span style='font-family: "Courier New"; color: black; font-size: 10pt;' lang="EN-US">, m_classifier);</span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin: 0cm 0cm 0pt 18pt;"><span style="font-size: small;"><span style="">就可以保存模型了,使用时只要再使用下面语句读取出来(以</span><span lang="EN-US"><span style="font-family: Calibri;">LibSVM</span></span><span style="">为例):</span></span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin: 0cm 0cm 0pt 18pt;"><span style='font-family: "Courier New"; color: black; font-size: 10pt;' lang="EN-US">Classifier classifier=(LibSVM)weka.core.SerializationHelper.read(</span><span style='font-family: "Courier New"; color: #2a00ff; font-size: 10pt;' lang="EN-US">“E:\model”</span><span style='font-family: "Courier New"; color: black; font-size: 10pt;' lang="EN-US">);</span></p>
<p class="MsoListParagraph" style="text-indent: 0cm; margin: 0cm 0cm 0pt 18pt;"><span style='font-family: "Courier New"; color: black; font-size: 10pt;' lang="EN-US"></span></p>
分享到:
评论

相关推荐

    WEKA运行libsvm的libsvm.jar

    这个过程涉及到两个关键组件:WEKA和libsvm,以及它们之间的集成方法。 首先,WEKA(Waikato Environment for Knowledge Analysis)是一款开源的数据挖掘工具,广泛用于机器学习和数据挖掘任务。它提供了丰富的算...

    weka中使用libsvm需要的包

    这通常涉及到将Libsvm的Java类库(jar文件)添加到Weka的工作流程中。在这个案例中,我们有两个关键的jar文件:libsvm.jar和wlsvm.jar。 1. libsvm.jar:这是Libsvm的核心库,包含了SVM的实现,包括训练模型、预测...

    weka 集成LibSVMm所需的jar(wlsvm.zip),另附libsvm.zip和liblinear.zip

    本文将详细讨论Weka和LibSVM这两个流行的开源库,以及它们如何通过Java进行集成,以便于提升模型的性能。 首先,Weka(Waikato Environment for Knowledge Analysis)是一个强大的数据挖掘软件,它提供了丰富的机器...

    weka导入libsvm

    weka3.6及以下版本导入libsvm,需要将wlsvm.jar和libsvm.jar文件拷贝到WEKA的安装路径下,然后修改RunWeka.ini文件中的cmd_dafault路径,然后就大功告成了!耶

    weka的libsvm包

    这个过程对于非编程背景的用户可能较为复杂,但是一旦完成,用户就可以在Weka的图形用户界面(GUI)中直接使用LibSVM的算法,或者通过Weka的API在程序中调用。 在Weka中使用LibSVM后,用户可以利用其强大功能解决...

    java调用weka

    java调用weka。weka是很好用的机器学习库,这里就不详细介绍了。 言归正传,要使用程序方式使用weka,步骤如下: 一、在eclipse里新建一个Java project: 1. 建立工程:单击菜单中file-&gt;new-&gt;Java project,在弹出...

    WEKA运行libsvm的wlsvm.jar

    WEKA 3.6调用libsvm时,需要将wlsvm.jar和libsvm.jar添加到WEKA的安装路径,然后修改RunWeka.ini的路径,才能正常运行。

    weka-添加libsvm

    **描述详解:** 描述提到,在WEKA中想要使用function类别下的libsvm和其他分类器,用户需要手动添加libsvm和wlsvm这两个库的Java Archive (JAR) 文件。这意味着在默认情况下,WEKA可能并未直接包含这些特定的库,...

    Java实现对Weka算法的应用案例

    通过导入Weka相关的jar包,开发者可以直接调用Weka的各种方法来处理数据和执行模型训练。 3. **CSV文件处理**:CSV(Comma Separated Values)是一种常见的数据格式,用于存储表格数据。在Weka中,可以使用`...

    java中调用weka

    "Java中调用Weka" Weka是一个非常流行的数据挖掘工具,Java是目前最流行的编程语言之一。...在Java中调用Weka可以让开发者们更方便地使用Weka的功能,并且可以更方便地对数据进行分类、聚类和预处理。

    weka3.6的jar及libsvm.jar和wlsvm.jar

    2. libsvm.jar:这是LibSVM的Java版本,包含了SVM模型训练和预测的类和方法。 3. wlsvm.jar:如前所述,这很可能是Weka为了集成LibSVM而编译的特定库,使得用户可以通过Weka的API调用LibSVM的功能。 整合这三个文件...

    LIBSVM工具包,可以在weka中使用并被JAVA调用的SVM工具包

    可以在weka中使用并被JAVA调用的SVM工具包

    weka3.8导入libsvm

    在Weka 3.8中导入LibSVM,首先你需要确保已经下载了LibSVM的Java接口。通常,这个接口包含一组JAR文件,这些文件需要被添加到Weka的类路径中,以便Weka能够识别和使用它们。具体步骤如下: 1. 下载LibSVM的Java接口...

    weka的JAVA程序

    这个压缩包文件包含的是基于 Java 编写的 Weka 程序,意味着你可以通过编写 Java 代码来利用 Weka 的功能进行数据分析和建模。Weka 提供了丰富的 API 接口,使得在 Java 环境中集成数据预处理、分类、聚类、回归等...

    Java调用weka神经网络算法预测股票 代码及数据

    Java调用Weka进行神经网络预测时,通常需要以下步骤: 1. **数据预处理**:首先,你需要将股票数据转化为Weka能理解的ARFF(Attribute-Relation File Format)格式。在这个案例中,`test4.arff`很可能就是这样的...

    Weka各类分类器的使用(Java)

    "Weka各类分类器的使用(Java)" 本文将详细介绍如何使用Weka在Java中实现分类器的使用,包括配置MyEclipse2013+Weka3.6+libsvm3.18+Jdk1.7+Win8.1...通过本文,可以了解Weka和LibSVM的使用方法,并应用于实际项目中。

    WEKA下的LIBSVM

    在 WEKA 的分类器中,LIBSVM 是作为一个 Wrapper 调用机制,需要安装 LIBSVM 并将其添加到 WEKA 的启动路径中。 二、安装 LIBSVM 下载 wlsvm.zip 压缩包,解压后将 WLSVM \ lib 文件夹下的 libsvm.jar 和 wlsvm....

    weka-3-6运行libsvm方法

    weka3.6运行libsvm,需要将wlsvm.jar和libsvm.jar文件拷贝到WEKA的安装路径下,然后修改RunWeka.ini文件中的cmd_dafault路径,还含有相关内容的路径检索!

    使用weka非常有用的libsvm.jar 和wlsvm.jar

    通过修改Weka的配置文件runweka.ini,用户可以指定使用libsvm.jar和wlsvm.jar,从而在Weka环境中启用SVM算法。 支持向量机的核心思想是找到一个最优超平面,将不同类别的数据尽可能地分开,同时最大化两类样本的...

Global site tag (gtag.js) - Google Analytics