zoukankan      html  css  js  c++  java
  • 决策树总结《一》.md

    决策树总结《一》.md

    决策树模型与学习

    1. 定义

    一般的,一棵决策树包含一个根结点,若干个内部结点和若干个叶结点;叶结点对应于决策结果,其他每个结点则对应于一个属性测试;每个结点包含的样本集合根据属性测试的结果被划分到子结点中;跟结点包含样本全集,从跟结点到每个叶结点的路径对应一个判定测试序列。

    上面的定义可能有些抽象,我随意画了一个图来加深理解;

    可以看出,该决策树按照性别、身高、厨艺来构建,对其属性的测试,在最终的叶结点决定相亲对象是否符合男生相亲的标准。

    2. 基本算法

    决策树的算法通常是一个递归的选择最优特征,并根据该特征对训练数据进行分割,使得各个子数据有一个最好的分类过程,这一过程对应着特征空间的划分,也对应着决策树的构建。目前常见的算法包括 CART (Classification And Regression Tree)、ID3、C4.5、随机森林 (Random Forest) 等。

    1. 开始先构建根节点,将所有训练数据都放在根节点;
    2. 选择一个最优特征,按照这一特征将训练数据分割成子集,使得各个子集有一个在当前条件下最好的分类;
    3. 如果这些子集已经能够被基本正确分类,那么构建叶结点,并将这些子集分到所对应的叶结点中去;
    4. 如果还有子集不能被基本正确分类,那么就对这些子集选择新的最优特征,继续对其进行分割,构建相应的结点;
    5. 如此的递归下去,直至所有的训练数据子集被基本正确分类,或者没有合适的特征为止。最后每个子集都被分到叶结点上,即都有了明确的分类, 这就生成了一颗决策树。

    3. 划分选择

    决策树算法的重点在上图的第八行:“选择最优划分属性”,也就是如何选择最优划分属性,一般而言,随着划分的层级不断增高,我们希望决策树的分支结点所包含的样本尽可能的在同一个类别(否则专门为很少数的样本创建一个分支结点没啥意义),也就是其的“纯度”越来越高。

    信息熵则是专门用来表示样本纯度的指标,假定p(xi)表示在当前集合x中第 i 类样本所占的比例为p(xi),公式如下:

    其中,熵的值越小,集合x的纯度就越高;熵的值越大,随机变量的不确定性就越大。

    其中,t是T划分之后的集合,考虑到不同的分支结点所包含的样本数目不同,给分支结点赋予权重p(t),即样本数目越多的分支结点的影响就越大。一般而言,信息增益越大,则意味着使用该属性划分所获得的纯度提升就越大(因为H是不变的,所以信息熵就得越小,则纯度就越高),因此,我们可用信息增益来进行决策树的划分属性选择。

  • 相关阅读:
    走进MongoDB(二)
    走进MongoDB(一)
    InnoDB锁与事务模型
    InnoDB引擎架构的主要组件构成
    InnoDB多版本存储引擎简介
    mysql 数据库备份与恢复
    mysql 字符集
    java常见问题笔记
    mysql5.7 Installing MySQL on Microsoft Windows Using a noinstall Zip Archive(mysql解压版安装)
    作业day03吴童
  • 原文地址:https://www.cnblogs.com/George1994/p/8543420.html
Copyright © 2011-2022 走看看