fairml (0.8)
* support the following generalized linear model families in fgrrm():
Poisson (log-linear regression), Cox (proportional hazards regression)
and multinomial (multi-class logistic regression). Gaussian (linear
regression) and binomial (logistic regression) families were already
supported in previous versions.
* the plot() moethods for "fair.model" objects now produces more diagnostic
plots for all models and families.
* added the individual fairness from Berk et al. (2017) and Scutari, Panero
and Proissl (2022) to frrm() and fgrrm().
* added more synthetic data sets for testing and prototyping.
* added zlm.orig() and zlrm.orig(), which implement Zafar et al. (2019)'s
fair regression and logistic regression models with the original
constraints on the covariances.
* support user-specified fairness definitions/functions.
fairml (0.7)
* fixed the computation of precision and recall in fairml.cv() (thanks
Francesca Panero).
* when computing precision and recall in fairml.cv(), the first class of the
response is the "negative" class and the second is the "positive" class,
not the other way round (thanks Francesca Panero).
fairml (0.6.3)
* fixed predict() with just a single predictor variable (thanks Florian
Pfisterer).
* better error message when the column names of predictors and sensitive
attributes result in clashes in the respective design matrices (thanks
Florian Pfisterer).
fairml (0.6.2)
* changed the maintainer email.
fairml (0.6.1)
* fixed conditionals involving is() vs inherit().
fairml (0.6)
* preliminary implementation of a linear regression model with the fairness
constraints from Zafar et al. (2019).
* the equality-of-opportunity version of Komiyama's definition of fairness
now works with fgrrm().
* fairml.cv() now supports fgrrm().
* added a logLik() method for all fair models.
* added an RMSE profile plot for linear regressions.
* Zafar's logistic regression is now faster and more robust.
fairml (0.5)
* preliminary implementation of the logistic regression model with fairness
constraints from Zafar et al. (2019).
* frrm() can now enforce both statistical parity and equality of
opportunity, as specified by the "definition" argument.
* added an argument "cluster" to enable parallel computing in fairml.cv()
and fairness.profile.plot().
* added an optional argument to regularize the predictors in frrm() with a
ridge penalty.
* added an argument "save.auxiliary" (default: FALSE) to reduce the size of
the model objects returned by nclm() and frrm() by not saving the fitted
values and the residuals of the auxiliary models that computes the
decorrelated predictors.
* included the Adult and Bank data sets from UCI, used in Zafar et al.
(2019).
* added a precision-recall profile plot for classifiers, and more
constraints profile plots.
fairml (0.4)
* preliminary implementation of the fair ridge regression model.
* fairness.profile.plot() no longer plots the intercept of the model.
* the "epsilon" argument has been renamed to "unfairness" thorough the
package.
* loss() has been renamed to cv.loss().
* added cv.unfairness() to match cv.loss().
fairml (0.3)
* support custom covariance matrix estimators in nclm(); Komiyama et al.
(2018) plugged various kernel estimators in the model estimation.
* added an optional argument to regularize nclm() with a ridge penalty.
* implemented cross-validation in fairml.cv() and an associated loss()
function.
fairml (0.2)
* improved argument sanitization.
* improved nclm() numeric stability by standardizing variables.
* added the data sets used in Komiyama et al. (2018).
fairml (0.1)
* initial release.
* preliminary implementation of the regression model with fairness
constraints from Komiyama et al. (2018), without kernel regularization.
* implemented print(), summary(), coef(), fitted(), residuals(), sigma(),
nobs(), sigma(), predict() and all.equal() methods.
* added some profile plots in fairness.profile.plots().