I am using xgboost to make regression predictions. I initially started with default objective reg:squarederror
. This returned reasonable predictions.
My data have outliers so I tried experimenting with reg:squaredlogerror
. The predictions using this objective were so far off that I wondered if I had just missed a step.
I could not find anything in the documentation or any reference to this. Intuitively, I might have expected squaredlogerror
to return more accurate predictions since I have outliers, but the opposite was seen.
When I use the squaredlogerror
, am I meant to exp() the predictions (I tried that, but the predictions were very very far off so I guess no).
I suspect I do not have to make any transformations, it's just a matter of changing the objective in my call to xgboost(). But I wanted to double check... am I meant to make any kind of transformation when using squaredlogerror
as opposed to squarederror