决策树算法 及其 python 实现

本文介绍了决策树算法的基本概念、流程、优缺点以及核心部分——如何选择最佳划分特征。详细讨论了信息增益、ID3、C4.5和CART决策树的区别,并给出了ID3决策树的Python实现。
摘要由CSDN通过智能技术生成

决策树算法 :

基本介绍 :

决策树算法是一类算法的集合,决策树顾名思义是在一棵树上进行决策的方法,称之为决策树算法,决策树首先是一棵树,树的每一个节点表示对一个特征的判断,每一个叶子节点表示一种判断的结果,下面的例子生动地解释了决策树算法的基本思想 : 每一层对每一个不同的特征进行判断,最后到叶子节点得到判断的答案。

这里写图片描述

决策树算法的基本流程

与一般的树的算法一样,是一种递归的过程。

CreateTree()
检查该节点数据集中的所有子项是否同属一个分类
    if so return 类标签
    else
        寻找划分的最好特征 // 决策树的关键步骤
        再次划分数据集
        创建新的分支节点
        遍历所有的分支节点
            递归调用 CreateTree()
return 分支节点;

决策树的优劣 :

优点 : 计算复杂度不高,输出结果容易理解,算法得到的准确度较高,可以处理多种类型的数据
缺点 : 容易产生过拟合的问题
使用数据类型 : 数值型和标称型

算法的核心部分 :

算法和核心在于,如何选取最好的划分特征,划分特征的选取直接决定了分类器结果的好坏时间和空间的开销……
划分特征的原则是 : 将原本无序的数据变得更加有序。
对于不同的特征的选取办法我们分成了三种不同的决策树模型
1. ID3决策树 (根据信息增益选择最好的特征)
2. C4.5决策树(根据信息增益率选择最好的特征)
3. CART决策树 (根据基尼系数选择最好的特征)

信息增益

信息的定义为 :如果待分类的事物可能划分在多个类中,则符号 x 的信息定义为 l(x) = -log(p(x)) 其中 p(x) 是平均情况下选择该分类的概率。

信息论中熵的定义为 : 信息的期望值 也就是下图的公式
这里写图片描述

熵的意义是 : 描述信息的无序程度。p(i)的意思是每种类别占总样本的比例,p(i) 越大无序程度越小,反之越大

有了熵的定义之后我们就可以定义信息增益了。
信息增益就是未经行划分前的信息熵减去以这个特征为划分之后的加权信息熵,它反映了熵的变化,当然我们要选择一个熵变化最大的作为我们该层的划分依据
用式子表示就是

这里写图片描述<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值