决策树法分为那几个步骤

决策树法分为那几个步骤,第1张

1、特征选择

特征选择决定了使用哪些特征来做判断。在训练数据集中,每个样本的属衡颤空性可能有很多个,不同属性的作用有咐瞎大有小。因而特征选择的作用就是筛选出跟分类结果相关性较高的特征,也就是分类能力较强的特征。在特征选择中通常使用的洞颂准则是:信息增益。

2、决策树生成

选择好特征后,就从根节点触发,对节点计算所有特征的信息增益,选择信息增益最大的特征作为节点特征,根据该特征的不同取值建立子节点;对每个子节点使用相同的方式生成新的子节点,直到信息增益很小或者没有特征可以选择为止。

3、决策树剪枝

剪枝的主要目的是对抗「过拟合」,通过主动去掉部分分支来降低过拟合的风险。

【简介】

决策树是一种解决分类问题的算法,决策树算法采用树形结构,使用层层推理来实现最终的分类。

决策树是一种常用的机器学习算法,它可以用于分类和回归问题。下面是决策树算法的基本步骤:

1. 收集数据:收集一组带有标签的数据集,其中每个样本包含若干个特征和一个标签。特征是用于决策的信息,标签是我们需要预测的结果。

2. 准备数据:对数据进行预处理,包括数据清洗、特征选择和特征转换等 *** 作。这一步是为了使得数据更加规范化和易于处理。

3. 选择特征:根据一定的准则选择最优的特征,将数据集分成更小的子集。

4. 构建决策树:使用递归的方法构建决策树,每个非叶子节点表示一个特征,每个叶子节点表示一个类别物罩或一个回归值。

5. 对新样本进行分类或预测:使用构建好的决策树对新样本进行分类或预测。从根节点开始,依次比较特征的取辩蚂册值,直到到达叶子节点为止。

6. 评估模型:使用测试集评估决策树的性能,可以使用准确率、精确携宏率、召回率等指标评估。

7. 调整参数:根据评估结果调整决策树的参数,如选择不同的特征选择方法、调整决策树的深度等。

8. 预测未知数据:使用调整后的决策树对新的未知数据进行预测。

5.2 决策树的基本流程可以简单概括为:

5.3 DecisionTreeClassifier参数之random_state &splitter

random_state用来设置分枝中随机模式的参数,默认为none,在高维度时随机性会表现更明显。输入任意整数,会一直长出同一棵树,让模型稳定下来。

splitter有两种输入值,输入”best",决策树在分枝时虽然随机,但是还是会优先选择更重要的特征进行分枝(重要性可以通过属性feature_importances_查看),输入“random",决策树在分枝时会更加随机,树会因为含有更多的不必要信息而更深更大,并因这些不必要信息而降低对训练集的拟合。这也是防止过拟合的一种方式。当你预测到你的模型会过拟合,用这两个参数来帮助你降低树建成之后过拟合的可能性。当然,树一旦建成,我们依然是使用剪枝参数来防止过拟合。

5.4 剪枝参数

我们收集的样本数据不可能和整体的状况完全一致,因此当运汪竖一棵决策树对训练数据有了过于优秀的解释性,它找出的规则必然包含了训练样本中的噪声,并使它对 未知数据 的拟合程度不足。(过拟合指的是在训练集上表现很好,在测试集上却表现糟糕)

为了让决策树有更好的泛化性,我们要对决策树进行剪旁大枝。剪枝策略对决策树的影响巨大,正确的剪枝策略是优化陵戚决策树算法的核心。sklearn为我们提供了不同的剪枝策略:

5.4.1 max_depth

限制树的最大深度,超过设定深度的树枝全部剪掉。这是用得最广泛的剪枝参数,在高维度低样本量时非常有效。

5.4.2 min_samples_leaf

min_samples_leaf 限定,一个节点在分枝后的每个子节点都必须包含至少min_samples_leaf个训练本,否则分枝就不会发生,或者分枝会朝着满足每个子节点都包含min_samples_leaf个样本的方向去发生。一般搭配max_depth使用,在回归树中有神奇的效果,可以让模型变得更加平滑。这个参数的数量设置得太小会引起过拟合,设置得太大就会阻止模型学习数据。一般来说,建议从=5开始使用。如果叶节点中含有的样本量变化很大,建议输入浮点数作为样本量的百分比来使用。对于类别不多的分类问题,=1通常就是最佳选择。

5.4.3 min_samples_split

min_samples_split限定,一个节点必须要包含至少min_samples_split个训练样本,这个节点才允许被分枝,否则分枝就不会发生。

5.4.4 max_features

max_features限制分枝时考虑的特征个数,超过限制个数的特征都会被舍弃。和max_depth异曲同工,max_features是用来限制高维度数据的过拟合的剪枝参数,但其方法比较暴力,是直接限制可以使用的特征数量而强行使决策树停下的参数,在不知道决策树中的各个特征的重要性的情况下,强行设定这个参数可能会导致模型学习不足。如果希望通过降维的方式防止过拟合,建议使用PCA,ICA或者特征选择模块中的降维算法。

5.4.5 min_impurity_decrease

min_impurity_decrease限制信息增益的大小,信息增益小于设定数值的分枝不会发生。这是在0.19版本种更新的功能,在0.19版本之前时使用min_impurity_split。

5.4.6 确认最优的剪枝参数

我们要使用确定超参数的曲线来进行判断了,继续使用我们已经训练好的决策树模型clf。超参数的学习曲线,是一条以超参数的取值为横坐标,模型的度量指标为纵坐标的曲线,它是用来衡量不同超参数取值下模型的表现的线。在我们建好的决策树里,我们的模型度量指标就是score。

5.5 目标权重参数

5.5.1 class_weight

完成样本标签平衡的参数。样本不平衡是指在一组数据集中,标签的一类天生占有很大的比例。因此我们要使用class_weight参数对样本标签进行一定的均衡,给少量的标签更多的权重,让模型更偏向少数类,向捕获少数类的方向建模。该参数默认None,此模式表示自动给与数据集中的所有标签相同的权重。

5.5.2 min_weight_fraction_leaf

有了权重之后,样本量就不再是单纯地记录数目,而是受输入的权重影响了,因此这时候剪枝,就需要搭配min_ weight_fraction_leaf这个基于权重的剪枝参数来使用。如果样本是加权的,则使用基于权重的预修剪标准来更容易优化树结构,这确保叶节点至少包含样本权重的总和的一小部分。

5.6 红酒数据实例

1)加载红酒数据集

2)查看标签数据

3)查看标签名称

4)划分训练集和测试集,random_state可以使拆分出的训练集、测试集是相同的

5)建立决策树,训练模型

6)导出决策树结构

7)查看每个特征的重要性


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/12532283.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-26
下一篇2025-08-26

发表评论

登录后才能评论

评论列表(0条)

    保存