While training an NGBoost model I got:
[iter 0] loss=-2.2911 val_loss=-2.3309 scale=2.0000 norm=1.0976 [iter 100] loss=-3.3288 val_loss=-2.8532 scale=2.0000 norm=0.7841 [iter 200] loss=-4.0889 val_loss=-1.5779 scale=2.0000 norm=0.7544 [iter 300] loss=-4.8400 val_loss=8.8107 scale=2.0000 norm=0.6710 [iter 400] loss=-5.4463 val_loss=51.7171 scale=2.0000 norm=0.5999
It looks like overfit occurred between iterations 100 and 200. Is the best (val_loss wise) model saved, or did I get the last one reported (with a massive overfit, -5.4463 in train loss vs 51.7171 in validation loss)?
If I really do get the overfitted model, how can I introduce early stopping (or model saving) based on the validation score?