决策树

ID3

熵:代表空间中的混乱程度 熵越大数据越杂 越小越规整

信息增益划分 默认:找分类多的列

不同的分类越多信息增益越大

分类越多 信息增益越大

信息熵:

负该类别占比 * 其对数形式

条件熵:

条件熵 = A分类占比 * A分类的熵 + B分类占比 * B分类的熵 + C..D....

ID3构建过程

1、信息熵 = 各类别

2、条件 = 各分类占比*各分类熵值 累加和

3、信息增益 = 信息熵 - 条件

谁的信息增益大 谁当作根节点 然后再往下分

C4.5

解决ID3的弊端

熵 = 各类别熵的和

信息增益 = ID3

特征(惩罚系数) 分类越多(系数越大) 最终增益率越小

信息增益率 = C4.5

CART

CART-分类

基尼值 = 各个分类概率的平方和

概念:从数据集中随机抽取两个样本 不一样的概率

如:一个箱子中有5个 红色的球 3个蓝色的 2个绿色的

红 : 占0.5% 0.5²

蓝: 占0.3% 0.3²

绿: 占0.2% 0.2²

构建流程:

特征列的分类占比 基尼值: 2类 2情况

1- square(x_count/x_all) + ... = 结果1

1- square(x_count/x_all) + ... = 结果2

特征列的基尼值: 3类 2情况

该特征列各分类占比*各分类的基尼值累加和

x_count/x_all *上述计算结果1 + x_count/x_all *上述计算结果2 ...

谁基尼值最小 谁做分类

决策树 剪枝

剪枝:防止决策树过拟合的一种正则化方法

预剪枝

会错过 性能好的节点

边生成边剪枝 自上到下 划分 若划分不能带来决策树泛化性能提升,则停止划分,将当前节点标记为叶子节点

后剪枝

生成完后 自底向上 进行剪枝 若可以提升泛化 则将当前节点标记为叶子节点

GBDT

XGBoost