Weka c4.5 决策树 j48源码 解析(一)

weka是一个java的机器学习库,官网
这篇文章是搭建阅读weka源码环境的过程。想直接看源码分析的可以跳过。

工具:Eclipse Java EE IDE for Web Developers.Version: Mars.2 Release (4.5.2)

  1. 新建一个maven项目
    如图,接下来有好几个下一步,这个比较随意,可以自己看着填,也可以上网搜索其他参考。
    使用maven主要的好处是相关的源码和jar包maven会自动帮你下载下来。不用自己手动一个个下载了。方法接下来会说。
    Weka c4.5 决策树 j48源码 解析(一)_第1张图片

  2. 添加maven依赖jar
    在maven 仓库中搜索weka,找到最新版本weka的依赖项。
    注意,这里不是把weka本身导进项目,而是把它的依赖项导进来,如下图,点击view。
    Weka c4.5 决策树 j48源码 解析(一)_第2张图片

    截取dependencies中间的内容,复制到项目根目录下的pom.xml文件中,保存,maven就会自动帮你下载dependency中定义的jar包。

<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);
}

你可能感兴趣的:(java,源码,weka)