zoukankan      html  css  js  c++  java
  • 决策树算法

        决策树算法是一种逼近离散函数值的方法,是一种典型的分类方法。

    决策树算法构造决策树来发现数据中蕴涵的分类规则。如何构造精度高,规模小的决策树是决策树算法的核心内容。一般情况下分两步进行,

    1.决策树的生成。

    2.决策树的剪枝。(对上一个阶段生成的决策树进行检验,校正和修下的过程,方法:使用测试数据集校验1中生成的决策树,将那些影响准确性的分枝剪除)

    典型算法

    ID3算法,此算法目的在于减少树的深度。但是忽略了叶子数目的研究。

    C4.5算法,在ID3算法的基础上进行了改进,对于预测变量的缺值处理,剪枝技术,派生规则等方面做了较大的改进,既适合于分类问题,又适合于回归问题。总结:产生的分类规则易于理解,准确率较高。不过在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,在实际应用中会导致算法低效。

    决策树算法的优点如下:

    1.分类精度高;

    2.生成的模式简单;

    3.对噪声数据有很好的健壮性。

    以上为概念总结。

    ——————————————————————————————————————————————————————————

    -信息增益

      在划分数据集之前后信息发生的变化称之为信息增益,计算每个特征值划分数据集获得的信息增益,获得信息增益最高的特征就是最好的选择。

    计算方法(香农熵)

      熵定义为信息的期望值。计算公式如下:

    符号xi的信息定义为l(xi)=-log2p(xi),其中p(xi)是选择该分类的概率。(各分类在总实例中得比例)

    所有类别所有可能值包含的信息期望值H=-∑ni=1p(xi)log2p(xi),其中n分类的数目。

    -划分数据集

     对每个特征划分数据集的结果计算一次信息熵,然后判断按照哪个特征划分数据集是最好的划分方式。

      增益=元数据的熵-按特征量划分的熵   -->增益越大 划分越优

    -递归构建决策树

      工作原理如下:

     1.得到原始数据集

     2.基于好的属性划分数据集

     3.特征值多于两个的情况下。可能存在大于两个分支的数据集划分。第一次划分后,数据被向下传递到树分支的下一个节点,在这个节点上再次划分数据。

     递归的结束条件:1.遍历完所有划分数据集的属性 2 每个分支下得所有实例都具有相同的分类。

    后续:改进算法的总结和代码整理

  • 相关阅读:
    java spring-mvc + maven + hibernate + mysql 注释
    c# log4net
    c# winform richtextbox 锁屏和滚屏
    socket 客户端
    c# winform插件
    c# 注册全局热键
    c# 请求api获得json数据
    java 把一个文件夹里图片复制到另一个文件夹里
    c# UpdateLayeredWindow异形窗口
    【哈希】身份证问题
  • 原文地址:https://www.cnblogs.com/ryuham/p/4169215.html
Copyright © 2011-2022 走看看