[关闭]
@Bruce1Tone 2020-02-22T09:51:46.000000Z 字数 1779 阅读 444

菜鸡的机器学习笔记

机器学习 python


决策树Decision Tree

决策树算法的目的

如何选择最优划分属性,即分支结点所包含的样本尽可能属于同一类别,即结点的“纯度”(purity)越来越高

经典的属性划分方法包括:

  • 信息增益
  • 增益率
  • 基尼指数

信息增益划分

其中,如果p=0,则=0

例如,要计算根节点的信息熵Ent(D):

其中,表示结果为真占的比例,表示结果为假占的比例

该式子计算了某种属性a的信息增益Gain(D,a),而则是该属性a的其中一种状态

增益率建立决策树

增益率定义:


其中:

IV(a)称为属性a的固有值(intrinsic value)

CART决策树

划分标准:基尼指数(Gini index)
基尼值定义:


基尼指数定义:

预剪枝

判断标准:分别计算该节点划分前后的验证集精度,如果该节点划分前后的验证集精度差别较大,则预剪枝决策为划分

预剪枝的优缺点

优点:降低过拟合风险;显著减少训练时间和测试时间开销
缺点:欠拟合风险

后剪枝

判断标准:自下而上考察非叶子结点的分类性能,即将之替换为叶子节点能带来的泛化性能提升的程度。如果将该节点替换为叶子节点,能够带来验证集精度的提升,则后剪枝决策为剪枝

后剪枝的优缺点

优点:欠拟合风险小,泛化性能往往优于预剪枝决策树
缺点:训练时间开销大,因为后剪枝是在决策树完全建立之后进行的,需要自下向上对所有非叶子节点逐一考察

朴素贝叶斯分类器

计算步骤

1.估计类的先验概率P(c):

计算出P(True)和P(False)

2.为每个属性估计条件概率



对于数值类的属性,条件概率的计算方法为:

其中为标准差,为均值

3.计算:为真的概率和为假的概率:

真概率 =
假概率 =

4.判断:

若:为真的概率>为假的概率,则判定结果为

拉普拉斯修正

对于样本量较少的情况,需要采用拉普拉斯修正,来避免样本数量较少影响训练结果:


N表示真、假的情况个数(如果只有真假,则N=2)

N_i表示该属性取值的个数

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注