zoukankan      html  css  js  c++  java
  • (3)机器学习实战笔记:决策树

    Chapter3
    11.26
    决策树
     
    主要优势:数据形式非常容易理解
     
    可以使用不熟悉的数据集合,并从中提取出一系列规划
    给出的结果往往可以匹敌在当前领域具有几十年工作经验的人类专家
     
    优点:计算复杂度不高,输出结果容易理解,对中间值的缺失不敏感,可以处理不相关特征数据
    缺点:可能会出现过度匹配的问题
    适用数据类型:数值型和标称型
     
    需要考虑决定的第一个问题:当前数据集上那个特征在划分数据分类时候起决定性作用,从而可以划分出最好的结果
    必须评估每个特征
     
    完成测试以后,原始数据集就被划分为几个数据子集,会分布在第一个决策点所有分支上。如果某个分支下的数据属于同一类型,则已经正确划分数据集无需对数据进一步进行分割;如果数据子集内的数据不是同一个类型,就需要重复划分数据集的过程。
    划分数据子集的算法和划分原始数据集的方法不相同 直到所有具有相同类型的数据均在一个数据子集内
     
    创建分支伪代码
    createBranch()
    检测数据集中每个子项是否属于同一个分类:
    if so:return 类标签
    else:
    寻找划分数据集的最好特征
    划分数据集
    创建分支结点
    for 每个划分的子集
    调用函数createBranch 并增加返回结果到分支节点当中
    return 分支节点
     
     
    决策树一般流程:
    收集数据:可以使用任何的方法
    准备数据,树构造算法只适用于标称型数据,因此数据值型数据必须离散化
    分析数据:构造完树,应该检查图形是否符合预期
    训练算法:构造树的数据结构
    测试算法:用经验树计算错误率
    适用:可以适用于任何监督学习的算法,使用决策树可以更好的理解内在含义
     
     
    3.1.1 信息增益
    划分数据集的大原则:将无序的数据变得更加有顺序
    组织杂乱无章数据的方法:使用信息论度量信息,在划分数据之前或者之后使用信息论量化度量信息的内容。
     
    信息增益:划分数据之前之后信息发生的变化
    通过计算每个特征值划分数据集获得的信息增益,获得信息增益最高的特征就是最好的选择!
    information gain:信息增益
    entropy:熵
    熵越高,则混合的数据也越多,我们可以在数据集中添加更多的分类,观察熵是如何变化
    3.1.2划分数据集
     
    度量划分数据集的信息熵,以便判断当前是否正确地划分了数据集
    对每个特征划分数据集结果计算一次信息熵,然后判断按照哪个特征划分数据集是最好的划分方式。
     
    过度匹配:匹配选项太多了,需要裁减决策树,去掉一些不必要的叶子结点。
     
    总结:
    决策树分类器,像有终止块的流程图,终止块表示分类结果
    before处理数据集,需要先测量集合中数据不一致性:熵,通过熵来寻找最优方案划分数据集
    直到所有数据集转化为决策树
    *可能会产生过多的数据集划分,从而产生过度匹配疏忽聚集的问题,通过裁决决策树合并相邻的无法产生大量信息的叶结点消除过度匹配问题。
     

  • 相关阅读:
    java中栈内存和堆内存的简单理解
    java中构造函数与一般函数的区别

    另一部漫画
    海边的卡夫卡
    11-12
    这篇大概值一百万吧
    我的千岁寒
    11-9
    嗯……………股票已经涨的我不想上班了
  • 原文地址:https://www.cnblogs.com/AKsnoopy/p/14047486.html
Copyright © 2011-2022 走看看