持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第21天,点击查看活动详情
总计:今天是十月更文计划第二十一天,第三十九篇
1.认识决策树 决策树思想的来源非常朴素,程序设计中的条件分支结构就是if-then 结构
最早的决策树就是利用这类结构分割数据的一种分类方法信息的度量和作用:
假设有 32 支球队,每猜一次给一块钱,告诉我是否猜对了,
那么我需要掏多少钱才能知道谁是冠军?我可以把球编上号,从 1 到 32,然后提问:冠军在 1-16 号 吗?依次询问
只需要五次,就可以知道结果
信息论的创始人,香农是密歇根大学学士,麻省理工学院博士。香农指出准确的信息量为:
H = -(p1logp1 + p2logp2 + ... + p32logp32)
p1,p2,...p32 均为概率
H 的专业术语称之为信息熵,单位为比特。
香农公式:
五支球队:
如果变为两支球队,每支球队的获胜的概率为 50%,那么所需要的信息量为 1bit
特征 A 对训练数据集 D 的信息增益 g(D,A),定义为集合 D 的信息 熵 H(D)与特征 A 给定条件下 D 的信息条件熵 H(D|A)之差,即公式 为
H(D)是初始信息熵大小,H(D|A)是因为条件加入后带来的确定性增加
H(D)是整体熵,H(D|A)条件熵
注:信息增益表示得知特征 X 的信息而使得类 Y 的信息的不确定性
减少的程度
降低不确定性,提高确定性
H(D|A)条件熵 越小越好
加入某个条件之后带来的信息增益 g( D,A)越大越好 哪一个特征的信息增益越大就将其放到决策树的顶部。可以提高预测 的准确率 数学公式的计算在这里就不多做叙述,写代码的过程中只需要调用接口 以上的方法为决策树最早使用的方法 ID3,这种方法偏向特征值数目 多的特征
还有其他方法 C4.5,CART 等,目前最常用的是基尼系数(Gini)
决策树的优缺点以及改进
优点:
简单的理解和解释,树木可视化。
需要很少的数据准备,其他技术通常需要数据归一化,标准化
缺点:
1.树太过于复杂
在训练集上训练的树太复杂,在测试集上表现得不好(过拟合)
2.决策树生成不太稳定。数据稍微的变化也可能会产生不同的树
改进:
1.减枝 cart(Classification and regression tree)算法
2.*随机森林—解决过拟合,用多棵决策树。(这里不再叙述)
预剪枝:
减少树的高度,开始的时候指定树的深度
对应参数为:max_depth
修改拆分内部节点所需要的最小样本数
对应参数为:min_samples_split
熵达到某一个值就停止分割叶子节点 对应参数为:min_impurity_decrease