我在一家CatBoost网站上看到,它的表现应该优于任何其他提升式的训练模式,于是我决定自己在Kaggle的https://www.kaggle.com/c/house-prices-advanced-regression-techniques上试用它。
我创建了一些基本的内核,没有任何复杂的预处理、特征选择、GridSearch、堆叠等.只是为了比较XGBR和CatBoost的性能。但据我所见,XGBR的性能总是优于CatBoost。https://www.kaggle.com/markbquant/compare-catboostregressor-vs-xgbregressor
The CatBoost参数:iterations=100、depth=3、learning_rate=0.1 The XGBR参数:subsample=0.7、colsample_bytree=0.7、n_estimators=500、learning_rate=0.03、max_depth=5、min_child_weight=3
例如,在Kaggle中,XGBR的得分为0.134,而CatBoot仅达到0.197 (我尝试了one_hot_max_size和cat_features)。如果有人能指出CatBoost模型的问题所在,我会很感激,因为可能缺少一些优化。
发布于 2021-06-01 08:43:31
执行这样的基准并不那么容易。这意味着我们不能只选择几个数据集并运行这些模型,因为存在数据依赖关系。在这种情况下,需要通过不同的过程来模拟数据--模拟可以帮助设计不同条件下的各种数据。例如,模型一可能在绑定方面做得更好,因此,具有各种绑定条件的数据必须在手动之前到位,或者树的深度。因此,仅仅收集房价数据是不够的。
赤裸裸的头脑中,这样的表现可能真的很小。不要期待10%的差别!他们经常躺在1%以内。
Catboost与Xgboost的区别在于生产环境中的thread safing。因此,不能在任何严重的部署环境中使用thread safe。
https://datascience.stackexchange.com/questions/38792
复制相似问题