用Apache Ant在Weka中嵌入新算法
本文将介绍一种新的添加新的算法到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/
用Apache Ant在Weka中嵌入新算法的更多相关文章
- 用Eclipse在Weka中嵌入新算法
本文介绍添加一个新算法到Weka集成环境中的过程,并能在GUI中运行并显示其结果.想做到这一点有两种方法,一是用ANT命令生成新的weka.jar(稍后写教程),二是用IDE(Eclipse或NetB ...
- 源代码方式向openssl中加入新算法完整具体步骤(演示样例:摘要算法SM3)【非engine方式】
openssl简单介绍 openssl是一个功能丰富且自包括的开源安全工具箱.它提供的主要功能有:SSL协议实现(包括SSLv2.SSLv3和TLSv1).大量软算法(对称/非对称/摘要).大数运算. ...
- Apache Spark 2.2中基于成本的优化器(CBO)(转载)
Apache Spark 2.2最近引入了高级的基于成本的优化器框架用于收集并均衡不同的列数据的统计工作 (例如., 基(cardinality).唯一值的数量.空值.最大最小值.平均/最大长度,等等 ...
- 在weka中添加libSVM或者HMM等新算法
转:http://kasy-13.blog.163.com/blog/static/8214691420143226365887/ Weka的全名是怀卡托智能分析环境(Waikato Environm ...
- Ant—怎样Windows操作系统中搭建Apache Ant环境
介绍一下怎样在Windows操作系统中搭建Apache Ant环境: 一.下载Apache Ant压缩文件:http://download.csdn.net/detail/wangshuxuncom/ ...
- Mac 中安装 Apache Ant
1.下载Apache Ant:http://ant.apache.org/bindownload.cgi 2.解压apache-ant-1.9.6-bin.zip,把解压好的apache-ant-1. ...
- Apache Ant 项目构建
项目构建:通过构建工具对多个项目进行统一批量的编译和运行,比如,对多个Jmeter脚本批量运行 1.Ant是什么? Ant是 构建工具,Apache Ant是一个将软件编译.测试.部署等步骤联系在一起 ...
- [Java] Apache Ant 构建基础教程
环境:Ubuntu 12.04, java 1.7.0, ant 1.8.2. 前言 Apache Ant 是一个软件自动化构建工具,构建过程包括编译.测试和部署等.它和 Make 工具相似,但由 J ...
- Apache Ant和Apache Maven的区别
Apache Ant和Apache Maven的区别 分类: ANT Maven 2013-12-10 18:47 1477人阅读 评论(26) 收藏 举报 ———摘自<maven权威指南> ...
随机推荐
- C#基础加强(2)之密闭类、静态类及扩展方法
密闭类 简介 密闭类是被 sealed 关键字修饰的类,密闭类不能有子类.一般只有系统的一些基本类声明为密闭类,例如 String 类. 相关面试题 是否可以编写一个类继承自 String 类? 我们 ...
- 自动微分(AD)学习笔记
1.自动微分(AD) 作者:李济深链接:https://www.zhihu.com/question/48356514/answer/125175491来源:知乎著作权归作者所有.商业转载请联系作者获 ...
- mysql如何给字母数字混合的字段排序?
mysql> select * from t_SpiritInside; +------+ | col | +------+ | s1 | | s2 | | s11 | | s12 ...
- 把spring boot发布成window Service
一:下载Winsw, 把下载后的文件名改为你的应用如doctor.exe 二:添加xml <service> <id>doctor-api-service</id> ...
- Vue系列之 => webpack基础使用
webpack安装方式 1,运行 npm i webpack -g 全局安装. 2,在项目根目录中运行 npm i webpack --save-dev 安装到项目依赖中 项目目录 进入src运行, ...
- vue使用桌面Element-UI和移动端MintUI的UI框架
vue使用桌面Element-UI和移动端MintUI的UI框架 element-uiElement - 网站快速成型工具http://element-cn.eleme.io/#/zh-CN 安装:n ...
- function的toString方法
javascript的创建多行字符串的除了平时常见的”“+ 反斜杠\ 还有ES6的` ` 在js51上发现一个很有意思的方法 function heredoc(fn) { return fn.toSt ...
- Python数据分析Pandas库数据结构(一)
pandas数据结构 1.生成一维矩阵模拟数据 import pandas as pdimport numpy as nps = pd.Series([1,2,3,4,np.nan,9,9])s2 = ...
- Google 开发的、最好用、功能最强大的网页测速与网站性能分析工具
https://www.webpagetest.org/细致到每一个资源的加载都是完全可视化,包含详细的数据分析.开发完成自己的网站后一定要进行一下测试,你会发现还有很多可以优化的点.
- oracle查询buffer cache中undo大小
1.Does undo buffer exists or changes will directly write to undo datafiles? Undo blocks are database ...