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.
  • 相关阅读:
    redis单点登录,session,cookie
    maven中pom依赖下载不下来解决方案
    nexus 3.x私服配置 windows/linux 版本
    TypeScript中元组的使用和类型约束
    TypeScript 数组类型的定义
    TypeScript函数参数和返回类型定义
    TypeScript类型注释和类型推断
    TypeScript静态类型
    TypeScript环境安装
    TypeScript学习目录
  • 原文地址:https://www.cnblogs.com/everda/p/11310341.html
Copyright © 2011-2022 走看看