Weka c4.5 决策树 j48源码 解析(一)
来源:互联网 发布:二手网络机柜回收 编辑:程序博客网 时间:2024/06/05 05:07
weka是一个java的机器学习库,官网
这篇文章是搭建阅读weka源码环境的过程。想直接看源码分析的可以跳过。
工具:Eclipse Java EE IDE for Web Developers.Version: Mars.2 Release (4.5.2)
新建一个maven项目
如图,接下来有好几个下一步,这个比较随意,可以自己看着填,也可以上网搜索其他参考。
maven项目建立好以后,项目根目录下有一个pom.xml文件。
此时到maven仓库搜索你想要的jar的dependency,复制到pom.xml文件dependencies标签里面,保存一下,maven就会自动帮你下载dependency中定义的jar包。
以后如果你尝试读maven管理的jar内的类的源码,第一次读的时候Eclipse会弹出没有源码的页面。让你attach source,这时候你不要做操作。
maven此时已经开始帮你下载相应的源码,Eclipse右下角可以看到下载中的提示,等一会(我这里大概15秒)下载完成,那个attach source页面就会自动切换到源码的内容界面。添加maven依赖jar
在maven 仓库中搜索weka,找到最新版本weka的依赖项。
注意,这里不是把weka本身导进项目,而是把它的依赖项导进来,如下图,点击view。
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.2</version> <scope>test</scope> </dependency> <dependency> <groupId>nz.ac.waikato.cms.weka.thirdparty</groupId> <artifactId>java-cup-11b</artifactId> <version>2015.03.26</version> <scope>compile</scope> </dependency> <dependency> <groupId>nz.ac.waikato.cms.weka.thirdparty</groupId> <artifactId>java-cup-11b-runtime</artifactId> <version>2015.03.26</version> </dependency> <dependency> <groupId>nz.ac.waikato.cms.weka.thirdparty</groupId> <artifactId>bounce</artifactId> <version>0.18</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> <version>1.10</version> <optional>true</optional> </dependency> <dependency> <groupId>com.googlecode.matrix-toolkits-java</groupId> <artifactId>mtj</artifactId> <version>1.0.4</version> </dependency> <dependency> <groupId>net.sourceforge.f2j</groupId> <artifactId>arpack_combined_all</artifactId> <version>0.1</version> </dependency> <dependency> <groupId>com.googlecode.netlib-java</groupId> <artifactId>netlib-java</artifactId> <version>1.1</version> </dependency></dependencies>
3.下载weka 3.9源码
解压后到文件夹,拷贝在项目根目录下面,对文件夹点右键->Build Path->Use As Source Folder。
直接使用.java格式的weka源码,好处是可以在阅读源码的时候改动调试,添加自己的注释,还是很方便的。
4.测试
这样准备工作基本就做好了,我们做一下测试,下载一个测试data样例。weka官方提供了一些data example,下载地址
在项目src/test/java文件夹下建立一个测试类。main函数内容如下。
该函数的测试data是我上面地址下载的”vote.arff“,放入”项目根目录/data“中。顺利运行不报错就ok了。
public static void main(String[] args) throws Exception { Instances instances = DataSource.read("data/vote.arff"); instances.setClassIndex(16); System.out.println(instances.classAttribute()); J48 j48 = new J48(); j48.buildClassifier(instances);}
- Weka c4.5 决策树 j48源码 解析(一)
- Weka J48决策树算法(C4.5)源码学习
- Weka 学习:J48(C4.5)
- weka J48决策树学习
- 机器学习:WEKA的应用之 J48(C4.5)
- C4.5(weka又称为J48)算法原理详解
- J48 源码学习| Weka
- weka[2] - J48(一)
- weka分类器-C4.5决策树
- weka分类器-C4.5决策树
- mallet源码分析之决策树C4.5
- weka源码之C45(J48)
- 决策树算法解析---ID3,C4.5
- Weka算法Classifier-tree-J48源码分析(一)算法和基本数据结构
- Weka算法Classifier-tree-J48源码分析(一)算法和基本数据结构
- 分析ID3算法和C4.5算法,并分析J48源码结构
- 决策树c4.5编译,
- C4.5决策树算法
- 关于微信摇一摇关注的那点事~~
- C 注意事项
- 机器学习系列----决策树
- 框架集成hibernate的增删改查
- unity异常处理的方法
- Weka c4.5 决策树 j48源码 解析(一)
- Mac Intellij IDEA 15 JRebel642.0 破解 (2016-03-27 12:17:09)
- Android Studio 连接不上真机
- 剖析C数据类型和变量
- 程序员的搞笑日常生活
- Android 通过solid来定义不同边框的颜色,可以只定义一个边框的颜色
- struts2.3.28升级
- 自定义tableView的section header/footerView时的view复用问题
- swift2.0 学习笔记six