本文将介绍一种新的添加新的算法到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中嵌入新算法的更多相关文章

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

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

  2. 源代码方式向openssl中加入新算法完整具体步骤(演示样例:摘要算法SM3)【非engine方式】

    openssl简单介绍 openssl是一个功能丰富且自包括的开源安全工具箱.它提供的主要功能有:SSL协议实现(包括SSLv2.SSLv3和TLSv1).大量软算法(对称/非对称/摘要).大数运算. ...

  3. Apache Spark 2.2中基于成本的优化器(CBO)(转载)

    Apache Spark 2.2最近引入了高级的基于成本的优化器框架用于收集并均衡不同的列数据的统计工作 (例如., 基(cardinality).唯一值的数量.空值.最大最小值.平均/最大长度,等等 ...

  4. 在weka中添加libSVM或者HMM等新算法

    转:http://kasy-13.blog.163.com/blog/static/8214691420143226365887/ Weka的全名是怀卡托智能分析环境(Waikato Environm ...

  5. Ant—怎样Windows操作系统中搭建Apache Ant环境

    介绍一下怎样在Windows操作系统中搭建Apache Ant环境: 一.下载Apache Ant压缩文件:http://download.csdn.net/detail/wangshuxuncom/ ...

  6. Mac 中安装 Apache Ant

    1.下载Apache Ant:http://ant.apache.org/bindownload.cgi 2.解压apache-ant-1.9.6-bin.zip,把解压好的apache-ant-1. ...

  7. Apache Ant 项目构建

    项目构建:通过构建工具对多个项目进行统一批量的编译和运行,比如,对多个Jmeter脚本批量运行 1.Ant是什么? Ant是 构建工具,Apache Ant是一个将软件编译.测试.部署等步骤联系在一起 ...

  8. [Java] Apache Ant 构建基础教程

    环境:Ubuntu 12.04, java 1.7.0, ant 1.8.2. 前言 Apache Ant 是一个软件自动化构建工具,构建过程包括编译.测试和部署等.它和 Make 工具相似,但由 J ...

  9. Apache Ant和Apache Maven的区别

    Apache Ant和Apache Maven的区别 分类: ANT Maven 2013-12-10 18:47 1477人阅读 评论(26) 收藏 举报 ———摘自<maven权威指南> ...

随机推荐

  1. 【Gradle】-NO.101.Gradle.1.gradle.1.001-【Gradle Configuration】-(

    Style:Gradle Series:Gradle Since:2018-09-20 End:2018-09-20 Total Hours:1 Degree Of Diffculty:5 Degre ...

  2. node 解析图片二维码的内容

    const {readFile, readFileSync} = require('fs'); const decodeImage = require('jimp').read; const qrco ...

  3. ubuntu14安装mantis实践(包含LAMP/PHP)

    安装LAMP 参考 https://www.linuxidc.com/Linux/2016-12/138757.htm sudo add-apt-repository ppa:ondrej/apach ...

  4. 关于NFS服务器权限的四种情况

    第一种:service 和client 的UID和用户名一样 client按照service端的权限来使用.

  5. VXLAN

    网络协议栈 应用层:Telnet FTP HTTP SMTP... 传输层:TCP UDP 网络层:IP ICMP 物理链路层:ARP 以太网头(源目的MAC) | IP头(源目的IP) | TCP头 ...

  6. 移动端项目在ios上输入框聚焦难解决方案

    由于引入fastclick导致ios端input.textarea输入框难以点击聚焦,解决方案如下: 找到项目中的fastclick依赖或在main.js中改写fastclick的focus实现.

  7. GoldenGate使用SQLEXEC和GETVAL实现码表关联

    使用OGG中的SQLEXEC参数,可以执行SQL语句或存储过程,再加上@GETVAL函数,可以在目标端获取源表没有的字段值.比如,源端有一个事实表和一个代码表COUNTRY_CODES,代码表中有两个 ...

  8. ORA-64379: Action cannot be performed on the tablespace assigned to FastStart while the feature is enabled

    解决方法: 禁止IM FastStart exec DBMS_INMEMORY_ADMIN.FASTSTART_DISABLE();

  9. 剑指offer(40)数组中只出现一次的数字

    题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 题目分析 第一种方法:使用js中的indexOf()和lastIndexOf(),只要两个相等, ...

  10. react-router 4.0(二)传参

    import React from 'react'; import ReactDOM from 'react-dom' import {Link,Route,HashRouter} from 'rea ...