Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Separate pipeline_parameters from custom_hyperparameters #2317

Merged
merged 72 commits into from
Jun 7, 2021

Conversation

ParthivNaresh
Copy link
Contributor

@ParthivNaresh ParthivNaresh commented May 31, 2021

Fixes #2130

This PR deals with separating the custom_hyperparameters argument from its current pipeline implementation to AutoMLSearch instead. This is the first step before we replace allowed_pipelines with allowed_component_graphs and keep time series specifications within problem_configuration.

Document comparing the differences between the previous implementation and this one can be found here.

@ParthivNaresh ParthivNaresh marked this pull request as ready for review June 4, 2021 18:43
Copy link
Contributor

@bchen1116 bchen1116 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice job, Parthiv! Left a few nits and testing suggestions.

evalml/automl/automl_algorithm/iterative_algorithm.py Outdated Show resolved Hide resolved
dev-requirements.txt Outdated Show resolved Hide resolved
evalml/tests/automl_tests/test_iterative_algorithm.py Outdated Show resolved Hide resolved
evalml/tests/automl_tests/test_automl.py Outdated Show resolved Hide resolved
evalml/tests/automl_tests/test_automl.py Show resolved Hide resolved
@freddyaboulton freddyaboulton mentioned this pull request Jun 4, 2021
Copy link
Contributor

@dsherry dsherry left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ParthivNaresh this is really excellent! And comprehensive. I left a few code organization things, in particular moving the ValueError for skopt parameters sneaking into custom_parameters to a different location, but not much.

docs/source/user_guide/automl.ipynb Outdated Show resolved Hide resolved
evalml/automl/automl_algorithm/iterative_algorithm.py Outdated Show resolved Hide resolved
evalml/automl/automl_search.py Outdated Show resolved Hide resolved
self.search_iteration_plot = None
self._interrupted = False
self._frozen_pipeline_parameters = {}

parameters = copy.copy(self.pipeline_parameters)
custom_hyperparameters = copy.copy(self.custom_hyperparameters)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do a copy here? We copy parameters on the previous line because we then create a modified version where we add the pipeline-level parameters (time series config etc). But we don't do that for the custom hyperparameters, right?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah thanks, initially I was considering modifying the custom_hyperparameters based on other criteria but forgot to change this back.

evalml/automl/automl_search.py Show resolved Hide resolved
evalml/tests/automl_tests/test_automl.py Show resolved Hide resolved
evalml/tests/automl_tests/test_automl.py Show resolved Hide resolved
Copy link
Contributor

@freddyaboulton freddyaboulton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ParthivNaresh Looks great to me! I left a minor comment that's similar to @dsherry `s suggestion but other than that this is awesome.

evalml/automl/callbacks.py Outdated Show resolved Hide resolved
evalml/tests/automl_tests/test_automl.py Show resolved Hide resolved
Copy link
Contributor

@dsherry dsherry left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚢 🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

AutoMLSearch: clean up API for freezing parameters and constraining hyperparam ranges
6 participants