{ "cells": [ { "cell_type": "markdown", "id": "30e02d05", "metadata": {}, "source": [ "# Pipeline Regression With GASearchCV\n", "\n", "This notebook shows how to tune a scikit-learn `Pipeline` with `GASearchCV`. The objective is still pipeline prediction, but the example now includes a stronger regression workflow, holdout metrics, optimizer telemetry, and advanced optimizer controls.\n", "\n", "## Menu\n", "\n", "1. [Problem Setup](#problem-setup)\n", "2. [Baseline Pipeline](#baseline-pipeline)\n", "3. [Define Pipeline Search Space](#define-pipeline-search-space)\n", "4. [Configure GASearchCV](#configure-gasearchcv)\n", "5. [Evaluate Predictions](#evaluate-predictions)\n", "6. [Inspect Search Cost and Telemetry](#inspect-search-cost-and-telemetry)\n", "7. [Visualize the Search](#visualize-the-search)\n", "8. [Practical Notes](#practical-notes)" ] }, { "cell_type": "markdown", "id": "4a386a0f", "metadata": {}, "source": [ "## Problem Setup\n", "\n", "We use the diabetes regression dataset and tune a pipeline containing `StandardScaler` and `GradientBoostingRegressor`. Pipeline parameters use the usual sklearn double-underscore syntax, such as `regressor__max_depth`." ] }, { "cell_type": "code", "id": "7f70149b", "metadata": { "execution": { "iopub.execute_input": "2026-06-20T05:33:07.993489Z", "iopub.status.busy": "2026-06-20T05:33:07.993166Z", "iopub.status.idle": "2026-06-20T05:33:16.885104Z", "shell.execute_reply": "2026-06-20T05:33:16.883974Z" }, "ExecuteTime": { "end_time": "2026-06-20T18:49:10.046919400Z", "start_time": "2026-06-20T18:49:05.977562800Z" } }, "source": [ "import warnings\n", "from pprint import pprint\n", "\n", "import pandas as pd\n", "from sklearn.datasets import load_diabetes\n", "from sklearn.ensemble import GradientBoostingRegressor\n", "from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score\n", "from sklearn.model_selection import KFold, train_test_split\n", "from sklearn.pipeline import Pipeline\n", "from sklearn.preprocessing import StandardScaler\n", "\n", "from sklearn_genetic import (\n", " EvolutionConfig,\n", " GASearchCV,\n", " OptimizationConfig,\n", " PopulationConfig,\n", " RuntimeConfig,\n", ")\n", "from sklearn_genetic.callbacks import ConsecutiveStopping, DeltaThreshold, TimerStopping\n", "from sklearn_genetic.plots import plot_fitness_evolution, plot_search_space\n", "from sklearn_genetic.schedules import ExponentialAdapter, InverseAdapter\n", "from sklearn_genetic.space import Categorical, Continuous, Integer\n", "\n", "warnings.filterwarnings(\"ignore\", category=UserWarning)\n", "\n", "RANDOM_STATE = 42" ], "outputs": [], "execution_count": 1 }, { "cell_type": "code", "id": "b3d20984", "metadata": { "execution": { "iopub.execute_input": "2026-06-20T05:33:16.888970Z", "iopub.status.busy": "2026-06-20T05:33:16.888392Z", "iopub.status.idle": "2026-06-20T05:33:16.908152Z", "shell.execute_reply": "2026-06-20T05:33:16.906672Z" }, "ExecuteTime": { "end_time": "2026-06-20T18:49:10.119093400Z", "start_time": "2026-06-20T18:49:10.054919200Z" } }, "source": [ "data = load_diabetes(as_frame=True)\n", "X = data.data\n", "y = data.target\n", "\n", "X_train, X_test, y_train, y_test = train_test_split(\n", " X,\n", " y,\n", " test_size=0.30,\n", " random_state=RANDOM_STATE,\n", ")\n", "\n", "cv = KFold(n_splits=4, shuffle=True, random_state=RANDOM_STATE)\n", "\n", "print(f\"Training shape: {X_train.shape}\")\n", "print(f\"Test shape: {X_test.shape}\")" ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Training shape: (309, 10)\n", "Test shape: (133, 10)\n" ] } ], "execution_count": 2 }, { "cell_type": "markdown", "id": "dd6f96e6", "metadata": {}, "source": [ "## Baseline Pipeline\n", "\n", "A baseline gives us a sanity check before optimizing. The helper below returns common regression metrics where lower RMSE/MAE is better and higher R2 is better." ] }, { "cell_type": "code", "id": "d43371d2", "metadata": { "execution": { "iopub.execute_input": "2026-06-20T05:33:16.911911Z", "iopub.status.busy": "2026-06-20T05:33:16.911266Z", "iopub.status.idle": "2026-06-20T05:33:17.122296Z", "shell.execute_reply": "2026-06-20T05:33:17.120847Z" }, "ExecuteTime": { "end_time": "2026-06-20T18:49:10.679852200Z", "start_time": "2026-06-20T18:49:10.120093600Z" } }, "source": [ "def make_pipeline(**regressor_kwargs):\n", " return Pipeline(\n", " [\n", " (\"scaler\", StandardScaler()),\n", " (\n", " \"regressor\",\n", " GradientBoostingRegressor(random_state=RANDOM_STATE, **regressor_kwargs),\n", " ),\n", " ]\n", " )\n", "\n", "\n", "def regression_metrics(estimator, X_eval, y_eval):\n", " predictions = estimator.predict(X_eval)\n", " rmse = mean_squared_error(y_eval, predictions) ** 0.5\n", " return {\n", " \"r2\": r2_score(y_eval, predictions),\n", " \"rmse\": rmse,\n", " \"mae\": mean_absolute_error(y_eval, predictions),\n", " }\n", "\n", "\n", "baseline = make_pipeline()\n", "baseline.fit(X_train, y_train)\n", "baseline_metrics = regression_metrics(baseline, X_test, y_test)\n", "baseline_metrics" ], "outputs": [ { "data": { "text/plain": [ "{'r2': 0.43031868253825245,\n", " 'rmse': 55.45552342062193,\n", " 'mae': 44.71796061792019}" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 3 }, { "cell_type": "markdown", "id": "1acaba01", "metadata": {}, "source": [ "## Define Pipeline Search Space\n", "\n", "`GASearchCV` receives the same parameter names you would use with sklearn grid search. The values are `sklearn-genetic-opt` space objects instead of fixed grids or scipy distributions." ] }, { "cell_type": "code", "id": "85a090fa", "metadata": { "execution": { "iopub.execute_input": "2026-06-20T05:33:17.125861Z", "iopub.status.busy": "2026-06-20T05:33:17.125460Z", "iopub.status.idle": "2026-06-20T05:33:17.130747Z", "shell.execute_reply": "2026-06-20T05:33:17.129469Z" }, "ExecuteTime": { "end_time": "2026-06-20T18:49:10.697573Z", "start_time": "2026-06-20T18:49:10.688365900Z" } }, "source": [ "param_grid = {\n", " \"regressor__n_estimators\": Integer(40, 180),\n", " \"regressor__learning_rate\": Continuous(0.01, 0.20, distribution=\"log-uniform\"),\n", " \"regressor__max_depth\": Integer(1, 4),\n", " \"regressor__min_samples_leaf\": Integer(1, 12),\n", " \"regressor__subsample\": Continuous(0.65, 1.0),\n", " \"regressor__loss\": Categorical([\"squared_error\", \"absolute_error\", \"huber\"]),\n", "}" ], "outputs": [], "execution_count": 4 }, { "cell_type": "markdown", "id": "c72ee7b7", "metadata": {}, "source": [ "## Configure GASearchCV\n", "\n", "This search uses performance and quality controls: smart initialization, warm starts, adaptive schedules, diversity control, fitness sharing, local refinement, cache reuse, and automatic parallel backend selection." ] }, { "cell_type": "code", "id": "4e7cc424", "metadata": { "execution": { "iopub.execute_input": "2026-06-20T05:33:17.133834Z", "iopub.status.busy": "2026-06-20T05:33:17.133394Z", "iopub.status.idle": "2026-06-20T05:35:21.345749Z", "shell.execute_reply": "2026-06-20T05:35:21.344249Z" }, "ExecuteTime": { "end_time": "2026-06-20T18:51:12.460759700Z", "start_time": "2026-06-20T18:49:10.697573Z" } }, "source": [ "search = GASearchCV(\n", " estimator=make_pipeline(),\n", " param_grid=param_grid,\n", " scoring=\"neg_root_mean_squared_error\",\n", " criteria=\"max\",\n", " cv=cv,\n", " evolution_config=EvolutionConfig(\n", " population_size=12,\n", " generations=10,\n", " crossover_probability=ExponentialAdapter(initial_value=0.8, end_value=0.4, adaptive_rate=0.15),\n", " mutation_probability=InverseAdapter(initial_value=0.25, end_value=0.08, adaptive_rate=0.25),\n", " tournament_size=3,\n", " elitism=True,\n", " keep_top_k=3,\n", " ),\n", " population_config=PopulationConfig(\n", " initializer=\"smart\",\n", " warm_start_configs=[\n", " {\n", " \"regressor__n_estimators\": 100,\n", " \"regressor__learning_rate\": 0.05,\n", " \"regressor__max_depth\": 2,\n", " \"regressor__min_samples_leaf\": 4,\n", " \"regressor__subsample\": 0.85,\n", " \"regressor__loss\": \"squared_error\",\n", " }\n", " ],\n", " ),\n", " runtime_config=RuntimeConfig(\n", " n_jobs=-1,\n", " parallel_backend=\"auto\",\n", " use_cache=True,\n", " verbose=True,\n", " return_train_score=False,\n", " ),\n", " optimization_config=OptimizationConfig(\n", " local_search=True,\n", " local_search_top_k=2,\n", " local_search_steps=1,\n", " local_search_radius=0.20,\n", " diversity_control=True,\n", " diversity_threshold=0.30,\n", " diversity_stagnation_generations=3,\n", " diversity_mutation_boost=1.8,\n", " random_immigrants_fraction=0.10,\n", " fitness_sharing=True,\n", " sharing_radius=0.40,\n", " ),\n", ")\n", "\n", "callbacks = [\n", " DeltaThreshold(threshold=0.01, generations=5, metric=\"fitness_best\"),\n", " ConsecutiveStopping(generations=7, metric=\"fitness_best\"),\n", " TimerStopping(total_seconds=120),\n", "]\n", "\n", "search.fit(X_train, y_train, callbacks=callbacks)\n" ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " gen evals avg best div unique stag mut sel events\n", "---- ----- ------------- ------------- ------- ------- ----- ------- ----- ------------------\n", " 0 12 -61.14987 -59.23358 0.682 1.000 0 - - - \n", " 1 24 -60.65867 -59.23358 0.288 0.667 1 0.200 3 dup=3,share \n", " 2 24 -60.71806 -58.92132 0.364 0.750 0 0.256 3 div,imm=3,dup=10,s\n", " 3 24 -59.74359 -58.92132 0.303 0.667 1 0.193 3 dup=5,share \n", " 4 24 -59.91321 -58.92132 0.333 0.667 2 0.177 3 dup=10,share \n", " 5 24 -62.38514 -58.92132 0.409 0.667 3 0.165 3 dup=13,share \n", "INFO: TimerStopping callback met its criteria\n", "INFO: Stopping the algorithm\n" ] }, { "data": { "text/plain": [ "GASearchCV(crossover_probability=,\n", " cv=KFold(n_splits=4, random_state=42, shuffle=True),\n", " diversity_control=True, diversity_mutation_boost=1.8,\n", " diversity_stagnation_generations=3, diversity_threshold=0.3,\n", " estimator=Pipeline(steps=[('scaler', StandardScaler()),\n", " ('regressor',\n", " Gradi...\n", " 'regressor__min_samples_leaf': 4,\n", " 'regressor__n_estimators': 100,\n", " 'regressor__subsample': 0.85}]),\n", " population_size=12, return_train_score=True,\n", " runtime_config=RuntimeConfig(n_jobs=-1,\n", " pre_dispatch='2*n_jobs',\n", " error_score=nan,\n", " return_train_score=False,\n", " use_cache=True,\n", " parallel_backend='auto',\n", " verbose=True),\n", " scoring='neg_root_mean_squared_error', sharing_radius=0.4)" ], "text/html": [ "
GASearchCV(crossover_probability=<sklearn_genetic.schedules.schedulers.ExponentialAdapter object at 0x000002ACC9B397F0>,\n",
       "           cv=KFold(n_splits=4, random_state=42, shuffle=True),\n",
       "           diversity_control=True, diversity_mutation_boost=1.8,\n",
       "           diversity_stagnation_generations=3, diversity_threshold=0.3,\n",
       "           estimator=Pipeline(steps=[('scaler', StandardScaler()),\n",
       "                                     ('regressor',\n",
       "                                      Gradi...\n",
       "                                                                   'regressor__min_samples_leaf': 4,\n",
       "                                                                   'regressor__n_estimators': 100,\n",
       "                                                                   'regressor__subsample': 0.85}]),\n",
       "           population_size=12, return_train_score=True,\n",
       "           runtime_config=RuntimeConfig(n_jobs=-1,\n",
       "                                        pre_dispatch='2*n_jobs',\n",
       "                                        error_score=nan,\n",
       "                                        return_train_score=False,\n",
       "                                        use_cache=True,\n",
       "                                        parallel_backend='auto',\n",
       "                                        verbose=True),\n",
       "           scoring='neg_root_mean_squared_error', sharing_radius=0.4)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 5 }, { "cell_type": "markdown", "id": "b00f6c28", "metadata": {}, "source": [ "## Evaluate Predictions\n", "\n", "`GASearchCV` refits the best pipeline, so you can call `predict` directly on the search object." ] }, { "cell_type": "code", "id": "88c3a00b", "metadata": { "execution": { "iopub.execute_input": "2026-06-20T05:35:21.348878Z", "iopub.status.busy": "2026-06-20T05:35:21.348598Z", "iopub.status.idle": "2026-06-20T05:35:21.394662Z", "shell.execute_reply": "2026-06-20T05:35:21.393466Z" }, "ExecuteTime": { "end_time": "2026-06-20T18:51:12.487413900Z", "start_time": "2026-06-20T18:51:12.469275600Z" } }, "source": [ "print(\"Best CV negative RMSE:\", round(search.best_score_, 4))\n", "print(\"Best parameters:\")\n", "pprint(search.best_params_)\n", "\n", "ga_metrics = regression_metrics(search, X_test, y_test)\n", "pd.DataFrame([baseline_metrics, ga_metrics], index=[\"baseline\", \"ga_pipeline\"])\n" ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Best CV negative RMSE: -58.8192\n", "Best parameters:\n", "{'regressor__learning_rate': 0.0875444183193989,\n", " 'regressor__loss': 'squared_error',\n", " 'regressor__max_depth': 1,\n", " 'regressor__min_samples_leaf': 9,\n", " 'regressor__n_estimators': 91,\n", " 'regressor__subsample': 0.7276569516060816}\n" ] }, { "data": { "text/plain": [ " r2 rmse mae\n", "baseline 0.430319 55.455523 44.717961\n", "ga_pipeline 0.498775 52.017011 41.412206" ], "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
r2rmsemae
baseline0.43031955.45552344.717961
ga_pipeline0.49877552.01701141.412206
\n", "
" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 6 }, { "cell_type": "markdown", "id": "d032a0e3", "metadata": {}, "source": [ "## Inspect Search Cost and Telemetry\n", "\n", "`fit_stats_` summarizes evaluation mechanics. `history` stores generation-level telemetry, including diversity and stagnation fields." ] }, { "cell_type": "code", "id": "1f83f4ca", "metadata": { "execution": { "iopub.execute_input": "2026-06-20T05:35:21.397724Z", "iopub.status.busy": "2026-06-20T05:35:21.397438Z", "iopub.status.idle": "2026-06-20T05:35:21.402831Z", "shell.execute_reply": "2026-06-20T05:35:21.401742Z" }, "ExecuteTime": { "end_time": "2026-06-20T18:51:12.567935Z", "start_time": "2026-06-20T18:51:12.488414200Z" } }, "source": [ "search.fit_stats_" ], "outputs": [ { "data": { "text/plain": [ "{'evaluated_candidates': 134,\n", " 'unique_candidates': 133,\n", " 'cross_validate_calls': 133,\n", " 'cache_hits': 1,\n", " 'duplicate_candidates': 0,\n", " 'skipped_invalid_candidates': 0,\n", " 'population_parallel_batches': 7,\n", " 'population_serial_batches': 0,\n", " 'random_immigrants': 3,\n", " 'local_refinement_candidates': 2}" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 7 }, { "cell_type": "code", "id": "0146dbfb", "metadata": { "execution": { "iopub.execute_input": "2026-06-20T05:35:21.405235Z", "iopub.status.busy": "2026-06-20T05:35:21.404863Z", "iopub.status.idle": "2026-06-20T05:35:21.426074Z", "shell.execute_reply": "2026-06-20T05:35:21.425118Z" }, "ExecuteTime": { "end_time": "2026-06-20T18:51:12.712503600Z", "start_time": "2026-06-20T18:51:12.568935300Z" } }, "source": [ "history = pd.DataFrame(search.history)\n", "telemetry_columns = [\n", " \"gen\",\n", " \"fitness\",\n", " \"fitness_max\",\n", " \"fitness_std\",\n", " \"unique_individual_ratio\",\n", " \"genotype_diversity\",\n", " \"stagnation_generations\",\n", " \"best_generation\",\n", "]\n", "history[[column for column in telemetry_columns if column in history.columns]].tail()" ], "outputs": [ { "data": { "text/plain": [ " gen fitness fitness_max fitness_std unique_individual_ratio \\\n", "1 1 -60.658669 -59.955816 0.461462 0.666667 \n", "2 2 -60.718057 -58.921317 0.785379 0.750000 \n", "3 3 -59.743591 -59.106876 0.587545 0.666667 \n", "4 4 -59.913208 -59.106876 0.596168 0.666667 \n", "5 5 -61.326108 -58.819157 1.757950 0.750000 \n", "\n", " genotype_diversity stagnation_generations best_generation \n", "1 0.287879 1 0 \n", "2 0.363636 0 2 \n", "3 0.303030 1 2 \n", "4 0.333333 2 2 \n", "5 0.409091 0 5 " ], "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
genfitnessfitness_maxfitness_stdunique_individual_ratiogenotype_diversitystagnation_generationsbest_generation
11-60.658669-59.9558160.4614620.6666670.28787910
22-60.718057-58.9213170.7853790.7500000.36363602
33-59.743591-59.1068760.5875450.6666670.30303012
44-59.913208-59.1068760.5961680.6666670.33333322
55-61.326108-58.8191571.7579500.7500000.40909105
\n", "
" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 8 }, { "cell_type": "markdown", "id": "aa43bd84", "metadata": {}, "source": [ "## Visualize the Search\n", "\n", "The plotting helpers work directly with fitted search objects. Use them for quick inspection, then rely on `history` and `cv_results_` when you need custom reporting." ] }, { "cell_type": "code", "id": "06c36132", "metadata": { "execution": { "iopub.execute_input": "2026-06-20T05:35:21.428677Z", "iopub.status.busy": "2026-06-20T05:35:21.428321Z", "iopub.status.idle": "2026-06-20T05:35:22.784855Z", "shell.execute_reply": "2026-06-20T05:35:22.783946Z" }, "ExecuteTime": { "end_time": "2026-06-20T18:51:13.017246Z", "start_time": "2026-06-20T18:51:12.720587900Z" } }, "source": [ "plot_fitness_evolution(search)" ], "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "
" ], "image/png": "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4dQ26pXUDJGaHVPL8+Li4qqOl5aW1muL9KNpyLka63up6/d7uLq8b/78+fqrmuk61NVXX13te6gLtRxUUd9bJdVn559/vr6vlokCAOqHZYQAgDpR9ZvUNUuHLjtTS9zGjBkjN910kw4069at08vupk+frq/xUdcbqVCilqG9++678tNPP8nEiRPlo48+kgcffFAWLVqk6zSp65HUkrfXXnut6vz79u3T/97QoUNl586d+vqlhjr8XJXXXR1NY30vp512Wp2+38PV5X3Lly+Xl19+WZ5++mn981DXbg0ZMkS3+ZVXXjniWq6jmTt3rtx3333yn//8R59PLVG87bbbdB0uRQU8tbQRAFA/pk+vcaMPGAOMAcaAf4+Bn376qWonQnVT24+rbdLffvttvSvf4a+/6KKLjDlz5hgrV640vvzyS738TS2/q3x+9OjRulaTWsa2fPly44033tDbyR96DrVUT733t99+M84666xa2/bCCy8Y77//ftVjtaROtfHyyy+v9VyVr7n00kurnWvChAn6eHx8fKN+L3V5TU23ur5Pfa/z5s3TbVQ1ttQuhcc69+H9pm6qb9Ryy19//VV/vfPOO41u3brpPrnwwgv18kt1/+KLLzZ9THKjDxgDjAEJgD6wVNwBAAAAADQirtkCAAAAAB8gbAEAAACADxC2AAAAACCUdiNUOz/17t272rHCwkK9O9ShW9KqSvdqB6zdu3cf85z1fT0AAAAABF3YGj58uCQnJ1cLVzt27ND1TZSePXvq6vYul0vsdrvs2rVLb8GblpZW4/nq+3oAAAAAOB5+uxuhqvUxePBgGTduXI3Pf//99zp8qZojqtDinDlzJC8v74jikw19PQAAAAAE5cxW//79ZcWKFdKqVStdWHHbtm3Vnu/cubO89957YhiGlJWVyZIlS44anOr7+pokJibqgAYAAAAgtEVHR8uePXsCM2wNGDBATj75ZLnqqqt01frs7Gy9hHD16tX6+ddff13uvfde2bdvn4SFhcnkyZNlxowZtZ6vvq+vKWix5BAAAABApaSkpKMGLlOWETocDunbt2+Nz6lAk5mZKUuXLpUXX3xR3n33Xb3s79VXX5WhQ4dKr1699AYXKox9+OGH+lxqM4309HS58MILZfv27TWet76vrym55ubmSrdu3SQ/P1/MpGb6Nm7c6BdtQWBgzIAxAz5n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" }, "metadata": {}, "output_type": "display_data", "jetTransient": { "display_id": null } } ], "execution_count": 9 }, { "cell_type": "code", "id": "d1834a01", "metadata": { "execution": { "iopub.execute_input": "2026-06-20T05:35:22.787363Z", "iopub.status.busy": "2026-06-20T05:35:22.787117Z", "iopub.status.idle": "2026-06-20T05:35:23.809901Z", "shell.execute_reply": "2026-06-20T05:35:23.808965Z" }, "ExecuteTime": { "end_time": "2026-06-20T18:51:13.526665200Z", "start_time": "2026-06-20T18:51:13.018247600Z" } }, "source": [ "plot_search_space(search, features=[\"regressor__learning_rate\", \"regressor__max_depth\"])\n", "plot_search_space(search, features=[\"regressor__learning_rate\", \"regressor__max_depth\"])" ], "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "
" ], "image/png": "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uQLlEf788892a18Eh5A2SE4Xq65CR3H99dfTzTffTFrOxXTbbbfluhtCHvHUU0/R6aefnrX2zj77bPr555/5523btnGuubVr12atfUk5IuQdd911F2kZZBMWhM78Dnb5FceVV15J1157LedkQlbTDRs28I2ZNWsWHXbYYbT33nvTlClTIqq6IbMkcu7st99+dOCBB9JDDz3E3583b17Gba5bt47zQ2EfjkEGVZRjTbYPmS5feOEFOuKIIzjb5WmnnRaaaSTqSzZJdF0oAHXddddxiVBk4TzkkEN4dpWof6iUhxXFueeey9d06KGHcvnaWCuOZMcme1bJiNW/RNeE7Lf/+Mc/OBspZnnI+5XsHqXLli1buO0HHniARo0axTUt1Ep6l156KZ8DxbWQIwt5oVRQMAnnxn6kc3/00Ue5jGtb2nzllVdC14X8U7j+VPatX7+e86KNHj2anw1WsEjhn6gvbUGddaN0Ld6Rvfbai5/rqlWr+G8Gv5955plUVVUV+g76i31jxozh/WeccQb98ccfvO/111/nSpm4P2D79u18neHvXiJWrFjBbeOdxUoj+u8y0X1XrwWZmQ866CC+R6i3oe5HexgzcH3hK3OULkapYlzL9OnTuZ2MUbo4V1xxhbLnnnuGssGC2bNnKwceeKDyww8/KI2NjcqsWbOUUaNGKdu2beP9Tz75pDJu3DjO8Ll161bl3HPPVQYPHqx89dVXGbd51llnKXfeeafidDqVTZs2Kccee6zyxBNPJN331FNPKWPHjlW+++47pb6+XnnooYeUffbZh7O1xutLW7nsssuUO+64I6Xruuqqq5SLLrqI++NwOJTnnntOGTJkSKgvsfp39dVX8zH/+c9/lIaGBuWxxx7jY2pra3n/ddddp8ycOTOlY5M9q2TE6l+ya3r11Vc5U7BKsnuULsi+i2vAc2hqauJ3Ahl4TznlFOXGG29UampquC+TJ09Wbr31Vv6O2+3m+3D77bcrdXV1yueff67stddeysSJEzNu85dffuHswL/++qvi8XiUd955h7P/4hoT7XO5XMqhhx6qXHvttXwPV6xYoUyYMIH7Fq8vbaWqqorbPPPMM/k9QP/22GMPfi4//vgj7580aVLovd6wYYMybNgw5dNPP+X+r1u3TjnxxBOVSy65hPfj3kyZMiXUZ9yTc845J6W+4PoPOuggPhee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" }, "metadata": {}, "output_type": "display_data", "jetTransient": { "display_id": null } } ], "execution_count": 10 }, { "cell_type": "markdown", "id": "9ad7310a", "metadata": {}, "source": [ "## Practical Notes\n", "\n", "- Use pipeline parameter names exactly as sklearn expects them.\n", "- For regression losses where larger is better only after negation, use sklearn's negative scorers such as `neg_root_mean_squared_error`.\n", "- Compare holdout metrics, not only CV fitness.\n", "- If the search revisits many candidates, inspect `cache_hits` and consider stronger diversity controls or a larger search space." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.14" } }, "nbformat": 4, "nbformat_minor": 5 }