作业解析-python决策树

目录

1. 作业题目……………………………………………………………….

2. 作业目的 ……………………………………………………………….

3. 运行效果 ……………………………………………………………….

4. 实现过程 ……………………………………………………………….

5. 知识点巩固 ……………………………………………………………

6 知识拓展 ………………………………………………………………..

7 学习建议 ………………………………………………………………..

作业辅导解析+1571

Decision Tree(ID3 or C4.5)[作业标题]

2019/2/3[日期]

1.作业题目:[Assignment 上面随便复制一点]

决策树(ID3C4.5) 对于此任务,您将开发自己的决策树计划。请将您的作业基于其中一个 以下算法:

– ID3

– C4.5

您的代码将在不同的数据集上进行测试,因此它应该是模块化的,以便 我们可以运行不同的数据集。

2.作业目的:[作业的目的 1-3 个点都可以]

(除了与dedsion树相关的函数):

数据集分割(80%用于培训,20%用于测试)

– K-交叉验证 使用UCI机器学习库中的以下数据集测试您的程序:

  • Iris 鸢尾花

  • House Votes 84

    程序的输入应包含两个文件: 1.包含属性名称的文件。此文件将包含逗号分隔的所有属性的名称 和最后一个属性对应于dass2.所有样本都由逗号分隔。文件每行就是一个样本。 程序的输出应该是决策树。这可以是文本输出或图形输出 对于本作业,您还需要实现以下函数(除了与dedsion树相关的函数):

    数据集分割(80%用于培训,20%用于测试)

    – K-交叉验证 使用UCI机器学习库中的以下数据集测试您的程序:

  • Iris 鸢尾花

  • House Votes 84 如果您决定使用ID3算法,则可以对连续属性执行离散化处理 您可以使用这样的域运行您的程序。

注意:请注意,遵循我们的 TA 发布此任务的任何其他规则,他将使用这

些规则进行

3.运行效果: [运行结果截图]

House Votes 84

image

Lris:

image

4.实现过程:[部分核心代码截图, 截图部分的代码 prefer 中英文注 释]

image

5.知识点巩固:[相关知识点 1-3 点总结]

C4.5 算法是机器学习算法中的一种分类决策树算法,它的目标是监督学习:给 定一个数据集,其中的每一个元组都能用一组属性值来描述,每一个元组属于一 个互斥的类别中的某一类。C4.5 的目标是通过学习,找到一个从属性值到类别 的映射关系,并且这个映射能用于对新的类别未知的实体进行分类。 其核心算法是 ID3 算法。C4.5 算法继承了 ID3 算法的优点,并在以下几方面对 ID3 算法进行了改进:

1) 用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多 的属性的不足;

2) 在树构造过程中进行剪枝;

3) 能够完成对联系属性的离散化处理;

4) 能够对不完整数据进行处理。 C4.5 算法

优点: 分类速度快,产生的分类规则容易理解,准确率高,能够处理连续属性。 缺点:

1) 在构造树的过程中,需要随数据集进行多次的顺序扫描和排序,因而导致 算法的低效。

2) C4.5 算法容易导致过度拟合。

3) C4.5 只适合于能够驻留于内存的数据集,当训练集大得无法在内存容纳时 程序无法运行。

6.知识拓展:[拓展知识点 1-3 点总结]

1,首先拿到数据的时候需要对数据进行一定的处理,判断是离散型

数据还是连续型数据,lris 是连续型数据,house-votes-84 是离散

型数据; 2,数据预处理工作,比如将非数值型数据转换成数值型,pandas 有 提供比较完善的方法,可以学习相关的操作;

3,由于 house-votes-84 数据集默认没有各个特征名称,我在这里 给了默认的 1-16 这样的特征名称。下面的这个链接是详细介绍该数 据集的资料,可以把每个特征的含义作为特征名。 http://www.ugrad.stat.ubc.ca/R/library/mlbench/html/HouseVo

tes84.html

4,代码的运行环境是 python3.6 以上,还需要安装 numpy, pandas,matplotlib,fire==0.1.3 的包,如果是在 unix 的环境下直 接在命令行通过 pip 来安装以上四个 python 包。详细可通过个人电 脑的操作系统自行上网查询相关安装,不懂也可以随时咨询导师。

运行方法:直接命令行在该文件夹的目录路径下运行。

python decision_makingtree.py 属性名文件 数据集文件

比如:

python decision_makingtree.py house_votes_84_attrs_name.txt house- votes-84.data.csv

7.学习建议:[根据学习 IT 的经验,写 1-3 , prefer 3 个点]

1,在看懂原理之后最好自己手敲一遍,不懂的地方,自己慢慢调试。

2,多多复习。