zoukankan      html  css  js  c++  java
  • 机器学习笔记-监督学习之决策树

    0机器学习中分类和预测算法的评估:

    • 准确率
    • 速度
    • 健壮性
    • 可规模性
    • 可解释性

    1决策树(判定树)的概念

      决策树是一个类似于流程图的树结构(可以是二叉树或多叉树):其中,每个内部结点表示在一个属性上的测试,每个分支代表一个属性输出,而每个树叶结点代表类或类分布。树的最顶层是根结点。机器学习中分类方法中的一个重要算法。

    2.熵(entropy)概念

      信息和抽象如何度量?1948年,香农提出“信息熵”的概念。

    一条信息的信息量大小和它的不确定性有直接的关系,要搞清楚一件非常非常不确定的事情,或者是我们一无所知的事情,需要了解大量的信息==>信息量的度量就等于

    3.决策树的归纳算法(ID3)

    3.1选择属性判断结点

    3.2信息获取量:Gain(A)=Info(D)-Info_A(D)

    基本步骤:

    • 树以代表训练样本的单个结点开始(步骤1)。
    • 如果样本都在同一个类,则该结点成为树叶,并用该类标号(步骤2 和3)。
    • 否则,算法使用称为信息增益的基于熵的度量作为启发信息,选择能够最好地将样本分类的属性(步骤6)。该属性成为该结点的“测试”或“判定”属性(步骤7)。在算法的该版本中,
    • 所有的属性都是分类的,即离散值。连续属性必须离散化。
    • 对测试属性的每个已知的值,创建一个分枝,并据此划分样本(步骤8-10)。
    • 算法使用同样的过程,递归地形成每个划分上的样本判定树。一旦一个属性出现在一个结点上,就不必该结点的任何后代上考虑它(步骤13)。
    • 递归划分步骤仅当下列条件之一成立停止:
    • (a) 给定结点的所有样本属于同一类(步骤2 和3)。
    • (b) 没有剩余属性可以用来进一步划分样本(步骤4)。在此情况下,使用多数表决(步骤5)。
    • 这涉及将给定的结点转换成树叶,并用样本中的多数所在的类标记它。替换地,可以存放结
    • 点样本的类分布。
    • (c) 分枝
    • test_attribute = a i 没有样本(步骤11)。在这种情况下,以 samples 中的多数类
    • 创建一个树叶(步骤12)
  • 相关阅读:
    JavaScript对原始数据类型的拆装箱操作
    Javascript继承(原始写法,非es6 class)
    动态作用域与词法作用域
    自行车的保养
    探索JS引擎工作原理 (转)
    C语言提高 (7) 第七天 回调函数 预处理函数DEBUG 动态链接库
    C语言提高 (6) 第六天 文件(续) 链表的操作
    C语言提高 (5) 第五天 结构体,结构体对齐 文件
    C语言提高 (4) 第四天 数组与数组作为参数时的数组指针
    C语言提高 (3) 第三天 二级指针的三种模型 栈上指针数组、栈上二维数组、堆上开辟空间
  • 原文地址:https://www.cnblogs.com/fxust/p/7260759.html
Copyright © 2011-2022 走看看