Weka c4.5 决策树 j48源码 解析(一)
2016-04-28 11:31
357 查看
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。
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了。
这篇文章是搭建阅读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); }
相关文章推荐
- 上机题-字符个数统计
- MySQL中REGEXP正则表达式使用大全
- jQuery实现的鼠标经过时变宽的效果(附demo源码)
- iOS 控件宽高字体大小适配方法
- [javase]通过异常处理错误
- 火狐浏览器造成 spring3 MVC action的方法会执行两次
- 计算机网络复习
- html,shtml和htm的区别
- Intellij IDEA 创建Web项目并在Tomcat中部署运行
- Tomcat Connector三种运行模式
- mysql 怎样清空一个数据库中的所有表
- 基于Twemproxy的群集部署方案
- java分页之假分页实现简单的分页器
- UILabel显示html文本
- Hibernate -- 注解(Annotation)关系映射
- MyCat - 源代码篇(10)
- 键盘弹起时,输入框被挡,且其它view被顶上去
- Tree
- visual studio 2010 创建的MFC ActiveX 控件的工程不能运行 提示:无法启动.ocx程序
- iOS之离屏渲染