决策树
(迭代地寻找划分样本集的最好特征,按该特征划分时信息增益最大)
决策树算法的优缺点
特点 | 例 |
---|---|
优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可处理不相关特征数据。 缺点:可能产生过度匹配的问题。 适用数据类型:数值型和标称型。 | 隐形眼镜决策; 垃圾邮件决策。 |
决策树的构造:
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)是划分数据集的最好特征。