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

决策树

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

决策树算法的优缺点

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

决策树的构造:

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

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

信息熵的定义为:

\[H = - \Sigma_{i = 1}^{n}p\left( x_{i} \right)\operatorname{}{p(x_{i})} \]

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


寻找最好特征的方法是:

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

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

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

posted @ 2019-08-30 14:15  云远·笨小孩  阅读(160)  评论(0编辑  收藏  举报