没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
实验一 决策树
一、 实验目的
1. 弄清决策数的概念以及在什么情况下会使用决策树
2. 通过学习具体案例掌握决策树算法以及意义
二、 实验内容
1. 决策树构造
构造就是生成一棵完整的决策树。简单来说,构造的过程就是选择什么属
性作为节点的过程,那么在构造过程中,会存在三种节点:
根节点:就是树的最顶端,最开始的那个节点。在上一页的图中,“天气”就
是一个根节点;
内部节点:就是树中间的那些节点,比如说“温度”、“湿度”、“刮风”;
叶节点:就是树最底部的节点,也就是决策结果。
节点之间存在父子关系。比如根节点会有子节点,子节点会有子子节点,
但是到了叶节点就停止了,叶节点不存在子节点。那么在构造过程中,你
要解决三个重要的问题:
(1)选择哪个属性作为根节点?
(2)选择哪些属性作为子节点?
(3)什么时候停止并得到目标状态,即叶节点?
每个内部节点表示在属性上的一个测试,每个分支代表一个测试输出,每
个叶节点代表一种类别。
2. 决策树有关算法
具体的决策树算法有:
1) Hunt 算法(如右图)
2) 信息增益 Information gain(ID3)
ID3 算法主要针对属性选择问题
使用信息增益度选择测试属性
3) 增益比率
Gain ration (C4.5)
4) 基尼指数
Gini index (CART)
5) 卡方检验
CHAID 决策树
3. ID3 决策树算法的建立步骤
1) 决定分类属性集合;
2) 对目前的数据表,建立一个节点 N;
3) 如果数据库中的数据都属于同一类,N 就是树叶,在树叶上标出所
属的类(纯的类别)
4) 如果数据表中没有其他的属性可以考虑,则 N 也是树叶,按照少数
服多数的原则在树叶上标出所属类别(不纯的类别);
5) 否则,根据平均信息期望 E 或 Gain 值选出一个最佳属性作为节点 N
的测试属性;
6) 节点属性选定后,对于该属性中的每个值:从 N 生成一个分支,并
将数据表中与该分支有关的数据收集形成分支节点的数据表,在表
中删除节点属性那一栏;
7) 如果分支数据表属性非空,则转 1,运用以上算法从该节点建立子树。
4. 具体实现案例
根据天气的各项指标如温度、湿度、刮风、天空外观等通过决策树 ID3
算法判断是否适合出去打篮球。
三、 实验过程
1. 根据 ID3 算法创建决策树
# coding=UTF-8
import numpy as np
#import
决策树绘制
from 决策树绘制 import createPlot
def createDataSet():
dataSet = np.array([[0, 0, 0, 0, 'N'],
[0, 0, 0, 1, 'N'],
[1, 0, 0, 0, 'Y'],
[2, 1, 0, 0, 'Y'],
[2, 2, 1, 0, 'Y'],
[2, 2, 1, 1, 'N'],
[1, 2, 1, 1, 'Y']])
labels = np.array(['outlook', 'temperature', 'humidity',
剩余16页未读,继续阅读
二话不说直接开摆
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Python大作业:音乐播放软件(爬虫+可视化+数据分析+数据库)
- 课程设计-python爬虫-爬取日报,爬取日报文章后存储到本地,附带源代码+课程设计报告
- 软件和信息技术服务行业投资与前景预测.pptx
- 课程设计-基于SpringBoot + Mybatis+python爬虫NBA球员数据爬取可视化+源代码+文档+sql+效果图
- 软件品质管理系列二项目策划规范.doc
- 基于TensorFlow+PyQt+GUI的酒店评论情感分析,支持分析本地数据文件和网络爬取数据分析+源代码+文档说明+安装教程
- 软件定义无线电中的模拟电路测试技术.pptx
- 软件开发协议(作为技术开发合同附件).doc
- 软件开发和咨询行业技术趋势分析.pptx
- 软件测试题详解及答案.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论5