文章目录
一、决策树的是什么?
1.是⼀种树形结构,本质是⼀颗由多个判断节点组成的树
2.每个内部节点表示⼀个属性上的判断
3.每个分⽀代表⼀个判断结果的输出
4.最后每个叶节点代表⼀种分类结果
二、决策树算法原理
决策树算法基本原理是用决策点代表决策问题,用方案分枝代表可供选择的方案,用概率分枝代表方案可能出现的各种结果,经过对各种方案的各种结果的比较,为决策者提供决策依据。
三、决策树典型算法
名称 | 分支方式 | 提出时间 | 备注 |
---|---|---|---|
ID3 | 信息增益 | 1975 | 只能对离散数据集进行构建决策树 |
C4.5 | 信息增益率 | 1993 | 优化解决ID3分支过程中总是偏向分类多的属性 |
CART | Gini系数 | 1984 | 可以进行分类回归,可以处理离散数据集,也可以处理连续数据集 |
下面根据这个数据集对三种算法进行分析
集美大学三好学生评选表
— | 是否挂科 | 获得奖学金次数 | 综测评价 | 体质健康是否达标 | 宿舍检评 | 是否符合条件 |
---|---|---|---|---|---|---|
1 | no | 4 | excellect | yes | excellent | yes |
2 | no | 1 | good | no | excellent | no |
3 | no | 0 | excellect | yes | excellent | yes |
4 | no | 1 | excellect | no | excellent | no |
5 | no | 2 | good | yes | excellent | yes |
6 | no | 1 | excellect | yes | excellent | no |
7 | no | 1 | excellect | yes | excellent | yes |
8 | yes | 0 | good | yes | excellent | no |
9 | no | 2 | good | yes | good | no |
10 | no | 2 | excellect | yes | excellent | yes |
11 | yes | 2 | excellect | yes | excellent | no |
12 | yes | 0 | good | yes | good | no |
13 | yes | 0 | excellect | yes | pass | no |
14 | no | 4 | excellect | yes | excellent | yes |
15 | no | 2 | excellect | yes | excellent | yes |
1、ID3算法
“信息熵”是度量样本集合纯度最常用的一种指标,假定当前样本集合D中第k类样本所占的比例为 p k (K=1, 2, …, |y|),则D的信息熵定义为
离散属性a有V个可能的取值{a 1 , a 2 , …, a V },用a来进行划分,则会产
生V个分支结点,其中第v个分支结点包含了D中所有在属性a上取值为
a v 的样本,记为D v 。则可计算出用属性a对样本集D进行划分所获得的
“信息增益” :
一般而言,Ent(D)的值越小,信息增益越大,则意味着使用属性a来进行划分所获得的“纯度提升”越大。
ID3算法就是以信息增益为准则来选择划分属性
以集美大学三好学生评选表为例
总熵值:
以属性"是否挂科"为例,其对应的数据子集分别为D1(是否挂科=yes) ,D2(是否挂科=no)