在CatBoost中过度拟合后,有没有办法保存经过训练的模型?

Mys*_*ion 5 python machine-learning catboost

我使用CatBoostRegressor在Catboost库的Python版本.

根据文档,我可以使用过度拟合探测器,我正在这样做:

model = CatBoostRegressor(iterations=iters, learning_rate=0.03, depth=depth, verbose=True, od_pval=1, od_type='IncToDec', od_wait=20)
model.fit(train_pool, eval_set=validation_pool)

# this code didn't executed
model.save_model(model_name)
Run Code Online (Sandbox Code Playgroud)

然而,在过度拟合发生之后,我的Python脚本被中断,过早停止,选择你想要的任何短语,并且保存模型部分没有被执行,这导致了很多腰部时间并且最终没有结果.我没有得到任何堆栈跟踪.

有没有可能在CatBoost中处理它并节省工作时间?

Myl*_*wed 6

使用此代码.无论try块中发生什么,它都会保存模型.

try:
    model.fit(X, y)
finally:
    model.save_model()
Run Code Online (Sandbox Code Playgroud)