机器学习之决策树笔记

平台:windows10 64位
IDE:Pycharm
Python版本:Python 3.5
github代码源代码my_DecisionTree.py


1 目录


决策树(decision tree)是一种常见的机器学习方法,其实在生活中我们已经用到了决策树相关的知识,比如说,女生相亲时的想法就是决策树的一种体现:
决策树
那么对于一般女生来说,首选的就是看对方年龄,根据年龄是否超过30来决定见不见南方,如果超过,不见,如果没有超过就继续判断,依次类推,这就是一个决策树。
那么对于上面的决策树来说,要解决的问题就是对当前男生的数据构建一颗决策树,用来对未来男生进行分类,即当要进行下一次相亲时,根据决策树来判断是否见面。
一般的,一颗决策树包含一个根节点、若干个内部节点和若干个叶节点,叶节点对应决策及结果,其他节点对应于一个属性的测试。可以很轻松的理解到,上图中年龄为根节点,长相、收入、公务员为内部节点,见或不见为叶节点。


2 基本算法

决策树基本算法图


3 数据划分

weka数据集
要想建立一个决策树,首先需要建立一个根节点,对于以上的数据集来说就是先根据那个类别来划分,即‘outlook、temperature、humidity、windy’中的哪个类别作为根节点,这就需要一个量来作为度量,那就是信息增益,以信息增益来作为划分依据的成为ID3(Iterative Dichotomiser迭代二分器)算法,还有以增益率(gain ratio)来划分的称为C4.5算法,以基尼系数(Gini index)划分的成为CART决策树


4 信息增益

4.1 信息熵

信息熵(information entropy)是用来度量信息源的不确定度。它的公式如下:

Ent(D)=k=1|y|pklog2pk(1) (1) E n t ( D ) = − ∑ k = 1 | y | p k log 2 ⁡ p k

其中 pk p k 为数据集 D D 中的 k 类样本所占的比例, Ent(D) E n t ( D ) 越小,则 D D
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值