PS:决策树这部分我是看了B站上一个博主的教程和西瓜书,感觉这个博主就是按照西瓜书来教学,但是没有涉及太多概率的计算,所以还蛮好理解的
1.决策树既能解决分类问题又能解决回归问题
2.两个阶段
(1)训练,根据给定训练集 构造决策树
(2)分类,根据决策树各节点的分类属性进行分类
3.决策树的结构
一、构建决策树的关键
1.问题
构建决策树的关键在于如何选择 节点的划分属性来划分样本
2.解决方法
选择 最优划分属性,即根据该属性分类,得到的分类结果的标签尽可能一样,纯度高,分类精确度高
后面的计算基于该样本集
二、熵
1.熵
(1)自信息:事件的不确定性 ,即事件发生的概率越大,则其不确定性就越小
(2)信息熵:样本的平均信息量(即样本中包含多个事件),即衡量样本集合的纯度,内部的混乱程度,不确定性
2.决策树与熵
构建决策树的关键在于如何选择节点的划分属性
希望该划分属性满足以下原则
(1)随着树深度的增加,节点的熵降低,这样分类的纯度提高
(2) 熵降低的速度越快越好,这样就可以得到高度 最矮的决策树
三、决策树算法
这三种算法都是为了提高分类结果的纯度,让分类更精确
1.ID3
ID3决策树算法,使用 信息增益作为最优属性的划分原则
某属性对样本划分后得到的熵,样本未经该属性划分得到的熵,两者之差为信息增益,信息增益越大,表示样本用该属性进行划分后,纯度得到提升的程度大
2.C4.5
C4.5决策树算法,使用 信息增益率作为最优属性的划分原则
C4.5是对ID3的改进,使用信息增益率代替信息增益
ID3是以信息增益为准则来进行节点属性的选择,该准则存在以下缺点:
对于某些特征,特征的属性很多,且每个属性对应的样本数很少,这样就会使得信息增益很大,但是这样的决策树不具有泛化能力
3.CART
CART决策树算法,使用 基尼指数Gini(D)作为最优属性的划分原则
基尼指数Gini(D)反映了从数据集D中 随机抽取两个样本,其类别标记不一致的概率,因此基尼指数越小,数据集D的纯度越高
四、剪枝处理
若决策树高度太高,分支太多,最后可能将所有样本划分为一个,而出现 过拟合,所以要进行剪枝
1.预剪枝
对每个节点在划分前进行估计,若不满足某些条件,则停止继续划分
2.后剪枝
通过一个评价函数,计算某个节点剪枝前和剪枝后的评估分数,以此来确定是否有划分的必要性
五、随机森林
1.随机
(1)样本选择的随机性
- 样本数量的随机性(可以避免取到异常点)
- 有放回的采样 bootstraping
(2)font color=#f58220> 特征选择的随机性(可以避免取到异常特征)
2.森林
构建多个决策树做分类或回归任务 bagging