def test_calibrated_eq_odds_postprocessing_pd_cat(self): fairness_info = self.creditg_pd_cat["fairness_info"] estim = self.prep_pd_cat >> LogisticRegression(max_iter=1000) trainable_remi = CalibratedEqOddsPostprocessing( **fairness_info, estimator=estim ) self._attempt_remi_creditg_pd_cat(fairness_info, trainable_remi, 0.65, 0.85)
def test_stacking_post_estimator_mitigation_base_and_final(self): model = StackingClassifier( estimators=[ ( "dtc+ceop", CalibratedEqOddsPostprocessing( **self.fairness_info, estimator=DecisionTreeClassifier()), ), ("lr", LogisticRegression()), ], final_estimator=CalibratedEqOddsPostprocessing( **self.fairness_info, estimator=DecisionTreeClassifier()), passthrough=True, ) self._attempt_fit_predict(model)
def test_bagging_post_estimator_mitigation_base(self): model = BaggingClassifier( base_estimator=CalibratedEqOddsPostprocessing( **self.fairness_info, estimator=DecisionTreeClassifier() ) ) self._attempt_fit_predict(model)
def test_stacking_post_estimator_mitigation_ensemble(self): model = CalibratedEqOddsPostprocessing( **self.fairness_info, estimator=StackingClassifier(estimators=[ ("dtc", DecisionTreeClassifier()), ("lr", LogisticRegression()), ])) self._attempt_fit_predict(model)
def test_voting_post_estimator_mitigation_base(self): model = VotingClassifier(estimators=[ ( "dtc+ceop", CalibratedEqOddsPostprocessing( **self.fairness_info, estimator=DecisionTreeClassifier()), ), ("lr", LogisticRegression()), ]) self._attempt_fit_predict(model)
def test_adaboost_post_estimator_mitigation_ensemble(self): model = CalibratedEqOddsPostprocessing( **self.fairness_info, estimator=AdaBoostClassifier( base_estimator=DecisionTreeClassifier())) self._attempt_fit_predict(model)