决策树(Decision Tree)算法原理及其python实现

1.熵的概念

在这里插入图片描述
不确定性越大熵就越大,不确定性越小熵就越小

在这里插入图片描述
说明A的不确定性最大,B的不确定性较小,C是一个确定性事件所以熵为0

2.ID3算法

ID3算法是通过信息增益的计算来选择根节点的划分
在这里插入图片描述
在这里插入图片描述
会发现age的信息增益最大,根据ID3算法,始终选择信息增益最大的作为根节点,所以把age作为根节点
在这里插入图片描述
决策树生成第一层之后,在每个叶子节点重复上面的操作再确定下一个分支结点
同时对于连续变量的处理我们可以在每两个数据之间依次计算信息增益的大小(处理成类似于离散型数据),再选择信息增益最大的年龄段来作为根节点,例如大于23岁和小于23岁

3.C4.5算法

首先说明信息增益的缺点(该内容来自百度百科)
在这里插入图片描述
在这里插入图片描述
正是存在这样的缺点所以引进了C4.5算法
C4.5算法是通过增益率的计算来选择根节点的划分
在这里插入图片描述
在这里插入图片描述

4.CART算法(Gini系数)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对于年收入的处理与之前连续变量的处理类似,依次取中值计算
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

# 创建数据集
import random
import numpy as np
import pandas as pd


def createDataSet():
    row_data = {
   'no surfacing': [1, 1, 1, 0, 0],
                'flippers': [1, 1, 0, 1, 1],
                'fish': ['yes'
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值