美文网首页
学习决策树,随机森林的笔记

学习决策树,随机森林的笔记

作者: ruihan_xia | 来源:发表于2018-06-04 18:33 被阅读0次

    Q1: 决策树是如何找到最优的分类特征的?
    A: 通过计算"信息增益","信息增益比",数值大的特征,是用作划分的特征

    Q2: 信息增益是如何计算的?
    A: 计算出数据集的"熵"和使用了某一个特征的"条件熵". 再用"熵"减去"条件熵"得到

    Q3: 如何理解熵?
    A: 熵表示离散随机变量的不确定性.
    也就是说,熵的大小,取决于随机变量发生的概率.

    Q4:如何理解条件熵
    A:当某个特征确定后,求和(该特征的某个特征值对应的数据集的熵 * 该特征的某个特征值出现的概率

    Q5:找到特征后,从特征的哪一个点划分?

    • 对于ID3方式
      重点在于,找到最优特征Ag后,将数据集根据每一个Ag的可能值,划分子集.将划分的数据子集中,类别数最多的实例作为该节点的分类.
    • 对于C4.5也是如此,只不过此处用信息增益比来划分

    Q6:在sklearn中,决策时使用的是什么算法?

    • 使用的CART,不可能是ID3或者C4.5.
    • 具体的说,使用的比较特殊的CART,因为可以用到"熵"进行分类
    • 不能够用到ID3和C4.5,因为在sklearn中始终是二叉树

    Q7: CART的进行分类,剪枝的原理是什么?

    • 分类 *
    1. CART分类采用的二叉树的分类方式,不会像ID3或者C4.5去找到一个最优的特征,然后将这个特征所有的离散变量进行划分
    2. CART会去寻找”基尼指数"最小的特征点进行划分,具体的说,是找到最优的特征,然后找到某一个最优的特征值进行划分,使得Gini(D,A)达到最小。
    3. 算法停止的时候,是样本个数小于阈值,或者基尼指数小于阈值,或者没有更多的特征。
    • 剪枝 *
    1. 前提条件:对于一个节点t和这个节点的二叉树子节点Tt,我们能够计算出T,Tt考虑了“复杂度”的损失函数。 我们总能够找到一个α,使得T,Tt的考虑了损失函数的α相同。 α的意义是权衡模型的拟合程度与模型的复杂度。当T,Tt的损失函数相同时,我们更倾向选择简单的决策树。

    2. 我们对整棵树T0,考虑每一个节点,得到了最小的α。将α对应的分支减掉,作为决策树T1.

    3. 再去看第二小的α,将对应的分支减掉,得到决策树T2.如此得到许多T3,T4,Tn许多决策树

    4. 利用交叉验证法,利用测试数据集,去检验哪一棵子树靠谱,选择最优的子树。

    Q8:CART原理说的太特么啰嗦了,简单点说呢

    CART分为生成树和剪枝。

    生成树只会生成二叉树,划分二叉树的标准是,去寻找”某个特征,某个数据“使得信息不确定(基尼系数)最小。

    剪枝是考虑模型的拟合程度和模型的复杂度,根据复杂度不同,获得了多颗子树。
    利用交叉验证法,找到最优的子树。

    Q9:随机森林,extra-tree的原理是什么?

    1. 利用bootstrap,随机抽取样本,构建多颗决策树,这里一般构建样本个数颗决策树.

      • 原因是可以达到偏差和方差的平衡
    2. 对于随机森林中的每颗决策树,随机选择n个特征.使用CART方式分裂, 在sklearn中,这里的n一般去特征数开平方.

    • 原因是特征太多,使得树之间缺少独立性,特征太少,使得无法预测.
    1. 对于extra-tree,在最优的特征的中,随机选择一个特征进行分裂.

    Q10: 随机森林的随机,是哪两重随机?

    1. bootstrap抽取样本
    2. 随机选择选择特征

    Q11: 可视化决策树过程?

    image.png

    相关文章

      网友评论

          本文标题:学习决策树,随机森林的笔记

          本文链接:https://www.haomeiwen.com/subject/qciysftx.html