Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Regression Tasks #4

Merged
merged 6 commits into from
May 25, 2022
Merged

Support Regression Tasks #4

merged 6 commits into from
May 25, 2022

Conversation

HanXudong
Copy link
Member

Update fairlib to support regression tasks.

To use the original training and evaluation framework for classification tasks, we keep the y label as categorical variables and add an additional variable for the actual target value for regressions.

  • We use pandas to discretize regression targets. Specifically, the number of bins is specified as a hyperparameter, and each bin has the same size.
  • The regressor is trained to minimize MSE loss, and other settings are exactly the same as the classification model.
  • We currently report MAE, MSE, and R2 as the regression performance metrics.
  • Debiasing and fairness evaluation are largely based on bin labels, so we can still report metrics like TPR GAP and FNR GAP
  • We have also updated FairBatch to support regression debiasing, where loss estimation and resampling probability adjustment are based on MSE loss.

HanXudong added 6 commits May 25, 2022 23:17
1. add mae, mse, and r2 scores for regression performance evaluation
2 convert continuous target value and predictions to categorical variable, such that fairness evaluation can be done under the classification evaluation framework.
use MSE loss to adjust resampling prob for each partition
@HanXudong HanXudong merged commit 4121a8f into main May 25, 2022
@HanXudong HanXudong deleted the regression branch July 13, 2022 06:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant