基于决策树的模型根据训练数据构建一组规则,以便能够预测结果。为了便于理解,将该算法与通过决策形成的树进行比较。该模型包含表示通向结果路径(即叶子)的规则的分支。每个预测路径都指向一个包含多个值的叶。同样的原则也适用于分类型问题。对于回归类型的问题,最终预测通常是它所属的叶子中包含的所有值的平均值。

下图显示了使用 sklearn 创建决策树模型的示例。

下图分析了模型性能。

集成学习
集成学习是将弱模型组合在一起以生成性能更好的模型的算法类型。有关集成学习的详细信息,请参阅使用 Python 和 scikit-learn 学习分类算法教程,该教程讨论了用于分类的集成学习。
随机森林树木
决策树通常被认为是弱模型,因为当数据集相对较大时,它们的性能通常达不到预期。但是,当将多个决策树组合到一个模型中时,它们会提供更高的准确性。此随机林中的每个决策树都是使用训练数据的子集构建的。构成此随机森林的决策树的数量是一个任意数字,可以对其进行调整以查看准确性的变化。当要预测的值通过此生成的模型运行时,它是从这些单独的树中获取的值的平均值。
与前面的模型类似,下图显示了使用 sklearn 创建随机森林模型的示例。
梯度提升树
梯度提升树是通过累加学习前一个模型的性能来构建的模型。有关梯度提升树的更多详细信息,请参阅使用 Python 和 scikit-learn 学习分类算法教程。
比较算法
均方误差和 R2 是用于比较不同回归算法的一些流行指标。
均方误差 (MSE) 是通过获取平方误差的平均值来计算的。这里的误差是指实际值和预测值之间的距离。MSE 越接近 0,模型性能越好。
R2 使用以下公式计算:
R2 = 1 - (SS残差 / SS平均值 )
其中 SS 残差是指实际值和预测值之间差值的平方和,SS 平均值是指实际值和平均值之间的差值平方和。从本质上讲,R2 的值越接近 1,模型就越好。如果值 R2 为负数,则表示模型性能比仅从训练数据集预测所有值的平均值更差。
下图比较了不同型号的 MSE 和 R2。
总结
在本教程中,我们提供了回归算法的高级概述,并展示了如何使用 scikit-learn 库实现这些算法。我们还使用 matplot lib 来可视化一些结果。