花了三四天学习XGBoost,这篇文章教会了我如何调参。我把文章的主要内容作翻译和摘录,也算是为XGboost中文社区贡献一份资源。
前言
XGBoost中的算法已经成为了许多数据科学家的终极武器了!这是一个内部实现高度复杂的算法,在处理各种不规范的数据时有强大的表现。
(由于DMLC已经将代码和文档不断完善)利用XGBoost建立一个模型是简单的,但是因为它使用了众多参数,所以提升它的预测效果是比较有难度的。其中调参是重要的一步,但仍然有很多现实的挑战——哪些参数是我们需要调整的?每个参数的最佳值又应该是多少呢?
因此,这篇文章最适合刚刚接触XGBoost的人,我们将会了解到调整参数的步骤,获得一些有关XGBoost的新理解。本文使用的语言是Python.
简介
XGBoost(eXtreme Gradient Boosting)是一些梯度提升算法的先进实现。另外一篇文章《GBM完全调参指南(in Python)》能帮助你理解Boosting这一模型提升技术以及GBM调参的步骤。同时,你能了解GBM中参数的内涵。
XGBoost的优势
正则化XGBoost在标准的GBM实现中增加了正则化,从而能有效避免过拟合
并行计算XGBoost实现了并行计算,实在是太快了!(众所周知,Boosting依赖串行序列已有的计算结果,如何并行化呢?看这里)
XGBoost同时支持Hadoop分布式版本的实现
灵活性高XGBoost允许代码家自定义优化目标函数和评价标准(指标/函数)
这使得模型能够获得更多生命力和自由度,你可以任意发挥想