决策树特点:
a. 树形结构:
根节点
非叶子节点
分支
叶子节点:结果值
b.每个节点具有决策功能
训练阶段
从给定的训练集DB,构造一棵决策树
class = DecisionTree(DB)
决策树构造:
基本思想:随着树深度的增加,节点的熵迅速地降低。熵降低的速度越快越好,去得到一颗高度最矮的决策树。
a.确定数据记录的特征
b.计算初始熵值
c.尝试计算每一个特征作为根节点后得到的熵值
决策分支后的熵值 = P(T1) * 熵(T1集合) + P(T2) * 熵(T2集合) + …
d.取信息增益越大的特征作为下一个决策节点(ID3算法)
信息增益 = 初始熵值 - 决策分支后的熵值
决策树剪枝(防止过拟合):
预剪枝:在构建决策树的过程时,提前停止。
后剪枝:决策树构建好后,然后才开始裁剪,通过遍历构建好的决策树,通过损失函数的大小判断是否裁剪,
分类阶段
从根开始,按照决策树的分类属性逐层往下划分,直到叶节点,获得概念(决策、分类)结果。
y = DecisionTree(x)
熵的含义
描述特定集合中混乱程度,熵值越大集合越混乱,熵值越小集合越统一。
如:
A = [1, 2, 3, 4, 5]
B = [1, 1, 1, 1, 1]
集合A的熵值大于集合B
与熵值描述功能类似的还有:Gini系数