机器学习实战笔记-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\)是划分数据集的最好特征。