I use binary:hinge
as my objective function when training a binary classification task. The max_depth
was set to 1. And I found the metrics(auc, logloss, error
) keep the same during training process. Like
[509] train-auc:0.5 train-logloss:10.6287 train-error:0.288653
[510] train-auc:0.5 train-logloss:10.6287 train-error:0.288653
[511] train-auc:0.5 train-logloss:10.6287 train-error:0.288653
[512] train-auc:0.5 train-logloss:10.6287 train-error:0.288653
[513] train-auc:0.5 train-logloss:10.6287 train-error:0.288653
[514] train-auc:0.5 train-logloss:10.6287 train-error:0.288653
[515] train-auc:0.5 train-logloss:10.6287 train-error:0.288653
[516] train-auc:0.5 train-logloss:10.6287 train-error:0.288653
[517] train-auc:0.5 train-logloss:10.6287 train-error:0.288653
[518] train-auc:0.5 train-logloss:10.6287 train-error:0.288653
[519] train-auc:0.5 train-logloss:10.6287 train-error:0.288653
[520] train-auc:0.5 train-logloss:10.6287 train-error:0.288653
[521] train-auc:0.5 train-logloss:10.6287 train-error:0.288653
[522] train-auc:0.5 train-logloss:10.6287 train-error:0.288653
[523] train-auc:0.5 train-logloss:10.6287 train-error:0.288653
I dumped the model in the end, and I found that there are many trees with the same structure and selected feature. And some trees has only one node. Such as:
Is there a bug of hinge loss for binary classification(binary:hinge)? or Can some one give me some advice about the usage of hinge loss in xgboost.