[Feature request] Multi-class classification objective function using OneVersusOne method
- Dominant language
- C++
- Stars
- 28.8k
- Forks
- 8.9k
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 54
Description
Hi,
For multi-class classification, we have the objective functions of 'multi:softmax' and 'multi"softprob', which basically are using the OneVersusOthers method (correct me if wrong).
In a lot of modeling execrise, for instance, we need to classify A, B, C1 and C2 where C1 and C2 are classes that share a lot similar characteristics. Thus when we have our primary focus on predicting C1, we use the OneVersusOther method, the model is trying to predict C1 versus (A, B and C2) and pick up some variables that may not be as reasonable as the one using the OneVersusOne like C1 vs A.
To make the request clear, it would be great if we have an additional objective function of 'multi:OneVursusOne' , that:
1. we can specify the reference group;
2. the optimization is using 1 versus 1 method. for example in the above example, it basically will evaluate C1 vs A, C2 vs A and B vs A.
best,
Chris
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the existing multi:softmax and multi:softprob objective functions and how XGBoost represents multiclass objectives. Define how a reference group and the requested one-versus-one comparisons should affect optimization. Done means the new objective is supported with the requested configuration and its behavior is validated against the stated class-comparison example.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- machine-learning
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100