zoukankan      html  css  js  c++  java
  • 决策树学习

    在学习决策树学习之前,我想先问问几个问题,以便好好梳理思路。

    1. 决策树是什么?干啥用的?决策树学习又是什么?

    2. 信息增益,纯度,熵是什么?在决策树中是干啥用的?

    3. 构建一个决策树包含哪几个步骤?如何构建?

    回答:

    1. 决策树是一棵用来进行决策的树(哈哈,有点在说废话的赶脚)。一旦决策树生成,往里面送入未知的数,都可以推测出结论来,所以他的作用是用来进行分类或推测的。决策树学习就是这棵决策树的学习过程,即他的构造过程。这里详细的解释一下这棵树。这棵树和普通的数据结构里面的树不一样,决策树的每个节点表示特征值或者对象,每个节点引出来的每条边表示这个特征值的属性,比如在进行给约会对象分类的问题中,玩游戏的时间,每周消耗冰淇淋的公升数是判断的特征值,这些特征值的属性是时间的分界和公升数的分界,超过某一定时间就划分为不喜欢,超过某一公升数就划分为不喜欢。这样就可以构建出一棵决策树了。但是这儿忽略了一个问题,什么样的特征值可以作为第一个判定的标准,即第一个节点呢?其他的节点的特征值又是如何被选择的呢?这就取决于第二个问题的解决。

    2. 熵表示一个系统的无序程度,熵将小表示系统趋于有序。信息增益表示在划分数据之前之后信息发生的变化。也就是原始数据熵减去划分数据集后熵的差值,所以划分数据集后的熵越小,则信息增益越大,数据集越有序。所以要选择数据集中使信息增益最大的特征值划分为标准,依次选择出特征值成为节点,按照递归思想构建出决策树。

    3. 根据上面所述,决策树首先需要计算熵,判断出最小的熵,确定为特征值,从而划分出数据集,然后使用递归思想依次选择出最好的特征值,划分数据集,从而构建出决策树。

  • 相关阅读:
    IIS请求筛选模块被配置为拒绝超过请求内容长度的请求(转)
    解决Android AVD启动报错问题
    找新朋友
    【枚举】【SDOI 2011】【bzoj 2241】打地鼠
    Invalidate、RedrawWindow与UpdateWindow的差别
    蓝牙DA14580开发:固件格式、二次引导和烧写
    【C/C++学院】0723-32位与64位/调戏窗体程序/数据分离算法/内存检索/二分查找法/myVC
    Maven 使用 二——nexus
    Linux程序编译链接动态库版本号的问题
    Key-Value Observing (键值监測)
  • 原文地址:https://www.cnblogs.com/jinee/p/4596627.html
Copyright © 2011-2022 走看看