基础算法-分类决策树

本文深入介绍了分类决策树算法,包括ID3、C4.5和CART算法,阐述了熵、信息增益和基尼系数等概念,并探讨了决策树的剪枝方法与优缺点。此外,还提供了决策树API的关键参数解析,以及在电信用户流失预测中的应用与改进。
摘要由CSDN通过智能技术生成

分类决策树算法原理

分类决策树算法概述

决策树是其他算法的基础,是一个基学习器,是高级算法的基础

在这里插入图片描述

决策树其实是模拟了人决策的过程。
根节点:第一个节点(如房产)
非叶节点:中间节点(如车辆、年收入)
一步一步:逐步判断
叶节点:最终结果(可以贷款1、不可以贷款0)

在这里插入图片描述

决策树分类标准

分类标准有哪些和参考博客

参考博客:张小瓜
参考博客:信息增益比 vs 信息增益

在这里插入图片描述

在这里插入图片描述

1、ID3算法–>熵
2、C4.5算法–>信息增益率
3、CART决策树–>基尼系数

先理解熵的计算

熵值衡量标准和计算公式

在这里插入图片描述

p∈[0,1], log p∈(-∞,0], 那么p*log p是一个复数,因此在前面加符号,使熵值为正。

熵值的手算实例

在这里插入图片描述

log2(2/10):第一个2是底
A集合相当于专卖店
B集合相当于杂货店

1、 ID3算法–>信息增益

ID3算法的手算实例

在这里插入图片描述
以是否出去打球为例子:
outlook:天气情况
temperature: 温度情况
humidity:湿度信息
windy:刮风情况
play:是否去打球

第一遍遍历:是否出去打球的熵

在这里插入图片描述

后面的图查看我自己的word文档

ID3算法的总结

在这里插入图片描述
**信息增益的核心思想:**信息增益越大,说明该特征对减少样本的不确定性程度的能力越大,也就代表这个特征越好。
取数?=频数

2、 C4.5算法–>信息增益率

C4.5算法的手算实例

在这里插入图片描述

在这里插入图片描述

C4.5算法的总结

在这里插入图片描述
因此, 熵值较小的特征带来的收益比较大。

3、 CART决策树–>基尼系数

CART算法的手算实例
CART算法的总结

在这里插入图片描述

在这里插入图片描述

决策树剪枝和优缺点介绍

决策树的剪枝

在这里插入图片描述

决策树很容易过拟合,所以剪枝很重要。
预剪枝:边建立树边剪
后剪枝:建立了决策树之后才剪,比较慢和消耗计算机(所以用的比较少)

在这里插入图片描述

1、限制树的深度

假设n个样本丢进决策树,到了第5层左边两个叶子节点分别有1个和2个,第四层最左边中间节点就是 3个,第3层最左边中间节点有10个,那么第四层和第五层的样本数太少了,泛化能力就比第三层弱很多,所以可以去掉。

2、限制叶子节点的个数和叶子节点的样本数

假设n样本丢进决策树,在第三层设置向下’分裂‘的阈值是20,就保证了第三层节点的样本个数。

3、基尼系数阈值

为基尼系数设定阈值,如果基尼系数低于某个阈值就不向下”分裂“

决策树优缺点

优点

1、容易可视化
2、决策树对缺失值不敏感,逻辑回归则比较敏感
3、作为基学习器,构成高级算法

缺点

1、决策树类别较多时候,错误率增加的会比较快,不利于多分类。不过一般情况下都是二分类问题
2、过拟合问题较难调教

代码实战

决策树API参数详解

class sklearn.tree.DecisionTreeClassifier(criterion=’gini’, splitter=’best’, max_depth=None, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features=None, random_state=None, max_leaf_nodes=None, min_impurity_decrease=0.0, min_impurity_split=None, class_weight=None, presort=False)
树模型参数:
• 1.criterion :gini or entropy 【采用基尼系数还是熵值衡量,默认基尼系数】
• 2.splitter: best or random 前者是在所有特征中找最好的切分点 后者是在部分特征中(数据量大的时候)【默认best,无需更改】
• 3.max_features:(所有),log2,sqrt,N 特征小于50的时候一般使用所有的 【默认取所有特征,无需更改】
• 4.max_depth: 数据少或者特征少的时候可以不管这个值,如果模型样本量多,特征也多的情况下,可以尝试限制下。如果没有设置,那么将会把节点完全展开,直到所有的叶子节点都是纯的,或者达到最小叶子节点的个数阈值设置。
• 5.min_samples_split :(内部节点再划分所需最小样本数),如果某节点的样本数少于min_samples_split,则不会继续再尝试选择最优特征来进行划分,如果样本量不大,不需要管这个值。如果样本量数量级非常大,则推荐增大这个值。【控制内部节点分裂的情况;假设=10,那么分裂的数量小于10就不会再次分裂了,默认2个】
• 6.min_samples_leaf :(叶子节点最少样本数),这个值限制了叶子节点最少的样本数,如果某叶子节点数目小于样本数,则会和兄弟节点一起被剪枝,如果样本量不大,不需要管这个值【先构成决策树,再剪枝,当小于某个设定值后,删除此节点以及此节点的分支节点】
• 7.min_weight_fraction_leaf&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值