用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权威指南> ...
随机推荐
- java框架之SpringCloud(6)-Zuul路由网关
介绍 Zuul 包含了对请求的路由和过滤两个最重要的功能: 其中路由功能服务将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础.而过滤的功能则负责对请求的处理过程进行干预,是实现请求校验 ...
- [warn] _default_ VirtualHost overlap on port 443, the first has precedence
配置文件中添加 NameVirtualHost *:433 保存重启apache
- 《More Accurate Question Answering on Freebase》文献笔记
bast-2015-CIKM CIKM全称是International Conference on Information and Knowledge Management 这篇文章主要采用采用lea ...
- 关于Mysql数据库的学习总结
关于Mysql操作指令: 1.键盘win + R 弹出windows运行输入框,输入cmd命令,进入windows数据库; 2.在windows数据库里输入mysql(数据库) -uroot(用户 ...
- input file 上传 判断文件类型、路径是否为空
<html> <body bgcolor="white"> <TABLE cellSpacing=0 cellPadding=0 width=&quo ...
- FAT32文件系统学习(上)
2011-06-02 22:30:48 目的:需要编写SD读图片的底层驱动程序.所以要了解一个SD卡常用文件系统基本概念.累计学习用时2.5小时. 一,FAT32的保留区 1,引导扇区 :引导扇区是F ...
- Electron把网页打包成桌面应用并进行源码加密
前言 最近想把自己用html+css+js做的网页界面打包成桌面应用,网上一搜,发现Electron是一个不错的选择,试了试,发现效果真的不错.这里记录一下打包过程以作记录,便于自己以后查看学习. 一 ...
- 微信小程序一些demo链接地址
校园小情书小程序前端+后端源码 https://www.douban.com/group/topic/116974400/ 小程序源码疯狂猜成语小程序源码UI美观 https://www.douban ...
- MySQL插入去重命令_INSERT IGNORE INTO
之前在介绍INSERT INTO命令时,曾经提到,该命令在执行数据插入操作时,会在数据库中对元组的主键进行检测,若没有存在,则执行插入动作,若存在,则会报错. 而INSERT IGNORE INTO命 ...
- daily start
2019/4/26 1. to summerize the merge experience, about makefile, about compile error analysis. 2. loo ...