def __init__(self, globals_dict: dict) -> None: logger = get_logger() np.random.seed(globals_dict["seed"]) gpu_imported = False from sklearn.linear_model import RidgeClassifier if globals_dict["gpu_param"] == "force": import cuml.linear_model logger.info("Imported cuml.linear_model") gpu_imported = True elif globals_dict["gpu_param"]: try: import cuml.linear_model logger.info("Imported cuml.linear_model") gpu_imported = True except ImportError: logger.warning("Couldn't import cuml.linear_model") args = {} tune_args = {} tune_grid = {} tune_distributions = {} if gpu_imported: RidgeClassifier = pycaret.internal.cuml_wrappers.get_ridge_classifier( ) else: args = {"random_state": globals_dict["seed"]} tune_grid = { "normalize": [True, False], } tune_grid["alpha"] = np_list_arange(0.01, 10, 0.01, inclusive=False) tune_grid["fit_intercept"] = [True, False] tune_distributions["alpha"] = UniformDistribution(0.001, 10) leftover_parameters_to_categorical_distributions( tune_grid, tune_distributions) super().__init__( id="ridge", name="Ridge Classifier", class_def=RidgeClassifier, args=args, tune_grid=tune_grid, tune_distribution=tune_distributions, tune_args=tune_args, shap=False, is_gpu_enabled=gpu_imported, ) if gpu_imported: self.reference = get_class_name(cuml.linear_model.Ridge)
def __init__(self, globals_dict: dict) -> None: logger = get_logger() np.random.seed(globals_dict["seed"]) gpu_imported = False from sklearn.ensemble import RandomForestClassifier if globals_dict["gpu_param"] == "force": import cuml.ensemble logger.info("Imported cuml.ensemble") gpu_imported = True elif globals_dict["gpu_param"]: try: import cuml.ensemble logger.info("Imported cuml.ensemble") gpu_imported = True except ImportError: logger.warning("Couldn't import cuml.ensemble") if gpu_imported: RandomForestClassifier = ( pycaret.internal.cuml_wrappers.get_random_forest_classifier()) args = ({ "random_state": globals_dict["seed"], "n_jobs": globals_dict["n_jobs_param"], } if not gpu_imported else { "seed": globals_dict["seed"] }) tune_args = {} tune_grid = { "n_estimators": np_list_arange(10, 300, 10, inclusive=True), "max_depth": np_list_arange(1, 11, 1, inclusive=True), "min_impurity_decrease": [ 0, 0.0001, 0.001, 0.01, 0.0002, 0.002, 0.02, 0.0005, 0.005, 0.05, 0.1, 0.2, 0.3, 0.4, 0.5, ], "max_features": [1.0, "sqrt", "log2"], "bootstrap": [True, False], } tune_distributions = { "n_estimators": IntUniformDistribution(10, 300), "max_depth": IntUniformDistribution(1, 11), "min_impurity_decrease": UniformDistribution(0.000000001, 0.5, log=True), "max_features": UniformDistribution(0.4, 1), } if gpu_imported: tune_grid["split_criterion"] = [0, 1] else: tune_grid["criterion"] = ["gini", "entropy"] tune_grid["class_weight"] = ["balanced", "balanced_subsample", {}] tune_grid["min_samples_split"] = [2, 5, 7, 9, 10] tune_grid["min_samples_leaf"] = [2, 3, 4, 5, 6] tune_distributions["min_samples_split"] = IntUniformDistribution( 2, 10) tune_distributions["min_samples_leaf"] = IntUniformDistribution( 2, 6) leftover_parameters_to_categorical_distributions( tune_grid, tune_distributions) super().__init__( id="rf", name="Random Forest Classifier", class_def=RandomForestClassifier, args=args, tune_grid=tune_grid, tune_distribution=tune_distributions, tune_args=tune_args, shap="type1", is_gpu_enabled=gpu_imported, ) if gpu_imported: self.reference = get_class_name( cuml.ensemble.RandomForestClassifier)