This is an official implementation of the following paper:
Han Bao and Masashi Sugiyama. Fenchel-Young Losses with Skewed Entropies for Class-posterior Probability Estimation. In AISTATS, 2021. [link]
The paper provides a convex loss for CPE (class-posterior probability estimation) under class-imbalance, based on Fenchel-Young losses.
pip install -r requirements.txt
python main.py loss.name=gev_fenchel_young dataset=test
python f_measure.py loss.name=gev_fenchel_young dataset=test
The following methods can be tested (specified for loss.name
):
gev_fenchel_young
: GEV-Fenchel-Young lossgev_canonical
: GEV-canonical lossgev_log
: GEV-log losslogistic
: logistic regressionhinge
: hinge loss with Platt's scalingisotonic
: probability calibration with isotonic regressionweight
: balanced logistic regressionbagging
: undersampling with bagging
Please refer to the supplementary material of the paper to see details.
The following datasets are available (specified for dataset
): car
, ecoli
, glass
, haberman
, nursery
, and yeast
.
More options are available at config.yaml
.