机器学习决策树

本文介绍了基于《机器学习实战》理解并实现决策树的过程。首先,解释了决策树的概念,然后详细阐述了信息增益的计算方法。接着,通过构建和解释决策树的构建流程,展示了如何根据信息增益选择最佳特征进行数据集划分。最后,通过实例展示了如何用Python实现决策树,并将其图形化,便于理解。实验总结中提到了决策树的优势和不足。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于《机器学习实战》理解并尝试决策树的实现。

目录

         一、理解决策树

二、理解信息增益

三、构建决策树

四、图形化决策树

实验总结:


一、理解决策树

我们在日常生活中有时会遇到一些决策,做出不同的决策就应对着不同的结果。比如我们在回家时,是面临选择坐公交车,还是打车,做出选择时还需考虑自己的经济能力以及路途远近等因素。决策树就是在这样一种情形下诞生的。下面是决策树的一个模板

二、理解信息增益

        上面提到,我们在回家要乘坐什么交通工具的时候,会依据自身经济能力以及路途远近等因素来考量,那么哪一个因素对于决策的影响更大,就需要应用信息增益来划分数据集。

        划分数据集的大原则是:将无序数据变得更加有序,但是各种方法都有各自的优缺点。在划分数据集前后信息发生的变化称为信息增益,获得信息增益最高的特征就是最好的选择,所以必须先学习如何计算信息增益,集合信息的度量方式称为香农熵,或者简称熵。

        熵定义为信息的期望值,在明晰这个概念之前,我们必须知道信息的定义。如果待分类的事务可能划分在多个分类之中,则符号xi的定义为:

l(xi) =- \log_{2}p(xi)

其中p(xi)是选择该分类的概率

        为了计算熵,我们需要计算所有类别所有可能值包含的信息期望值,通过下面公式得到

H = -\sum_{i=1}^{n}p(xi)\log_{2}p(xi)


书上还介绍另一种基尼不纯度,但是本次实验中不使用基尼不纯度方法,故不介绍

得到熵之后,我们就可以按照获取最大信息增益的方法划分数据集。

三、构建决策树

        在了解了以最大信息增益的方式划分数据集后,我们就可以构建决策树了,构造流程如下:首先遍历整个数据集,计算每一个特征的香农熵,之后在按香农熵最大的划分数据集,之后得到若干个划分后的数据集,在对划分后的数据集计算香农熵,再按香农熵最大的划分数据集,以此类推,直到遍历完所有划分数据集的属性,或者每个分支下的所有实例都具有相同的分类,这样,程序便终止了。


        但是世上万物都不可能是绝对的,数据集中的有些数据并不会完全符合预期,比如,你身上有足够的钱,并且回家的路途也很遥远,但是你也愿意骑共享单车回家,所以,在实际运用中,我们会多采用多数表决的方法决定叶子结点的分类

        本次实验中,决策树是以字典集的方式呈现的,树的分支是以嵌套字典的形式展现。


每次下课,同学们的第一件事就是会问朋友们去哪吃,以此列出以下四个特征:

                '外出意愿':0代表不想外出,1代表可以外出

                '生活费是否充足 ':0代表生活费不充足,1代表生活费充足

                ' 饱腹程度':0代表饿,1代表不是很饿

                '时间是否充足 ':0代表有时间,1代表没时间

外出意愿 生活费是否充足 饱腹程度 时间是否充足 结论
0 0 0 0 食堂
0 0 0 1 食堂
0 0 1 0 食堂
0 0 1 1 西餐厅
0 1 0 0 食堂
0 1 0 1 自助
0 1 1 0 食堂
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值