0
$\begingroup$

I basically have something like:

xgbmod = xgboost(data = data.matrix(train_s), booster = "gblinear",
             nround = 100, #max_depth=10, lambda=0.5,
             label = data.matrix(train_df$ss),
             objective = "reg:squarederror")

You can see the current objective function is squared error loss.

I want to define a new objective function:

(pred - true)^2 + penalty*(a variable in my data)

So I want to penalize on a variable in my data.

How can I change the objective function to this using XGboost function in R? Is there a way that to define the loss function without touching the source code of it. Because the pred is changing, as we have the penalty term, and I think we cannot use any existing model.

Thanks in advance!!

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.