• 机器学习实战笔记-3-决策树


    决策树

    (迭代地寻找划分样本集的最好特征,按该特征划分时信息增益最大)

    决策树算法的优缺点

    特点
    优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可处理不相关特征数据。 缺点:可能产生过度匹配的问题。 适用数据类型:数值型和标称型。 隐形眼镜决策; 垃圾邮件决策。

    决策树的构造:

    createTree:
    If 检测数据集中的每个子项属于同一分类:
      return 类标签
    Elif 已遍历完所有特征
      return 出现次数最多的类别
    Else:
      寻找划分数据集的最好特征
      以该特征为key创建分支节点
      for 最好特征的每个值value:
        划分数据集 提取出子集
        以子集为参数调用函数createTree生成**当前分支节点**的**子分支**
        增加返回结果到**分支节点**中
      return **分支节点**
    

    某个待分类的量(x)落在类别(x_{i})的概率为(p(x_{i})),则信息量为(lleft( x_{i} ight) = - operatorname{}{p(x_{i})})确定性越大,则信息量越小。

    信息熵的定义为:

    [H = - Sigma_{i = 1}^{n}pleft( x_{i} ight)operatorname{}{p(x_{i})} ]

    信息熵(香农熵)是信息量的期望值。每个数据集都有它的香农熵。


    寻找最好特征的方法是:

    按特征(Feature_i)划分数据时,可分为j个子集((Feature_i)有j个取值)

    (信息增益=原熵-新熵=原熵-sum_{j}^{}{子集j的概率*子集j的熵 = sum_{j}{子集j的熵 imes (frac{子集j的大小}{原数据集的大小})}})

    信息增益最大的特征(Feature_i)是划分数据集的最好特征。

  • 相关阅读:
    Unity3d Platformer Pro 2D游戏开发框架使用教程
    程序员如何学习一门新的编程语言
    走进函数式编程
    1001. Exponentiation高精度运算总结
    Kindle PaperWhite3 越狱和PDF插件的安装
    Unity3d中的PlayerPrefs游戏存档API的扩展
    程序员学习路线和学习书单
    1000. A+B Problem
    Mac端SVN工具CornerStone详解
    Unity3d粒子系统详解
  • 原文地址:https://www.cnblogs.com/charleechan/p/11434726.html
Copyright © 2020-2023  润新知