Skip to content

Commit

Permalink
Add RUSBoost classifier.
Browse files Browse the repository at this point in the history
  • Loading branch information
AxiomAlive committed Feb 20, 2025
1 parent adda834 commit 8f0ea5e
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 3 deletions.
13 changes: 12 additions & 1 deletion config_spaces/ensemble/boost.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from hyperopt.pyll import scope
from imbens.ensemble import AdaCostClassifier, AsymBoostClassifier
from imbens.ensemble.reweighting import AdaUBoostClassifier
from imblearn.ensemble import BalancedRandomForestClassifier
from imblearn.ensemble import BalancedRandomForestClassifier, RUSBoostClassifier
from matplotlib import pyplot as plt
from openml import flows as openml_flows
from openml import runs as openml_runs
Expand Down Expand Up @@ -47,4 +47,15 @@ def generate_algorithm_configuration_space(cls, model_class=None):
param_map = super().generate_algorithm_configuration_space()
param_map.update({'model_class': model_class})

return param_map


class RUSBoostGenerator(AdaGenerator):
replacement = hp.choice("rus_boost.replacement", [True, False])

@classmethod
def generate_algorithm_configuration_space(cls, model_class=None):
param_map = super().generate_algorithm_configuration_space()
param_map.update({'model_class': RUSBoostClassifier})

return param_map
5 changes: 3 additions & 2 deletions experiment/imba.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
from imbens.ensemble import AdaUBoostClassifier, AdaCostClassifier, AsymBoostClassifier
from sklearn.metrics import *

from config_spaces.ensemble.boost import AdaReweightedGenerator
from config_spaces.ensemble.boost import AdaReweightedGenerator, RUSBoostGenerator
from config_spaces.ensemble.bag import BalancedBaggingClassifierGenerator
from config_spaces.ensemble.bag import BalancedRandomForestGenerator
from utils.decorators import ExceptionWrapper
Expand Down Expand Up @@ -85,7 +85,8 @@ def fit(
AdaReweightedGenerator.generate_algorithm_configuration_space(AdaCostClassifier),
AdaReweightedGenerator.generate_algorithm_configuration_space(AsymBoostClassifier),
BalancedRandomForestGenerator.generate_algorithm_configuration_space(),
BalancedBaggingClassifierGenerator.generate_algorithm_configuration_space()
BalancedBaggingClassifierGenerator.generate_algorithm_configuration_space(),
RUSBoostGenerator.generate_algorithm_configuration_space()
]

algorithms_configuration = hp.choice("algorithm_configuration", model_classes)
Expand Down

0 comments on commit 8f0ea5e

Please sign in to comment.