zoukankan      html  css  js  c++  java
  • 《机器学习》西瓜书第四章决策树

    本章主要对决策树算法进行了讲解,主要有决策树的生成过程、决策树的划分选择、决策树的剪枝处理、连续与缺失值的处理以及多变量决策树。

    4.1 基本流程

    决策树是基于树的结构来进行决策的。包含一个根节点、若干内部节点和若干叶节点。叶节点对应于决策结果,其他每个结点对应于一个属性测试。

    决策树学习的目的是产生一颗泛化能力强的决策树,其基本流程遵循简单的“分而治之”策略。

    决策树学习的基本算法

    输入:训练集D = {(x1,y1),(x2,y2),...,(xn,yn)};

            属性集 A = {a1,a2,...,ad}

    过程:函数TreeGenerate(D,A)

    1.生成结点node;

    if D中样本全属于同一类别C then

         将node标记为C类叶节点;return;

    end if;

    if A = 空集 OR D中样本在A上取值相同 then

        将node标记为叶节点,其类别标记为D中样本数最多的类;return

    end if

    从A中选择最有划分属性a*;

    for a* 的每一个值 av do

       为node生成一个分支;令Dv表示D中在a*上取值为av的样本子集;

       if Dv为空 then

           将分支结点标记为叶节点,其类别标记为D中样本最多的类;return

       else

          以TreeGenerate(Dv,A{a*})为分支结点

       end if

    end for

    输出:以node为根节点的一棵决策树。

    4.2划分选择

    我们希望决策树分支结点所包含的样本尽可能属于同一类别。

    4.2.1 信息增益

    “信息熵”-----度量样本纯度的指标,信息熵值越小,纯度越高。

  • 相关阅读:
    mvc 数据验证金钱格式decimal格式验证
    VMware与CentOS的安装与Linux简单指令
    rbac组件引用
    Django--CRM--菜单展示, 删除合并, 权限展示
    Django--CRM--菜单排序等
    Django--CRM--一级, 二级 菜单表
    Django--权限信息操作
    Django--CRM--modelformset的用法
    Django--CRM--QueryDict, 模糊搜索, 加行级锁
    Django--CRM-客户列表展示, 分页
  • 原文地址:https://www.cnblogs.com/ttzz/p/11516628.html
Copyright © 2011-2022 走看看