博客
关于我
西瓜书学习笔记——决策树
阅读量:569 次
发布时间:2019-03-09

本文共 1006 字,大约阅读时间需要 3 分钟。

决策树学习基础

决策树结构

决策树是一种用于分类和回归分析的机器学习模型,其结构由三个主要组成部分定义:

  • 根节点:代表样本全集。
  • 内部节点:通过特征(属性)测试将样本分成子集。
  • 叶节点:表示分类或预测结果。
  • 决策树学习目标

    决策树的核心目标是生成一棵具有强泛化能力的树木,即能够有效预测未见过的新样本。为实现这一目标,需要遵循以下步骤。

    划分节点

    在决策树算法中,有三种情况会触发返回:

  • 样本全属于同一类别,无需划分。
  • 当前属性集为空,或所有样本在所有属性上取值相同,无法划分。
  • 当前结点包含的样本集合为空,不能划分。
  • 在第二种情况下,叶结点可设为样本中最多类别的类别;在第三种情况下,叶结点设为父结点中样本最多的类别。

    信息熵

    信息熵是衡量数据纯度的重要指标,定义如下:

    [ E_n(D) = -\sum_{k=1}^{|y|} p_k \log_2 p_k ]

    其中,( p_k ) 是数据集中第k类样本所占比例。

    信息增益

    信息增益衡量特征划分带来的纯度提升,公式为:

    [ G_lain(D, a) = E_n(D) - \sum_{v=1}^V \frac{|D^v|}{|D|} E_n(D_v) ]

    其中,( V ) 是特征的可能取值数。

    增益率

    为了减少对可取值数较多属性的偏好,使用增益率:

    [ G_lain-ratio(D, a) = \frac{G_lain(D, a)}{I_V(a)} ]

    [ I_V(a) = -\sum_{v=1}^V \frac{|D^v|}{|D|} \log_2 \frac{|D^v|}{|D|} ]

    属性的增益率越高,划分越有意义。

    基尼指数

    CART算法使用基尼指数作为化分标准,公式为:

    [ G_i(D) = \sum_{k=1}^{|y|} \sum_{k' \ne k} p_k p_{k'} ]

    [ = 1 - \sum_{k=1}^{|y|} p_k^2 ]

    基尼指数越小,节点纯度越高。

    剪枝处理

    剪枝是减少决策树过拟合的关键手段。

    预剪枝

    在每次划分前,评估节点是否划分能提升泛化能力,不能的停止划分。

    后剪枝

    生成完整树后,从叶子开始评估每个非叶子节点是否能替换为叶节点,提升精度。

    优点

  • 减少过拟合风险。
  • 降低训练和测试时间开销。
  • 缺点

  • 可能导致欠拟合。
  • 训练时间耗长。
  • 通过预剪枝和后剪枝,平衡过拟合与欠拟合,为决策树优化提供有效方法。

    转载地址:http://zwxpz.baihongyu.com/

    你可能感兴趣的文章
    PGOS:今天动手给电脑装青苹果Win7 X64位系统
    查看>>
    pgpool-II3.1 的内存泄漏(一)
    查看>>
    PgSQL · 特性分析 · PG主备流复制机制
    查看>>
    PGSQL主键序列
    查看>>
    PGSQL安装PostGIS扩展模块
    查看>>
    Phalcon环境搭建与项目开发
    查看>>
    Phantom.js维护者退出,项目的未来成疑
    查看>>
    Pharmaceutical的同学们都看过来,关于补码运算的复习相关内容
    查看>>
    phoenix无法连接hbase shell创建表失败_报错_PleaseHoldException: Master is initializing---记录020_大数据工作笔记0180
    查看>>
    Phoenix简介_安装部署_以及连接使用---大数据之Hbase工作笔记0035
    查看>>
    phoenix连接hbase报错Can not resolve hadoop120, please check your network_记录026---大数据工作笔记0187
    查看>>
    Photoshop工作笔记001---Photoshop常用快捷键总结
    查看>>
    Reids配置文件redis.conf中文详解
    查看>>
    PHP
    查看>>
    Regular Expression Notes
    查看>>
    PHP $FILES error码对应错误信息
    查看>>
    PHP $_FILES函数详解
    查看>>
    PHP $_SERVER['HTTP_REFERER'] 获取前一页面的 URL 地址
    查看>>
    php & 和 & (主要是url 问题)
    查看>>
    php -- 魔术方法 之 判断属性是否存在或为空:__isset()
    查看>>