会员中心 |  会员注册  |  兼职信息发布    浏览手机版!    超值满减    人工翻译    英语IT服务 贫困儿童资助 | 留言板 | 设为首页 | 加入收藏  繁體中文
当前位置:首页 > 机翻技术 > 识别技术 > 正文

示例:树回归与标准回归的比较

发布时间: 2023-03-23 09:25:19   作者:etogether.net   来源: 网络   浏览次数:
摘要: 它们可以在树构建好的情况下对给定的输入进行预测,之后利用这些函数来计算三种回归模型的测试误差。


对于模型树、回归树和一般的回归方法,下面测试一下哪个模型最好。首先给出一些函数,它们可以在树构建好的情况下对给定的输入进行预测,之后利用这些函数来计算三种回归模型的测试误差。这些模型将在某个数据上进行测试,该数据涉及人的智力水平和自行车的速度的关系。


这里的数据是非线性的,不能简单地使用全局线性模型建模。当然这里也需要声明一下,此数据纯属虚构。

下面先给出在给定输入和树结构情况下进行预测的几个函数。打开regTrees.py并加入如下代码。


程序清单1 用树回归进行预测的代码


程序清单1.png


对于输入的单个数据点或者行向量,函数treeForeCast()会返回一个浮点值。在给定树结构的情况下,对于单个数据点,该函数会给出一个预测值。调用函数treeForeCast()时需要指定树的类型,以便在叶节点上能够调用合适的模型。参数modelEval是对叶节点数据进行预测的函数的引用。函数treeForeCast()自顶向下遍历整棵树,直到命中叶节点为止。一旦到达叶节点,它就会在输入数据上调用modelEval()函数,而该函数的默认值是regTreeEval()。


要对回归树叶节点进行预测,就调用函数regTreeEval();要对模型树节点进行预测时,就调用modelTreeEval()函数。它们会对输入数据进行格式化处理,在原数据矩阵上增加第0列,然后计算并返回预测值。为了与函数modelTreeEval()保持一致,尽管regTreeEval()只使用一个输入,但仍保留了两个输入参数。

最后一个函数是createForCast(),它会多次调用treeForeCast()函数。由于它能够以向量形式返回一组预测值,因此该函数在对整个测试集进行预测时非常有用。下面很快会看到这一点。


接下来考虑图1所示的数据。该数据是我从多个骑自行车的人那里收集得到的。图中给出骑自行车的速度和人的智商之间的关系。下面将基于该数据集建立多个模型并在另一个测试集上进行测试。对应的训练集数据保存在文件bikeSpeedVslq_train.txt中,而测试集数据保存在文件bikeSpeedVslq_test.txt中。




微信公众号

[1] [2] [下一页] 【欢迎大家踊跃评论】
  • 上一篇:数据集的关联分析
  • 下一篇:连续和离散型特征的树的构建


  • 《译聚网》倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请30天内提供版权疑问、身份证明、版权证明、联系方式等发邮件至info@qiqee.net,我们将及时沟通与处理。


我来说两句
评论列表
已有 0 条评论(查看更多评论)