微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何改进catboostregressor?

如何解决如何改进catboostregressor?

我正在研究一个数据科学回归问题,训练集大约有 90,000 行,测试集大约有 8500 行。有 9 个分类列,没有缺失数据。对于这种情况,我应用了一个 catboostregressor,它给了我相当好的 R2(98.51) 和 MAE (3.77)。其他节点LGBM、XGBOOST在catboost下执行。

现在我想增加 R2 值并减少 MAE 以获得更准确的结果。这也是需求。

我通过添加 'loss_function': ['MAE'],'l2_leaf_reg':[3],'random_strength': [4],'bagging_temperature':[0.5] 使用不同的值进行了多次调整,但性能是一样。

谁能帮助我通过最小化 MAE 和 MSE 来提高 R2 值?

解决方法

您可以使用 Scikit-Learn 的 GridSearchCV 为您的 catboost 模型找到最佳超参数。您可以传递超参数字典,GridSearchCV 将遍历所有超参数并告诉您哪个参数最好。你可以这样使用它 -

from sklearn.model_selection import GridSearchCV

model = CatBoostRegressor()
parameters = {'depth' : [6,8,10],'learning_rate' : [0.01,0.05,0.1],'iterations'    : [30,50,100]
              }

grid = GridSearchCV(estimator=model,param_grid = parameters,cv = 2,n_jobs=-1)
grid.fit(X_train,y_train)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。