决策树原理详解及python代码实现

本文详细介绍了决策树的三种算法:ID3、C4.5和Cart,包括各自的原理、优缺点以及如何处理缺失值。通过比较,强调了决策树在数据分类和回归中的应用,并提供了Python代码实现的步骤,包括数据处理、模型训练和评估。同时,讨论了决策树过拟合的解决方法和调参注意事项。
摘要由CSDN通过智能技术生成

1、算法原理

1.1 ID3(多叉树分类)

信息熵: E n t ( D ) = − ∑ i = 1 n p i l o g p i Ent(D)=-\sum_{i=1}^np_ilogp_i Ent(D)=i=1npilogpi其中n为类别, p i p_i pi为每个类别的概率, D D D为某个特征,越小越确定

信息增益: G a i n ( D , a ) = E n t ( D ) = − ∑ v = 1 v ∣ D v ∣ ∣ D ∣ E n t ( D v ) Gain(D,a)=Ent(D)=-\sum_{v=1}^v\frac{|D^v|}{|D|}Ent(D^v) Gain(D,a)=Ent(D)=v=1vDDvEnt(Dv)越大纯度提升越大,所以分裂 a r g m a x G a i n ( D , a ) argmaxGain(D,a) argmaxGain(D,a)

eg.15个样本,9个1和6个0;有个特征A(取值 A 1 A_1 A1 A 2 A_2 A2 A 3 A_3 A3,其中 A 1 A_1 A1(3个1,2个0),其中 A 2 A_2 A2(2个1,3个0)其中 A 3 A_3 A3(4个1,1个0))

E n t ( A ) = − ( 9 15 ∗ l o g 2 9 15 + 6 15 ∗ l o g 2 6 15 ) = 0.971 Ent(A)=-(\frac{9}{15}*log_2\frac{9}{15}+\frac{6}{15}*log_2\frac{6}{15})=0.971 Ent(A)=(159log215

  • 6
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值