def __init__( self, id: str, name: str, class_def: type, eq_function: Optional[type] = None, args: Dict[str, Any] = None, is_special: bool = False, tune_grid: Dict[str, list] = None, tune_distribution: Dict[str, Distribution] = None, tune_args: Dict[str, Any] = None, is_gpu_enabled: Optional[bool] = None, ) -> None: if not args: args = {} if not tune_grid: tune_grid = {} if not tune_distribution: tune_distribution = {} if not tune_args: tune_args = {} super().__init__( id=id, name=name, class_def=class_def, eq_function=eq_function, args=args, is_special=is_special, ) self.tune_grid = param_grid_to_lists(tune_grid) self.tune_distribution = tune_distribution self.tune_args = tune_args if is_gpu_enabled is not None: self.is_gpu_enabled = is_gpu_enabled else: self.is_gpu_enabled = bool(self.get_package_name() == "cuml")
def __init__( self, id: str, name: str, class_def: type, is_turbo: bool = True, eq_function: Optional[type] = None, args: Dict[str, Any] = None, is_special: bool = False, tune_grid: Dict[str, list] = None, tune_distribution: Dict[str, Distribution] = None, tune_args: Dict[str, Any] = None, shap: Union[bool, str] = False, is_gpu_enabled: Optional[bool] = None, is_boosting_supported: Optional[bool] = None, is_soft_voting_supported: Optional[bool] = None, ) -> None: self.shap = shap if not (isinstance(shap, bool) or shap in ["type1", "type2"]): raise ValueError("shap must be either bool or 'type1', 'type2'.") if not args: args = {} if not tune_grid: tune_grid = {} if not tune_distribution: tune_distribution = {} if not tune_args: tune_args = {} super().__init__( id=id, name=name, class_def=class_def, eq_function=eq_function, args=args, is_special=is_special, ) self.is_turbo = is_turbo self.tune_grid = param_grid_to_lists(tune_grid) self.tune_distribution = tune_distribution self.tune_args = tune_args try: model_instance = class_def() self.is_boosting_supported = bool( hasattr(model_instance, "class_weights") or hasattr(model_instance, "predict_proba")) self.is_soft_voting_supported = bool( hasattr(model_instance, "predict_proba")) del model_instance except: self.is_boosting_supported = False self.is_soft_voting_supported = False finally: if is_boosting_supported is not None: self.is_boosting_supported = is_boosting_supported if is_soft_voting_supported is not None: self.is_soft_voting_supported = is_soft_voting_supported if is_gpu_enabled is not None: self.is_gpu_enabled = is_gpu_enabled else: self.is_gpu_enabled = bool(self.get_package_name() == "cuml")