机器学习实战——决策树

本文介绍了决策树的学习过程,包括决策树的理解、构造方法、信息增益的概念和计算、如何划分数据集、选择最佳划分策略、多数表决法以及递归创建决策树的函数。通过这些步骤,详细阐述了决策树的构建过程及其在机器学习中的应用。
摘要由CSDN通过智能技术生成

决策树的理解

决策树(decision tree)是一种基本的分类与回归方法。
学过数据结构的朋友会知道树的结构图,我们使用树的结构将数据划分类别的树,叫做决策树。我们通过一张图来理解。
在这里插入图片描述

决策树的构造
一般流程

使用决策树做预测需要以下过程:
1.收集数据:可以使用任何方法。比如想构建一个相亲系统,我们可以从媒婆那里,或者通过参访相亲对象获取数据。
2.准备数据:收集完的数据,我们要进行整理,将这些所有收集的信息按照一定规则整理出来,并排版,方便我们进行后续处理。
3.分析数据:可以使用任何方法,决策树构造完成之后,我们可以检查决策树图形是否符合预期。
4.训练算法:这个过程也就是构造决策树,同样也可以说是决策树学习,就是构造一个决策树的数据结构。
5.测试算法:使用经验树计算错误率。当错误率达到了可接收范围,这个决策树就可以投放使用了。
6.使用算法:此步骤可以使用适用于任何监督学习算法,而使用决策树可以更好地理解数据的内在含义。

信息增益

划分数据的大原则:将无序的数据变得更有序
在划分数据集得前后信息发生得变化称之为信息增益。
我们有很多种方法,通过不同顺序的特征划分,不同的方法在划分前后数据的信息增益不同。
我们通过计算划分数据前后的信息增益,来选择划分的方法。
信息增益越大,划分的效果越好。
计算信息增益。集合信息的度量方式成为香农熵或者简称为熵(entropy),这个名字来源于信息论之父克劳德·香农。(看不懂没关系记住就好)
熵定义为信息的期望值。在信息论与概率统计中,熵是表示随机变量不确定性的度量。如果待分类的事务可能划分在多个分类之中,则符号xi的信息定义为在这里插入图片描述
其中p(xi)是选择该分类的概率。 通过上式,我们可以得到所有类别的信息。为了计算熵,我们需要计算所有类别所有可能值包含的信息期望值(数学期望),通过下面的公式得到:在这里插入图片描述
期中n是分类的数目。熵越大,随机变量的不确定性就越大。

代码
#计算给定数据的香农熵
def ShannonEntropy(dataset):
    #计算数据集的长度
    numData = len(dataset)
    #创建字典,用于记录各个特征的数目
    counts = {
   }
    #循环查找
    for fect in dataset:
        k = fect[-1]
        if k not in counts.keys():
            counts[k] = 0
        counts[k] +=1
    #香农熵
    ShannonEnt = 0.0
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值