1

我想将 CatBoost 回归器用于保险应用(泊松目标)。由于需要修复曝光,如何设置 log_exposure 的偏移量?使用 xgboost 时,我使用“base_margin”,而对于 lightgbm,我使用“init_score”参数。CatBoost 中是否有等价物?

4

2 回答 2

2

只需在 CatBoostRegressor 模型上使用“set_scale_and_bias(scale,bias)”方法。偏差参数将设置模型预测结果的偏移量,而比例参数应保留为其默认值,即 1。对于您的保险泊松目标,偏差应设置为 log(exposure)。

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

于 2021-01-22T13:49:08.483 回答
0

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

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.DataFrame仅包含预测变量,即label实际索赔数量,cat_features是指定分类术语的字符列表,这些baseline术语是对数曝光的 np.array。有用。

使用 Pools 允许在 fit 方法中提供评估集。

于 2021-01-24T10:09:36.507 回答