当前位置:   article > 正文

决策树(信息熵、增益率、基尼指数)_基尼指数 决策树

基尼指数 决策树

目录

前言

一、决策树是什么?

二、实验过程

1.选择数据集中各个决策属性的优先级

1.1信息熵

1.2增益率

1.3基尼指数

2.决策树的构造

2.1创建决策树:

2.2准备数据:

 2.3.读取和保存决策树:

2.4绘制决策树:

3运行结果:

3.1利用信息熵进行构造

 3.2利用增益率进行构造决策树:

3.3利用基尼指数进行构造决策树:

总结






前言

决策树(Decision Tree)是一种简单但是广泛使用的分类器。通过训练数据构建决策树,可以高效的对未知的数据进行分类。决策数有两大优点:1)决策树模型可以读性好,具有描述性,有助于人工分析;2)效率高,决策树只需要一次构建,反复使用,每一次预测的最大计算次数不超过决策树的深度。




一、决策树是什么?

决策树(decision tree):是一种基本的分类与回归方法,此处主要讨论分类的决策树。

决策树通常有三个步骤:特征选择、决策树的生成、决策树的修剪。

用决策树分类:从根节点开始,对实例的某一特征进行测试,根据测试结果将实例分配到其子节点,此时每个子节点对应着该特征的一个取值,如此递归的对实例进行测试并分配,直到到达叶节点,最后将实例分到叶节点的类中。

例图:




二、实验过程




1.选择数据集中各个决策属性的优先级

        一个数据拥有非常多的属性,选择各个属性在决策树节点中的优先级变得尤为重要,决策树学习的关键在于如何选择最优划分属性。一般而言,随着划分过程不断进行,我们希望决策树的分支结点 所包含的样本尽可能属于同一类别,即结点的“纯度 ”(purity)越来越高

经典的属性划分方法:
        –信息增益: ID 3
        –增益率: C 4.5
        –基尼指数: CART







1.1信息熵

        1948年,香农提出了“信息熵”的概念,解决了对信息的量化度量问题。信息熵这个词是C.E.Shannon(香农)从热力学中借用过来的。香农用信息熵的概念来描述信源的不确定度。

“信息熵”是度量样本集合纯度最常用的一种指标 ,假定 当前样本集合 D 中第 k 类样本所占的比例为 p k ( K =1, 2, ..., | y |) ,则 D 的信息熵定义为
    

   

Ent(D)的值越小,则D的纯度越高         

  1. #计算给定数据集的香农熵
  2. def calcShannonEnt(dataSet):
  3. # 返回数据集的行数,样本容量
  4. numEntries = len(dataSet)
  5. # 保存每个标签出现出现次数的字典
  6. labelCounts = {}
  7. #对每组特征向量进行统计
  8. for featVec in dataSet:
  9. #提取标签(label)信息
  10. currentLabel = featVec[-1]
  11. #如果存在标签没有放入统计次数的字典,则将其添加
  12. if currentLabel not in labelCounts.keys():
  13. labelCounts[currentLabel] = 0
  14. #label计数
  15. labelCounts[currentLabel] += 1
  16. #香农熵赋初值
  17. shannonEnt = 0.0
  18. for key in labelCounts:
  19. #选择该标签的概率
  20. prob = float(labelCounts[key])/numEntries
  21. shannonEnt -=prob * log(prob,2)
  22. return shannonEnt
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/763790
推荐阅读
相关标签
  

闽ICP备14008679号