【机器学习笔记】Decision Trees(决策树)

向右看齐 2023-05-29 14:26 122阅读 0赞

内容概述

  • 通俗地讲,决策树提出一个问题,然后根据回答者的答案将回答者区分。
  • 决策树图中,最上面的只有指出箭头的结点称为“根结点”,中间既有指入又有指出的结点称为“内部结点”,下方只有指入箭头的绿色结点称为“叶结点”。
  • 那么决策树应该如何建立呢?
  • 根结点该如何选择?
  • 作出每个特征的树状图后,通过算法计算出每个特征与心脏疾病的相关性。
  • 我们将使用“Gini(基尼)”来比较它们谁更不纯。
  • 将根结点确定下来后,确定后续结点同样需要使用Gini不纯系数,并确保每个结点的不纯系数取最小值。
  • 上述例子中只使用了布尔值(True or Flase),增加数值后又该如何建立决策树呢?
  • 增加选项值后,应该如何计算它的Gini不纯系数?

#

通俗地讲,决策树提出一个问题,然后根据回答者的答案将回答者区分

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hhMWZfQXdha2U_size_16_color_FFFFFF_t_70

决策树图中,最上面的只有指出箭头的结点称为“根结点”,中间既有指入又有指出的结点称为“内部结点”,下方只有指入箭头的绿色结点称为“叶结点”。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hhMWZfQXdha2U_size_16_color_FFFFFF_t_70 1

那么决策树应该如何建立呢?

在下面的例子中,我们打算通过Chest Pain、Good Blood Circulation和Blocked Arteries来预测一名患者是否得心脏疾病

因此,我们需要在三个特征中选择一个作为根结点。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hhMWZfQXdha2U_size_16_color_FFFFFF_t_70 2

根结点该如何选择?

选择与心脏疾病最相关的特征。

依次对比每个特征列与结果列的每一行数值,作出每个特征的树状图。

比如,某个患者得了Chest Pain,那我们就沿True路径往下走,如果该患者还得了心脏疾病,那么叶结点中的Yes+1,否则No+1。如此类推…..

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hhMWZfQXdha2U_size_16_color_FFFFFF_t_70 3

作出每个特征的树状图后,通过算法计算出每个特征与心脏疾病的相关性。

注意:因为没有一个特征树的叶结点是百分百Yes或者No,所以它们都被认为是不纯的(impure)

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hhMWZfQXdha2U_size_16_color_FFFFFF_t_70 4

我们将使用“Gini(基尼)”来比较它们谁更不纯。

(说法有点怪怪的///)

  1. 通过Figure 1中的算式来算出两个叶结点的Gini不纯系数;

  2. 通过Figure 2中的算式来算出根结点(即某个特征)的Gini不纯系数(不纯系数越低越好);

这种算法在后面还会用到。

Figure 1:watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hhMWZfQXdha2U_size_16_color_FFFFFF_t_70 5

Figure 2:watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hhMWZfQXdha2U_size_16_color_FFFFFF_t_70 6

将根结点确定下来后,确定后续结点同样需要使用Gini不纯系数,并确保每个结点的不纯系数取最小值。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hhMWZfQXdha2U_size_16_color_FFFFFF_t_70 7

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hhMWZfQXdha2U_size_16_color_FFFFFF_t_70 8

上述例子中只使用了布尔值(True or Flase),增加数值后又该如何建立决策树呢?

第一步:对数值进行排序;

第二步:计算每个相邻数值间的平均值;

第三步:计算每个平均值的Gini不纯系数;

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hhMWZfQXdha2U_size_16_color_FFFFFF_t_70 9

增加选项值后,应该如何计算它的Gini不纯系数?

——计算所有选项组合的不纯系数。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hhMWZfQXdha2U_size_16_color_FFFFFF_t_70 10

发表评论

表情:
评论列表 (有 0 条评论,122人围观)

还没有评论,来说两句吧...

相关阅读

    相关 决策理论--Decision tree

    决策树面试被提及的题目: 1、决策树的原理:         从根结点开始,对实例的某一特征进行测试,根据测试的结果,将实例分配到其子结点;每一个子结点对应着该特征的一个取