DEV Community


Discussion on: August 6th, 2020: What did you learn this week?

benwtrent profile image
Benjamin Trent

I learned how XGBoost multi-class classification works.

Turns out that every n_classes tree (read estimator) is for that particular class. Neat way of keeping boosted regression tree leafs restricted to one value.

[ML] add multi:softmax|softprob XGBoost support #246

This commit adds support for XGBoost multi-class classification model transformations.

XGBoost handles multiclass classification by having n_classes * n_estimators trees. Then, every n_classes tree corresponds to their respective classes

Since Elasticsearch supports multi-valued leaves, we can transform the xgboost format by choosing the appropriate leaf value index given the tree id.

This commit also fixes a minor model transformation bug where if xgboost actually defined the feature_names instead of the default f1,...fn we would blow up.


nickytonline profile image