注册

深度 | 对比TensorFlow提升树与XGBoost:我们该使用怎样的梯度提升方法


来源:机器之心

原标题:深度 | 对比TensorFlow提升树与XGBoost:我们该使用怎样的梯度提升方法 选自

原标题:深度 | 对比TensorFlow提升树与XGBoost:我们该使用怎样的梯度提升方法

几个月前,TensorFlow 发布了梯度提升方法的调用接口,即 TensorFlow 提升树(TFBT)。不幸的是,描述该接口的论文并没有展示任何测试效果和基准的对比结果,所以 Nicolò Valigi 希望能对 TFBT 和 XGBoost 做一个简要的对比,并分析它们之间的性能差异。机器之心介绍了该测试与 TFBT 的原论文,且 TF 1.4 及以上的版本也可测试该提升树模型。

本文将先介绍 Nicolò Valigi 的对比试验结果,然后再简述谷歌新提出来的 TensorFlow 提升树。此外,该试验之所以选择 XGBoost,是因为自从它发布以来,它就是许多数据挖掘问题的首选解决方案。而且因为 XGBoost 对未归一化或缺失数据的高效处理方式,以及快速和准确的训练过程,它很适合与 TFBT 进行基准测试。

该测试的源代码和结果地址:https://github.com/nicolov/gradient_boosting_tensorflow_xgboost

试验

作者使用适当大小的航线数据集以测试两个解决方案,该数据集包含了从 1987 到 2008 年的美国商业航班记录,共计 1.2 亿个数据点。它的特征包含始发站、目的地、登记时间与日期、航线和飞行距离等,而作者尝试使用这些特征做一个二元分类器,以判断航班是否会延误超过 15 分钟。

数据集地址:http://stat-computing.org/dataexpo/2009/

作者从 2006 年抽取 10 万个航班以作为训练集,并从 2007 年抽取 10 万个航班作为测试集。大约有 20% 的航班延误是超过 15 分钟的,这和当前的航班延误情况有些不一样。下图展示了该数据集航班延迟情况和起飞时间的关系:


  • 好文
  • 钦佩
  • 喜欢
  • 泪奔
  • 可爱
  • 思考

频道推荐

凤凰网公益基金救助直达

凤凰科技官方微信

凤凰新闻 天天有料
分享到: