本文将介绍一种新的添加新的算法到Weka中的方法,国内的论坛基本都是通过IDE(Eclipse或NetBeans)编译,详细教程请见上一篇博客。经研究,发现国外的网站很流行用Ant这个方法,教程奉上。设备Mac OS,Weka 3-9-1。
一、Apache Ant 环境搭建
安装 Apache Ant 的前提是你的电脑上已经下载并且安装了 Java 开发工具包(JDK)。
1.下载
https://ant.apache.org/bindownload.cgi,其中推荐下载.zip格式的,下载完成后解压即可。
2.安装
由于是Mac,可以用brew命令,brew又叫Homebrew,是Mac OS X上的软件包管理工具,能在Mac中方便的安装或卸载软件,只需要一个命令,非常方便。
打开Mac上的终端,输入命令,并按回车键:
brew install ant
然后用ant -version 命令测试是否安装上了,如果安装成功,则显示如下图。
二、在Weka添加自己的算法
1. 打开Weka,把weka-src.jar解压到某一路径,如/Users/shengyidan/Desktop/weka,解压后的文件名为weka-src。其中关联、分类、聚合等算法都在/Users/shengyidan/Desktop/weka/weka-src/src/main/java/weka里。
2. 选择合适的包,在包内添加自己的算法,其中要弄清楚Weka的内核以及其接口标准,然后编写出符合此规范的新算法。本文拿ImprovedSimpleKMeans.java来举例,它是属于聚类算法,所以可以直接/Users/shengyidan/Desktop/weka/weka-src/src/main/java/weka/clusterers文件夹里添加ImprovedSimpleKMeans.java这个文件。
3. 修改配置文件,找到weka.gui包,然后双击进入GenericObjectEditor.props,把 weka.clusterers.ImprovedSimpleKMeans,\ 添加在clusterers类区域中,要注意类名按首字母顺序排列,比如ImprovedSimpleKMeans的首字母I是在F(FilteredClusterer)和M(MakeDensityBasedClusterer)之间的,所以把它放在它们中间,最后Control+S保存。
三、生成jar文件
为了生成jar包并集成到Weka中,需要把添加好算法的weka-src创建为.jar包,首先用cd命令找到更新过的weka-src,
Terminal中cd命令: cd /Users/shengyidan/Desktop/weka/weka-src
然后使用ant命令:ant exejar
BUILD SUCCESSFUL!
最后需要注意的是新的weka.jar在/Users/shengyidan/Desktop/weka/weka-src/dist里
四、检验
最后一步,我们需要检验新的算法是否添加进Weka,首先打开/Users/shengyidan/Desktop/weka/weka-src/dist,看到weka.jar,右击打开方式,选择Jar Launcher
选择.arff文件后就能看到新的ImprovedSimpleKMeans,Nice!
转载请标注:http://www.cnblogs.com/yidansheng/