zoukankan      html  css  js  c++  java
  • 【机器学习算法应用和学习_2_理论篇】2.1 决策树

    一、原理阐述


    算法类型:监督学习_分类算法

    输入:数值型或标称型

    V1.0


      将测试集挨个按特征的特征值划分,计算划分前与划分后的混乱度之差,将差最大的特征作为第一层节点,得到被该特征的特征值划分出来几块数据。再将这几块数据分别按上面的步骤重复进行(递归过程),直到该块都是同一类或特征值用完为止。

    二、算法选择


    算法 特点&区别
    ID3 信息增益为准则来选择划分属性
    C4.5 不直接使用信息增益,而是使用增益率来选择最优划分属性
    CART 使用基尼指数来选择划分属性

    三、算法过程


    1.这里涉及到信息混乱度,用一个称为“熵”的度量计算。
    2.划分前与划分后混乱度的差越大,说明划分后的数据越不混乱,即达到想要的目的,称为“信息增益”。
    3.如果特征值都用完了某块数据还不是同一类,可以将类别占比较多的作为该块的类别(即少数服从多少)。
    4.特征太多,数据太乱,构建出来的决策树这颗数可能过于“枝繁叶茂”,就存在过拟合问题,泛化能力较差(说人话就是,由于某些少量样本导致了不必要的分支,使得进来的新数据容易被错分,这模型也就不够普适了——所谓的模型越简单越好泛化)。这就需要一个形象地称为“剪枝”的过程,有“先剪枝”和“后剪枝”两种。“先剪枝”就是设定一个阈值,在给树不断加枝干时判断是否小于阈值,小于阈值就不要继续直接按少数服从多少给这一块盖戳结束;“后剪枝”就是决策树构建好之后,再剪掉小于阈值的枝干。

    四、特点


    优点:
    便于理解和解释。

    树的结构可以可视化出来。

    训练需要的数据少,对异常值和缺失值不敏感。能够处理数值型数据和分类数据。
    缺点:
    容易产生一个过于复杂的模型,使模型产生过拟合的问题。

    决策树可能是不稳定的,因为数据中的微小变化可能会导致完全不同的树生成。

    五、代码API


     【机器学习算法应用和学习_3_代码API篇】3.1 决策树

    Without summary,you can't master it.
  • 相关阅读:
    [LC] 270. Closest Binary Search Tree Value
    [LC] 452. Minimum Number of Arrows to Burst Balloons
    [LC] 494. Target Sum
    [LC] 350. Intersection of Two Arrays II
    [LC] 349. Intersection of Two Arrays
    [LC] 322. Coin Change
    scala--函数和闭包
    scala-- 内建控制结构
    scala--函数式对象
    scala --操作符和运算
  • 原文地址:https://www.cnblogs.com/everda/p/11310341.html
Copyright © 2011-2022 走看看