转:http://kasy-13.blog.163.com/blog/static/8214691420143226365887/

Weka的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),是一款免费的,非商业化(与之对应的是SPSS公司商业数据挖掘产品--Clementine )的,基于JAVA环境下开源的机器学习(machine learning)以及数据挖掘(data minining)软件。它和它的源代码可在其官方网站(http://www.cs.waikato.ac.nz/~ml/weka/downloading.html)下载,注意,若要添加新算法,应该下载使用developer version。有趣的是,该软件的缩写WEKA也是New Zealand独有的一种鸟名,而Weka的主要开发者同时恰好来自New Zealand的the University of Waikato。

在weka中添加libSVM:

Weka中并不是没有SVM算法,Weka中有SMO算法的实现。LibSVM运行的比Weka里的SMO快的多,如果你敢用SMO算法去训练大数据集,你就明白天荒地老的真实含意了。

LibsvmLiblinear都是国立台湾大学的Chih-Jen Lin博士开发的,Libsvm主要是用来进行非线性svm 分类器的生成,提出有一段时间了,而Liblinear则是去年才创建的,主要是应对large-scale的data classification,因为linear分类器的训练比非线性分类器的训练计算复杂度要低很多,时间也少很多,而且在large scale data上的性能和非线性的分类器性能相当,所以Liblinear是针对大数据而生的。

两者都是一个跨平台的通用工具库,支持windows/linux/mac os,代码本身是c++写的,同时也有matlab,python,java,c/c++扩展接口,方便不同语言环境使用,可以说是科研和企业人员的首选!像我这样在学校的一般用matlab/c++,而我同学在百度则主要用的是python/c++,所以只是各自侧重不一样,但所使用的核心还是其svm库。

libSVM的C++/java源码下载、matlab interface等下载:http://www.csie.ntu.edu.tw/~cjlin/libsvm/

 

Weka3.5后增加了libsvm这个选项,在分类器中的functions下面。需要安装才能使用。我使用的是weka3.7.10版本。安装weka后运行RunWeka.bat或Weka 3.7.exe,在菜单栏tools->package manager 中可以添加weka官方定义的各种成型的算法,从association类的到visualization类的都有,只要install就行了。

在weka下安装HMM:

如果在自带的package manager下没有找到合适的算法,还可以在网上找(有很多高手写好了愿意分享的!),比如我找到的HMMWeka,可下载HMM.zip

下载地址:

http://www.doc.gold.ac.uk/~mas02mg/software/hmmweka/index.html#download

当然,技巧是用Google English搜,且关键词也用英文,如“HMM classifier”。目前的package manager 只接受zip文件格式的外源算法,所以最好找标准格式的算法,如我上面分享的HMM classifier的作者就相当敬业,从scr/lib到 doc全部写好了,可以下载一下参考参考。

过程:

1、打开weka->菜单栏tools->package manager ->Unofficial->File/URL

2、选择所下载的HMM.zip

3、重启weka,在clasify->choose->classifiers->bayes->HMM找到HMM

4、若是不能运行,可参照下方(weka中的libsvm无法运行的解决方法)的内容修改。

最后总结一下,对于不习惯点上面暗连接的朋友们提供一下明地址:

  • 能自定义添加算法的weka development 版下载地址:

http://www.cs.waikato.ac.nz/~ml/weka/downloading.html

有时候无法下载weka developer版本,可以找百度云搜一下:
  • HMMweka下载地址:
  • libSVM下载地址:

http://www.csie.ntu.edu.tw/~cjlin/libsvm/

weka中的libsvm无法运行的解决方法

在Weka3.5.5后增加了libsvm这个选项,在分类器中的functions下面。但是,试图运行的时候,系统报错提示:Problem evaluating classifier:libsvm classes not in CLASSPATH。然后我们在环境变量-》系统变量-》CLASSPATH,把F:/Some Softwares/Weka-3-5/libsvm.jar(这个jar文件是在http://www.cs.iastate.edu/~yasser/wlsvm/.下载的)添加进去了,但是报错提示:Problem evaluating classifier:rand。如何才能时libsvm跑起来呢?

我参照别人写的教程(http://blog.csdn.net/aalbertini/article/details/5749622)做了以下的修改:

修改runweka.ini这个文件中的cmd_default,增加对这两个jar包的支持:
cmd_default=javaw -Dfile.encoding=#fileEncoding# -Xmx#maxheap# -classpath "#wekajar#;#cp#;libsvm.jar;liblinear.jar" #mainclass#

重启RunWeka.bat,但是仍然无法使用。

可能的原因:

1、检查你的weka是否是developer版本!(最可能的)

2、修改runweka.ini这个文件中的cmd_default,将两个jar包写在#cp#前:cmd_default=javaw -Dfile.encoding=#fileEncoding# -Xmx#maxheap# -classpath "#wekajar#;libsvm.jar;liblinear.jar;#cp#" #mainclass#

参考链接:http://baike.baidu.com/view/1380214.htm

http://pcc426.net/2012/05/18/add-new-algorithm-in-weka/

http://blog.sina.com.cn/s/blog_5b29caf7010127vh.html

在weka中添加libSVM或者HMM等新算法的更多相关文章

  1. 机器学习:weka中添加自己的分类和聚类算法

    不管是实验室研究机器学习算法或是公司研发,都有需要自己改进算法的时候,下面就说说怎么在weka里增加改进的机器学习算法. 一 添加分类算法的流程 1 编写的分类器必须继承 Classifier或是Cl ...

  2. 如何在 Linux 中添加一块大于 2TB 的新磁盘?

    你有没有试过使用 fdisk 对大于 2TB 的硬盘进行分区,并且纳闷为什么会得到需要使用 GPT 的警告? 是的,你看到的没错.我们无法使用 fdisk 对大于 2TB 的硬盘进行分区. 在这种情况 ...

  3. 如何在weka中连接数据库(转)

    相关准备: Weka.mysql已安装 MYSQL Driver for JDBC 1.进入weka的安装目录 1)新建文件夹lib和文件夹weka,然后将mysql-connector-java-5 ...

  4. Weka中数据挖掘与机器学习系列之Exploer界面(七)

    不多说,直接上干货! Weka的Explorer(探索者)界面,是Weka的主要图形化用户界面,其全部功能都可通过菜单选择或表单填写进行访问.本博客将详细介绍Weka探索者界面的图形化用户界面.预处理 ...

  5. 用Apache Ant在Weka中嵌入新算法

    本文将介绍一种新的添加新的算法到Weka中的方法,国内的论坛基本都是通过IDE(Eclipse或NetBeans)编译,详细教程请见上一篇博客.经研究,发现国外的网站很流行用Ant这个方法,教程奉上. ...

  6. 用Eclipse在Weka中嵌入新算法

    本文介绍添加一个新算法到Weka集成环境中的过程,并能在GUI中运行并显示其结果.想做到这一点有两种方法,一是用ANT命令生成新的weka.jar(稍后写教程),二是用IDE(Eclipse或NetB ...

  7. Weka中数据挖掘与机器学习系列之Weka系统安装(四)

    能来看我这篇博客的朋友,想必大家都知道,Weka采用Java编写的,因此,具有Java“一次编译,到处运行”的特性.支持的操作系统有Windows x86.Windows x64.Mac OS X.L ...

  8. Weka中数据挖掘与机器学习系列之Weka3.7和3.9不同版本共存(七)

    不多说,直接上干货! 为什么,我要写此博客,原因是(以下,我是weka3.7.8) 以下是,weka3.7.8的安装版本. Weka中数据挖掘与机器学习系列之Weka系统安装(四) 基于此,我安装最新 ...

  9. 在jekyll模板博客中添加网易云模块

    最近使用GitHub Pages + Jekyll 搭建了个人博客,作为一名重度音乐患者,博客里面可以不配图,但是不能不配音乐啊. 遂在博客里面引入了网易云模块,这里要感谢网易云的分享机制,对开发者非 ...

随机推荐

  1. laravel框架安装过程中遇到的问题

    1.安装laravel框架之前的必要环境 php环境:网上有集成好的服务器,例如wamp,phpstudy.当然你可以自己搭建属于自己的环境.其中php必须是7.1版本以上: compose:php的 ...

  2. XV6操作系统代码阅读心得(二):进程

    1. 进程的基本概念 从抽象的意义来说,进程是指一个正在运行的程序的实例,而线程是一个CPU指令执行流的最小单位.进程是操作系统资源分配的最小单位,线程是操作系统中调度的最小单位.从实现的角度上讲,X ...

  3. POWEROJ 2610 判断回文串 【HASH】

    题目链接[https://www.oj.swust.edu.cn/problem/show/2610] 题意:给你一个字符串,让你判断这个字符串是不是回文串,字符串的长度是1<len<1e ...

  4. 【BZOJ 1272】 1272: [BeiJingWc2008]Gate Of Babylon (容斥原理+卢卡斯定理)

    1272: [BeiJingWc2008]Gate Of Babylon Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 254  Solved: 12 ...

  5. Spring Cloud项目启动脚本

    #!/bin/bash source /etc/profile cd `dirname $0` BIN_DIR=`pwd` echo "$BIN_DIR"#项目名称 SERVER_ ...

  6. python开发_pprint()

    python中的pprint.pprint(),类似于print() 下面是我做的demo: #python pprint '''python API中提供的Sample''' import json ...

  7. bzoj 1789: [Ahoi2008]Necklace Y型项链 贪心

    1789: [Ahoi2008]Necklace Y型项链 Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://www.lydsy.com/Jud ...

  8. PAT甲级1103. Integer Factorization

    PAT甲级1103. Integer Factorization 题意: 正整数N的K-P分解是将N写入K个正整数的P次幂的和.你应该写一个程序来找到任何正整数N,K和P的N的K-P分解. 输入规格: ...

  9. PAT甲级1010. Radix

    PAT甲级1010. Radix (25) 题意: 给定一对正整数,例如6和110,这个等式6 = 110可以是真的吗?答案是"是",如果6是十进制数,110是二进制数. 现在对于 ...

  10. Windows Sysinternals Suite

    Windows Sysinternals Suite 是一套由微软官方免费提供的系统工具集,其中包含了大量超级实的优秀绿色小软件,譬如 Desktops (虚拟桌面).Process Explorer ...