csinva / imodels

Interpretable ML package 🔍 for concise, transparent, and accurate predictive modeling (sklearn-compatible).
https://csinva.io/imodels
MIT License
1.35k stars 120 forks source link

Change FIGS predict_proba to use sigmoid? #149

Closed mepland closed 1 year ago

mepland commented 1 year ago

We should use a sigmoid function, like scipy.special.expit, to constrain the FIGS classifier's predict_proba between 0 and 1, instead of np.clip(preds, a_min=0., a_max=1.). This matches what XGBoost does, see binary:logistic here, and is nicer mathematically as it is a continuous function. If changed, we should also make a note of this in the documentation, and any future papers.

Users can further calibrate the output probabilities with CalibratedClassifierCV, or some other method, if they desire.