文章目录
决策树
决策树简介
- 生活中的决策树
请添加图片描述
-
决策树是一种树形结构
树中每个内部节点表示一个特征上的判断, 每个分支代表一个判断结果的输出,每个叶子节点代表一种分类结果
-
决策树的建立过程
1.特征选择 : 选取有较强分类能力的特征
2.决策树生成: 根据选择的特征生成决策树
3.决策树也容易过拟合,采用剪枝的方法缓解过拟合
ID3决策树
信息熵
- 计算方法
- 例如:
)
信息增益
- 概念:
特征a对训练数据集D的信息增益𝐺𝑎𝑖𝑛(𝐷, 𝑎)或g(D,a),定义为集合D的熵H(D)与特征a给定条件下D的熵H(D | a)之差。
- 数学公式:
𝐺𝑎𝑖𝑛(𝐷, 𝑎) = H(D)-H(D | a) 信息增益 = 熵 - 条件熵
- 条件熵:
- 例如
ID3决策树构建流程
1.计算每个特征的信息增益
2,使用信息增益最大的特征将数据集 拆分为子集
3.使用该特征 (信息增益最大的特征)作为决策树的一个节点
4.使用剩余特征对子集重复上述(1,2,3)过程
ID3决策树的不足
偏向于选择种类多的特征作为分裂依据
C4.5决策树
信息增益率
- 信息增益率 = 信息增益 /特征熵
- 计算方法
- 信息增益率的本质
- 特征的信息增益 ➗ 特征的内在信息
- 相当于对信息增益进行修正,增加一个惩罚系数
- 特征取值个数较多时,惩罚系数较小;特征取值个数较少时,惩罚系数较大。
- 惩罚系数:数据集D以特征a作为随机变量的熵的倒数
- 例如:
信息增益率的作用:
- 信息增益偏向于选择种类多的特征作为分裂依据
- 缓解ID3树中存在的不足
CART决策树
Cart模型是一种决策树模型,它即可以用于分类,也可以用于回归。
Cart回归树使用平方误差最小化策略,
Cart分类生成树采用的基尼指数最小化策略。
基尼值和基尼指数:
注意:
1.信息增益(ID3)、信息增益率值越大(C4.5),则说明优先选择该特征。
2.基尼指数值越小(CART),则说明优先选择该特征。
CART分类树
- 已知:是否拖欠贷款数据。
- 需求:计算各特征的基尼指数,选择最优分裂点
三种分类树的对比:
名称 | 提出时间 | 分支方式 | 特点 |
---|---|---|---|
ID3 | 1975 | 信息增益 | 1.ID3只能对离散属性的数据集构成决策树2.倾向于选择取值较多的属性 |
C4.5 | 1993 | 信息增益率 | 1.缓解了ID3分支过程中总喜欢偏向选择值较多的属性2.可处理连续数值型属性,也增加了对缺失值的处理方法3.只适合于能够驻留于内存的数据集,大数据集无能为力 |
CART | 1984 | 基尼指数 | 1.可以进行分类和回归,可处理离散属性,也可以处理连续属性2.采用基尼指数,计算量减小3.一定是二叉树 |
泰坦尼克号生存预测
决策树API介绍
class sklearn.tree.DecisionTreeClassifier(criterion=’gini’,max_depth=None,random_state=None
- Criterion: 特征选择标准 “gini"或"entropy”,前者代表基尼系数,后者代表信息增益。默认"gini",即CART算法
- min_samples_split:内部节点再划分所需最小样本数
- min_samples_leaf:叶子节点最少样本数
- max_depth:决策树最大深度
案例背景和数据情况
代码实现
导包
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import</