def __init__(self, eta=0.1, max_depth=6, min_child_weight=1, n_estimators=100, random_state=None, random_seed=0, **kwargs): random_seed = deprecate_arg("random_state", "random_seed", random_state, random_seed) parameters = { "eta": eta, "max_depth": max_depth, "min_child_weight": min_child_weight, "n_estimators": n_estimators } parameters.update(kwargs) xgb_error_msg = "XGBoost is not installed. Please install using `pip install xgboost.`" xgb = import_or_raise("xgboost", error_msg=xgb_error_msg) xgb_classifier = xgb.XGBClassifier(random_state=random_seed, **parameters) super().__init__(parameters=parameters, component_obj=xgb_classifier, random_seed=random_seed)
def test_import_or_raise_errors(dummy_importlib): def _mock_import_function(library_str): if library_str == "_evalml": raise ImportError("Mock ImportError executed!") if library_str == "attr_error_lib": raise Exception("Mock Exception executed!") dummy_importlib.side_effect = _mock_import_function with pytest.raises(ImportError, match="Missing optional dependency '_evalml'"): import_or_raise("_evalml") with pytest.raises(ImportError, match="Missing optional dependency '_evalml'. Please use pip to install _evalml. Additional error message"): import_or_raise("_evalml", "Additional error message") with pytest.raises(Exception, match="An exception occurred while trying to import `attr_error_lib`: Mock Exception executed!"): import_or_raise("attr_error_lib")
def test_import_or_raise_imports(): math = import_or_raise("math", "error message") assert math.ceil(0.1) == 1