首页 > 解决方案 > xgboost/lightgbm/catboost 背后的想法比较

问题描述

我正在尝试决定,我将在实践中将以下哪一项用于回归任务:xgboost、lightgbm 或 catboost(python 3)。

那么,它们背后的总体思路是什么?为什么我应该选择一个,而不是另一个?

我对 0.781 与 0.782 之类的准确度分数的微小差异不感兴趣。结果应该是站得住脚的,我的工具应该是健壮的,使用方便。主力军。

标签: xgboostlightgbmcatboost

解决方案


您无法先验地确定哪种树算法(或任何算法)将自动成为最佳算法。这是因为https://en.wikipedia.org/wiki/No_free_lunch_theorem

最好都尝试一下。您还应该将随机森林 (RF) 作为另一个尝试。

我会说http://CatBoost.ai (CB) 确实比其他人有一个优势:如果你有Categorical Variables,CB 很可能会击败其他人,因为它可以直接处理分类变量而无需 One-Hot-Encoding。

您可以尝试http://H2O.ai的网格搜索,它支持多种算法(RF、XGBoost、GBM、线性回归),并通过参数超调来查看哪一种效果最好。您可以在一夜之间运行它。(CB 不包含在 H2O 的网格搜索中)


推荐阅读