diff --git a/docs/source/release_notes.rst b/docs/source/release_notes.rst index 39351db31b..e52c8ac39c 100644 --- a/docs/source/release_notes.rst +++ b/docs/source/release_notes.rst @@ -22,6 +22,7 @@ Release Notes * Set minimum required version for for pyzmq, colorama, and docutils :pr:`2254` * Changed BaseSampler to return None instead of y :pr:`2272` * Changes + * Updated logging information in ``AutoMLSearch.__init__`` to clarify pipeline generation :pr:`2263` * Removed ensemble split and indices in ``AutoMLSearch`` :pr:`2260` * Updated pipeline ``repr()`` and ``generate_pipeline_code`` to return pipeline instances without generating custom pipeline class :pr:`2227` * Documentation Changes diff --git a/evalml/automl/automl_search.py b/evalml/automl/automl_search.py index 8b90407bc4..e936cbc33f 100644 --- a/evalml/automl/automl_search.py +++ b/evalml/automl/automl_search.py @@ -380,6 +380,8 @@ def __init__(self, if self.allowed_pipelines == []: raise ValueError("No allowed pipelines to search") + + logger.info(f"{len(self.allowed_pipelines)} pipelines ready for search.") check_all_pipeline_names_unique(self.allowed_pipelines) run_ensembling = self.ensembling diff --git a/evalml/tests/utils_tests/test_logger.py b/evalml/tests/utils_tests/test_logger.py index f1a0216e7e..815ac59783 100644 --- a/evalml/tests/utils_tests/test_logger.py +++ b/evalml/tests/utils_tests/test_logger.py @@ -6,6 +6,7 @@ import pytest +from evalml import AutoMLSearch from evalml.utils.logger import ( get_logger, log_subtitle, @@ -210,3 +211,24 @@ def test_time_elapsed(mock_time, time_passed, answer): mock_time.return_value = time_passed time = time_elapsed(start_time=0) assert time == answer + + +@pytest.mark.parametrize("type_, allowed_families, number_, number_min_dep", [("binary", None, 8, 5), ("multiclass", 2, 2, 2), ("regression", 3, 3, 3)]) +def test_pipeline_count(type_, allowed_families, number_, number_min_dep, X_y_binary, X_y_multi, X_y_regression, caplog, has_minimal_dependencies): + if type_ == 'binary': + X, y = X_y_binary + elif type_ == 'multiclass': + X, y = X_y_multi + else: + X, y = X_y_regression + if not allowed_families: + _ = AutoMLSearch(X_train=X, y_train=y, problem_type=type_) + else: + if allowed_families == 2: + _ = AutoMLSearch(X_train=X, y_train=y, problem_type=type_, allowed_model_families=['random_forest', 'decision_tree']) + elif allowed_families == 3: + _ = AutoMLSearch(X_train=X, y_train=y, problem_type=type_, allowed_model_families=['random_forest', 'decision_tree', 'extra_trees']) + if has_minimal_dependencies: + assert f"{number_min_dep} pipelines ready for search" in caplog.text + else: + assert f"{number_} pipelines ready for search" in caplog.text