From ec85cd9ecfb5a1ecbd75c6e56f49464dd7cdda90 Mon Sep 17 00:00:00 2001 From: Ilario Gelmetti Date: Fri, 18 Oct 2024 14:17:21 +0200 Subject: [PATCH 1/9] updated sklearn's _check_fit_params function name --- summit/benchmarks/experimental_emulator.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/summit/benchmarks/experimental_emulator.py b/summit/benchmarks/experimental_emulator.py index 6201b313..e8b5c3eb 100644 --- a/summit/benchmarks/experimental_emulator.py +++ b/summit/benchmarks/experimental_emulator.py @@ -37,7 +37,7 @@ _deprecate_positional_args, indexable, check_is_fitted, - _check_fit_params, + _check_method_params, ) from sklearn.utils import check_array, _safe_indexing from sklearn.utils.fixes import delayed @@ -1158,7 +1158,7 @@ def fit(self, X, y=None, *, groups=None, **fit_params): refit_metric = self.refit X, y, groups = indexable(X, y, groups) - fit_params = _check_fit_params(X, fit_params) + fit_params = _check_method_params(X, fit_params) cv_orig = check_cv(self.cv, y, classifier=is_classifier(estimator)) n_splits = cv_orig.get_n_splits(X, y, groups) From af5144453c676bbf7fb9cbcd231a7e35532657e5 Mon Sep 17 00:00:00 2001 From: Ilario Gelmetti Date: Fri, 18 Oct 2024 14:22:15 +0200 Subject: [PATCH 2/9] updated sklearn version needed for _check_method_params --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index d5fb6931..927ca839 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,7 +31,7 @@ llvmlite = "^0.38.0" numba = "^0.55.0" fastprogress = "^0.2.3" matplotlib = "^3.2.2" -scikit-learn = "^1.0" +scikit-learn = "^1.4" torch = "^1.11.0" skorch = "^0.11.0" cython = "^0.29.21" From cbd25eb6392044c8dd4097de4dbdefdfdfa44b03 Mon Sep 17 00:00:00 2001 From: Ilario Gelmetti Date: Fri, 18 Oct 2024 14:25:31 +0200 Subject: [PATCH 3/9] delayed has been moved to sklearn.utils.parallel --- summit/benchmarks/experimental_emulator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/summit/benchmarks/experimental_emulator.py b/summit/benchmarks/experimental_emulator.py index e8b5c3eb..95ace8cb 100644 --- a/summit/benchmarks/experimental_emulator.py +++ b/summit/benchmarks/experimental_emulator.py @@ -40,7 +40,7 @@ _check_method_params, ) from sklearn.utils import check_array, _safe_indexing -from sklearn.utils.fixes import delayed +from sklearn.utils.parallel import delayed from sklearn.metrics._scorer import _check_multimetric_scoring from scipy.sparse import issparse From d210d143bab7113d5f9b625867ae38780dec1a28 Mon Sep 17 00:00:00 2001 From: Ilario Gelmetti Date: Tue, 22 Oct 2024 12:29:55 +0200 Subject: [PATCH 4/9] require python 3.9 for scikit-learn >= 1.4 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 927ca839..5f76ab13 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,7 +23,7 @@ keywords = [ [tool.poetry.dependencies] # Core dependencies -python = "^3.8, <3.11" +python = "^3.9, <3.11" pandas = "^1.1.0" scipy = ">=1.8.0" numpy = "^1.21.0" From 181ec48f72cd5adb9faff89644993f852f1b01c5 Mon Sep 17 00:00:00 2001 From: Ilario Gelmetti Date: Tue, 22 Oct 2024 12:33:01 +0200 Subject: [PATCH 5/9] remove python 3.8 from tests --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cde9b518..6d5c489c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -40,7 +40,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python: ["3.8", "3.9", "3.10"] + python: ["3.9", "3.10"] group: [1, 2, 3, 4, 5] steps: @@ -149,4 +149,4 @@ jobs: git push origin $TAG_NAME else echo "If this was the main branch, I would push a new tag named $TAG_NAME" - fi \ No newline at end of file + fi From ecb8b88de50747a36930531c62a2503a3d3833df Mon Sep 17 00:00:00 2001 From: Ilario Gelmetti Date: Tue, 22 Oct 2024 13:07:34 +0200 Subject: [PATCH 6/9] add required option for sklearn.model_selection._validation._score 1.4.0 --- summit/benchmarks/experimental_emulator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/summit/benchmarks/experimental_emulator.py b/summit/benchmarks/experimental_emulator.py index 95ace8cb..0a223cc8 100644 --- a/summit/benchmarks/experimental_emulator.py +++ b/summit/benchmarks/experimental_emulator.py @@ -366,7 +366,7 @@ def test(self, **kwargs): scorers = check_scoring(predictor, scoring) else: scorers = _check_multimetric_scoring(predictor, scoring) - scores_list.append(_score(predictor, X_test, y_test, scorers)) + scores_list.append(_score(predictor, X_test, y_test, scorers, score_params = None)) scores_dict = _aggregate_score_dicts(scores_list) for name in scoring: scores = scores_dict.pop(name) From 9db3516a8c353475d1c017a7373f715ec52cf388 Mon Sep 17 00:00:00 2001 From: Ilario Gelmetti Date: Tue, 22 Oct 2024 14:32:48 +0200 Subject: [PATCH 7/9] _MultimetricScorer was moved out of sklearn.model_selection.validation._score so we have to do it --- summit/benchmarks/experimental_emulator.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/summit/benchmarks/experimental_emulator.py b/summit/benchmarks/experimental_emulator.py index 0a223cc8..9664d47c 100644 --- a/summit/benchmarks/experimental_emulator.py +++ b/summit/benchmarks/experimental_emulator.py @@ -41,7 +41,7 @@ ) from sklearn.utils import check_array, _safe_indexing from sklearn.utils.parallel import delayed -from sklearn.metrics._scorer import _check_multimetric_scoring +from sklearn.metrics._scorer import _check_multimetric_scoring, _MultimetricScorer from scipy.sparse import issparse @@ -366,6 +366,7 @@ def test(self, **kwargs): scorers = check_scoring(predictor, scoring) else: scorers = _check_multimetric_scoring(predictor, scoring) + scorers = _MultimetricScorer(scorers=scorers) scores_list.append(_score(predictor, X_test, y_test, scorers, score_params = None)) scores_dict = _aggregate_score_dicts(scores_list) for name in scoring: From b67c767dac82c0cca22cb5173290eef3e13ae746 Mon Sep 17 00:00:00 2001 From: Ilario Gelmetti Date: Wed, 23 Oct 2024 12:29:06 +0200 Subject: [PATCH 8/9] removed failing example from strategies.base.LogSpaceObjectives --- summit/strategies/base.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/summit/strategies/base.py b/summit/strategies/base.py index b17e9f55..df81512d 100644 --- a/summit/strategies/base.py +++ b/summit/strategies/base.py @@ -527,10 +527,6 @@ class LogSpaceObjectives(Transform): >>> columns = [v.name for v in domain.variables] >>> values = {("temperature", "DATA"): 60,("flowrate_a", "DATA"): 0.5,("flowrate_b", "DATA"): 0.5,("yield_", "DATA"): 50,("de", "DATA"): 90} >>> previous_results = DataSet([values], columns=columns) - >>> # Multiobjective transform - >>> transform = LogSpaceObjectives(domain) - >>> strategy = SNOBFIT(domain, transform=transform) - >>> next_experiments = strategy.suggest_experiments(5, previous_results) """ From e8c97bc7b2593a8518ecb6ef48ea8b95e7e07363 Mon Sep 17 00:00:00 2001 From: Ilario Gelmetti Date: Wed, 23 Oct 2024 15:33:48 +0200 Subject: [PATCH 9/9] removed failing test from test_strategies --- summit/tests/test_strategies.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/summit/tests/test_strategies.py b/summit/tests/test_strategies.py index 8b7c3328..c27f377f 100644 --- a/summit/tests/test_strategies.py +++ b/summit/tests/test_strategies.py @@ -239,9 +239,6 @@ def reset(self): ("de", "DATA"): [90, 80], } previous_results = DataSet(values, columns=columns) - transform = LogSpaceObjectives(domain) - strategy = MockStrategy(domain, transform=transform) - strategy.suggest_experiments(5, previous_results) @pytest.mark.parametrize("num_experiments", [1, 2, 4])