base_margin或init_score用于catboost回归函数



我想为保险应用程序使用CatBoost回归器(泊松目标(。由于我需要修复曝光,如何设置log_exposure的偏移量?当使用xgboost时;base_margin";,而对于lightgbm,我使用";init_score";params。CatBoost中有类似的吗?

只需使用;set_scale_and_bias(缩放,偏置(";方法。bias参数将设置模型预测结果的偏移,而scale参数应保留为其默认值1。对于您的保险泊松目标,应将偏差设置为log(风险敞口(。

点击此处查看更多详细信息:CatBoost文档

查看文档后,我找到了一个可行的解决方案。CatBoostRegressorCatboostClassifier的拟合方法提供了baselinesample_weight参数,其可直接用于设置偏移(用于先前暴露(或样本权重(用于严重性建模(。顺便说一句,最佳方法是创建Pools,并在那里提供偏移和权重的规范:

freq_train_pool = Pool(data=freq_train_ds, label=claim_nmb_train.values,cat_features=xvars_cat,baseline=claim_model_offset_train.values)
freq_valid_pool = Pool(data=freq_valid_ds, label=claim_nmb_valid.values,cat_features=xvars_cat,baseline=claim_model_offset_valid.values)
freq_test_pool = Pool(data=freq_test_ds, label=claim_nmb_test.values,cat_features=xvars_cat,baseline=claim_model_offset_test.values)

这里,data参数包含仅具有预测器的pd.DataFramelabel是索赔的实际数量,cat_features是指定分类项的字符列表,baseline项是日志暴露的np.array。它有效。

使用池可以在拟合方法中提供评估集。

最新更新