决策树回归:2022 年你需要知道的

已发表: 2021-01-03

首先,回归模型是一种在给定一些也是数字的输入值时给出一个数字值作为输出的模型。 这与分类模型的作用不同。 它将测试数据分类为给定问题陈述中涉及的各种类别或组。

组的大小可以小至 2 人,大至 1000 人或更多。 有多种回归模型,如线性回归、多元回归、岭回归、逻辑回归等等。

决策树回归模型也属于这个回归模型池。 预测模型将分类或预测利用二进制规则确定输出或目标值的数值。

决策树模型,顾名思义,是一种具有叶子、分支和节点的树状模型。

目录

要记住的术语

在我们深入研究算法之前,这里有一些重要的术语,你们都应该知道。

1.根节点:它是分裂开始的最顶层节点。

2.Splitting:将单个节点细分为多个子节点的过程。

3.终端节点或叶节点:不进一步分裂的节点称为终端节点。

4.Pruning:去除子节点的过程。

5.父节点:进一步分裂为子节点的节点。

6.子节点:从父节点中冒出来的子节点。

阅读:决策树算法指南

它是如何工作的?

决策树将数据集分解为更小的子集。 一个决策叶分为两个或多个分支,代表被检查属性的值。 决策树中最顶层的节点是最好的预测器,称为根节点。 ID3 是构建决策树的算法。

它采用自上而下的方法,并根据标准偏差进行拆分。 只是为了快速修订,标准偏差是一组数据点与其平均值的分布或分散程度。

它量化了数据分布的整体可变性。 离散度或变异性的值越高,意味着标准偏差越大,表明数据点与平均值的距离越大。 我们使用标准偏差来衡量样品的均匀性。

如果样本是完全同质的,则其标准偏差为零。 同样,异质性程度越高,标准差越大。 计算标准偏差需要样本均值和样本数。

我们使用了一个数学函数——偏差系数,它决定何时停止分裂。它是通过将标准偏差除以所有样本的平均值来计算的。

最终值将是叶节点的平均值。 例如,假设 11 月是在 11 月(直到 2021 年)进一步划分为多年来各种工资的节点。 对于 2022 年,11 月的工资将是节点 11 月下所有工资的平均值。

继续讨论两个类别或属性的标准差(就像上面的例子,工资可以按小时或按月计算)。

为了构建一个准确的决策树,目标应该是找到在计算时返回并返回最高标准偏差减少的属性。 简而言之,最同质的分支。

为回归创建决策树的过程包括四个重要步骤。

1.首先,我们计算目标变量的标准差。 像前面的例子一样,考虑目标变量是薪水。 有了这个例子,我们将计算一组工资值的标准差。

2.在步骤2中,数据集被进一步拆分为不同的属性。 谈到属性,由于目标值是薪水,我们可以认为可能的属性是——月、小时、老板的心情、职务、在公司的年份等等。 然后,使用上述公式计算每个分支的标准偏差。 从拆分前的标准偏差中减去如此获得的标准偏差。 手头的结果称为标准偏差减少。

结帐:二叉树的类型

3. 一旦如上一步所述计算出差异,最佳属性是标准差减少值最大的属性。 这意味着拆分前的标准偏差应该大于拆分前的标准偏差。 实际上,采用了差异的模式,因此反之亦然。

4.根据所选属性的重要性对整个数据集进行分类。 在非叶分支上,递归地继续该方法,直到处理完所有可用数据。 现在考虑根据标准差减少值选择月份作为最佳拆分属性。 因此,我们每个月将有 12 个分支机构。 这些分支将进一步拆分以从剩余的属性集中选择最佳属性。

5. 实际上,我们需要一些整理标准。 为此,我们对变得小于某个阈值(如 10%)的分支使用偏差系数或 CV。 当我们达到这个标准时,我们停止了树的构建过程。 因为没有发生进一步的分裂,所以属于该属性的值将是该节点下所有值的平均值。

必读:决策树分类

执行

决策树回归可以使用 Python 语言和 scikit-learn 库来实现。 它可以在 sklearn.tree.DecisionTreeRegressor 下找到。

一些重要的参数如下

1.criterion:衡量分裂的质量。 它的值可以是“mse”或均方误差、“friedman_mse”和“mae”或平均绝对误差。 默认值为 mse。

2.max_depth:表示树的最大深度。 默认值为无。

3.max_features:它表示在决定最佳分割时要寻找的特征数量。 默认值为无。

4.splitter:该参数用于选择在每个节点的分割。 可用值是“最佳”和“随机”。 默认值是最好的。

sklearn 文档中的示例

>>> 从sklearn.datasets导入load_diabetes

>>> 从sklearn.model_selection导入cross_val_score

>>> 从sklearn.tree导入DecisionTreeRegressor

>>> X, y = load_diabetes(return_X_y= True )

>>>回归器 = DecisionTreeRegressor(random_state=0)

>>> cross_val_score(regressor, X, y, cv=10)

# 文档测试:+SKIP

数组([-0.39…, -0.46…, 0.02…, 0.06…, -0.50…,

0.16…, 0.11…, -0.73…, -0.30…, -0.00…])

结论

数据科学计划的结构旨在帮助您成为数据科学领域的真正人才,从而更容易找到市场上最好的雇主。 立即注册,开始您的 upGrad 学习之路!

如果您想了解数据科学,请查看 IIIT-B 和 upGrad 的数据科学 PG 文凭,该文凭专为在职专业人士而设,提供 10 多个案例研究和项目、实用的实践研讨会、与行业专家的指导、1-与行业导师面对面交流,400 多个小时的学习和顶级公司的工作协助。

什么是机器学习中的回归分析?

回归是机器学习中使用的一组数学算法,用于根据一个或多个预测变量的值来预测连续结果。 在监督机器学习的保护伞下,回归分析是一个基本主题。 它只是有助于理解变量之间的关系。 它认识到一个变量的影响及其对另一个变量的活动。 输入特征和输出标签都用于训练回归算法。

机器学习中的多重共线性是什么意思?

多重共线性是指数据集中的自变量之间的联系比其他变量之间的联系要大得多。 在回归模型中,这表明可以从另一个自变量预测一个自变量。 就模型中自变量的影响而言,多重共线性会导致更宽的置信区间,从而导致可靠性降低。 它不应该在数据集中,因为它与最有影响的变量的排名相混淆。

机器学习中的 bagging 是什么意思?

当提供的数据集有噪声时,使用 bagging,这是一种降低方差的集成学习策略。 Bootstrap 聚合是 bagging 的另一个同义词。 Bagging 是从带有替换的训练集中选择随机数据样本的过程——也就是说,可以多次提取单个数据点。 在机器学习中,随机森林算法基本上是 bagging 过程的扩展。