我想为保险应用程序使用CatBoost回归器(泊松目标(。由于我需要修复曝光,如何设置log_exposure的偏移量?当使用xgboost时;base_margin";,而对于lightgbm,我使用";init_score";params。CatBoost中有类似的吗?
只需使用;set_scale_and_bias(缩放,偏置(";方法。bias参数将设置模型预测结果的偏移,而scale参数应保留为其默认值1。对于您的保险泊松目标,应将偏差设置为log(风险敞口(。
点击此处查看更多详细信息:CatBoost文档
查看文档后,我找到了一个可行的解决方案。CatBoostRegressor
和CatboostClassifier
的拟合方法提供了baseline
和sample_weight
参数,其可直接用于设置偏移(用于先前暴露(或样本权重(用于严重性建模(。顺便说一句,最佳方法是创建Pool
s,并在那里提供偏移和权重的规范:
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。它有效。
使用池可以在拟合方法中提供评估集。