Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

xgboost, offset exposure?

Tags:

r

xgboost

I am modelling a claims frequency (poisson distr) in R. I am using the gbm and xgboost packages, but it seems that xgboost does not have an offset parameter to take the exposure into account?

In a gbm, one would take the exposure into account as follows:

gbm.fit(x = train,y = target, n.trees = 100,distribution = "poisson", offset = log(exposure))

How do I achieve the same with `xgboost?

PS: I cannot use the exposure as predictor since a new obs is created each time a claim is observed.

like image 794
TheLittleSun Avatar asked Sep 26 '22 15:09

TheLittleSun


1 Answers

Once you have created your xgboost matrix you can set an offset using setinfo and the base_margin attribute, eg:

setinfo(xgtrain, "base_margin", log(d$exposure))

You can see the full example from the similar question I asked here: XGBoost - Poisson distribution with varying exposure / offset

like image 189
Pete Lowth Avatar answered Sep 28 '22 05:09

Pete Lowth