机器学习笔记——决策树

一,基本流程

决策树学习基本算法:

决策树的生成是一个递归过程,有三种情形会导致递归返回:

1,当前结点包含的样本全属于同一类别,无需划分;

2,当前属性集为空,或是所有样本在所有属性上取值相同,无法划分;(后验)

3,当前结点包含的样本集合为空,不能划分。(先验)

二,划分选择

决策树学习的关键是如何选择最优划分属性。

2.1 信息增益(ID3)

信息熵:假定当前样本集合D中第k类样本所占的比例为pk(k = 1,2,3,...|y|),则D的信息熵定义为:

Ent(D)的值越小,则D的纯度越高。

信息增益:假设离散属性a有V个可能的取值,若使用a来对样本集D进行划分,则会产生V个分支节点,其中第v个分支节点包含了D中所有在属性a上取值为av的样本,记为Dv。于是用属性a对样本集D进行划分所获得的信息增益为:

2.2 增益率(C4.5)

信息增益准则对可取值数目较多的属性有所偏好,为减少这种偏好可能带来的不利影响,增益率定义为:

其中IV(a)定义为:

IV(a)称为属性a的固有值,属性a的可能取值数目越多,IV(a)的值通常会越大。

增益率准则对可取数目较少的属性有所偏好。因此,C4.5算法使用先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的方法。

2.3 基尼系数(CART)

数据集D的基尼值定义为:

Gini(D)反映了从数据集D中随机抽取两个样本,其类别标记不一致的概率。Gini(D)越小,数据集D的纯度越高。

属性a的基尼指数定义为:

三,剪枝处理

剪枝是决策树学习算法对付过拟合的主要手段。

3.1 预剪枝

预剪枝是指在决策树生成过程中,对每个节点在划分前先进行估计,若当前节点的划分不能带来决策树泛化性能(留出法等性能评估方法)的提高,则停止划分并将当前结点标记为叶节点。

预剪枝能降低过拟合的风险,显著减少决策树的训练时间和测试时间,但另一方面,基于贪心本质禁止某些分支展开给预剪枝决策树带来了欠拟合的风险。

3.2 后剪枝

后剪枝则是先从训练集生成一颗完整的决策树,然后自底向上地对非叶节点进行考察,若将该节点对应的子树替换为叶节点能带来决策树泛化性能的提升,则将该子树替换为叶节点。

后剪枝决策树通常比预剪枝决策树保留了更多的分支,欠拟合风险很小,泛化性能往往优于预剪枝决策树,但其训练时间大得多。

四,连续与缺失值

4.1 连续值处理

C4.5决策树算法使用二分法对连续属性进行处理。具体做法是:从划分点集合中选择信息增益最大的划分点。

已排序的连续属性值:{a1,a2,a3,...,an}

候选划分点集合:Ta = {(ai + ai+1)/2|1 <= i <= n-1}

基于划分点t二分后的信息增益:

需要注意:与离散属性不同,若当前节点划分属性为连续属性,该属性还可作为其后代节点的划分属性。

4.2 缺失值处理

(1) 如何在属性值缺失的情况下进行进行划分属性选择?

利用该属性的无缺失样本子集。对于某一特定属性,去除掉该属性缺失的样本,在得到的新样本集合中计算属性的信息增益。(得到的信息增益要乘上len(新样本集合)/len(原样本集合))。

(2) 给定划分属性,若样本在该属性上的值缺失,如何对样本进行划分?

让同一个样本以不同的概率划入到不同的子节点中去。(改变了样本的权重)

决策树算法是一种广泛应用于分类和回归的机器学习算法,它基于树形结构对样本进行分类或预测。决策树算法的主要思想是通过一系列的判断来对样本进行分类或预测。在决策树中,每个节点表示一个属性或特征,每个分支代表该属性或特征的一个取值,而每个叶子节点代表一个分类或预测结果。 决策树算法的训练过程主要包括以下步骤: 1. 特征选择:根据某种指标(如信息增益或基尼系数)选择最优的特征作为当前节点的分裂属性。 2. 决策树生成:根据选择的特征将数据集分成若干个子集,并递归地生成决策树。 3. 剪枝:通过剪枝操作来提高决策树的泛化性能。 决策树算法的优点包括易于理解和解释、计算复杂度较低、对缺失值不敏感等。但是,决策树算法也存在一些缺点,如容易出现过拟合、对离散数据敏感等。 下面是一个决策树算法的案例:假设我们要根据一个人的年龄、性别、教育程度和职业预测其收入水平(高于或低于50K)。首先,我们需要将这些特征进行编码,将其转换为数值型数据。然后,我们可以使用决策树算法对这些数据进行训练,并生成一个决策树模型。最后,我们可以使用该模型对新的数据进行分类或预测。例如,根据一个人的年龄、性别、教育程度和职业,我们可以使用决策树模型预测该人的收入水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值