diff --git a/notebooks/grids.ipynb b/notebooks/grids.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..73eaabe1371a753811b7dee164f9d7edeb26de72 --- /dev/null +++ b/notebooks/grids.ipynb @@ -0,0 +1,586 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "9824f12e", + "metadata": {}, + "outputs": [], + "source": [ + "# code" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fdc05dfa", + "metadata": {}, + "outputs": [], + "source": [ + "parameters = {'max_depth':(5,10,15)}\n", + "rf = RandomForestRegressor(n_estimators=15, try_features = 'third')\n", + "searcher = GridSearchCV(rf, parameters, cv=3)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "4f464219", + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.model_selection import GridSearchCV\n", + "from sklearn.ensemble import RandomForestRegressor\n", + "\n", + "from sklearn.datasets import make_regression\n", + "import matplotlib.pyplot as plt " + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "25a04ec5", + "metadata": {}, + "outputs": [], + "source": [ + "X, y = make_regression(n_features=1, n_informative=1, random_state=0, shuffle=False, noise=10)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "24b05b14", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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pRSUjz/+WMOGDdPmzZt1ySWXuL0c27EzA0ui0agqKircXgbQLx0dHdqxY4emTZvW6/Fp06bptddec2lVgPOi0agk5e1/xwkzMLVnzx499thjuvXWW91eCtAvBw8eVGdnp6qqqno9XlVVpUgk4tKqAGfFYjEtWrRIF110kerr691ejiMIMwVk6dKlCgQCaT9ef/31Xt+zf/9+TZ8+Xddee61uvvlml1bub9n83eGsQCDQ6/NYLNbnMSBfzJ8/X2+++aaeffZZt5fimBPcXgByZ/78+bruuuvSPmfUqFHxf96/f78mTZqkCRMm6Gc/+5nDq8tfmf7d4ZzKykoVFxf32YU5cOBAn90aIB/ccccd+s1vfqNXX31Vp556qtvLcQxhpoBUVlaqsrLS0nM/+ugjTZo0SePGjdOTTz6poiI28bKVyd8dziopKdG4ceO0adMmffOb34w/vmnTJl1zzTUurgywVywW0x133KH169frj3/8o2pra91ekqMIM+hj//79uvTSSzVixAg99NBD+vjjj+NfC4fDLq4s/zU1NenQoUNqampSZ2enGhsbJUlf/epXdeKJJ7q7uDyxaNEi3Xjjjfra174W33VsamriTpiDjh49qvfeey/++d69e9XY2KiKigqNGDHCxZXlr9tvv13PPPOMnn/+eZWVlcV3I0OhkAYNGuTy6hwQAxI8+eSTMUlJP+Cs2bNnJ/27v/LKK24vLa/8+Mc/jo0cOTJWUlISGzt2bGzz5s1uLymvvfLKK0n/vZ49e7bbS8tbqf4b/uSTT7q9NEfQZwYAAPgaFyEAAICvEWYAAICvEWYAAICvEWYAAICvEWYAAICvEWYAAICvEWYAAICvEWYAAICvEWYAAICvEWYAAICvEWYAAICvEWYAAICv/X+nInqdFRL8gAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "<Figure size 640x480 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.scatter(X, y);" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "8532c5eb", + "metadata": {}, + "outputs": [], + "source": [ + "rf = RandomForestRegressor()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "528b3452", + "metadata": {}, + "outputs": [], + "source": [ + "searcher = GridSearchCV(estimator=rf, param_grid={'max_depth':(5,10,15)}, cv= 3)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "ec7bef2c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<style>#sk-container-id-1 {color: black;background-color: white;}#sk-container-id-1 pre{padding: 0;}#sk-container-id-1 div.sk-toggleable {background-color: white;}#sk-container-id-1 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-1 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-1 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-1 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-1 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-1 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-1 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-1 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-1 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-1 div.sk-item {position: relative;z-index: 1;}#sk-container-id-1 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-1 div.sk-item::before, #sk-container-id-1 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-1 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-1 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-1 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-1 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-1 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-1 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-1 div.sk-label-container {text-align: center;}#sk-container-id-1 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-1 div.sk-text-repr-fallback {display: none;}</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>GridSearchCV(cv=3, estimator=RandomForestRegressor(),\n", + " param_grid={'max_depth': (5, 10, 15)})</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item sk-dashed-wrapped\"><div class=\"sk-label-container\"><div class=\"sk-label sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" ><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">GridSearchCV</label><div class=\"sk-toggleable__content\"><pre>GridSearchCV(cv=3, estimator=RandomForestRegressor(),\n", + " param_grid={'max_depth': (5, 10, 15)})</pre></div></div></div><div class=\"sk-parallel\"><div class=\"sk-parallel-item\"><div class=\"sk-item\"><div class=\"sk-label-container\"><div class=\"sk-label sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-2\" type=\"checkbox\" ><label for=\"sk-estimator-id-2\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">estimator: RandomForestRegressor</label><div class=\"sk-toggleable__content\"><pre>RandomForestRegressor()</pre></div></div></div><div class=\"sk-serial\"><div class=\"sk-item\"><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-3\" type=\"checkbox\" ><label for=\"sk-estimator-id-3\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">RandomForestRegressor</label><div class=\"sk-toggleable__content\"><pre>RandomForestRegressor()</pre></div></div></div></div></div></div></div></div></div></div>" + ], + "text/plain": [ + "GridSearchCV(cv=3, estimator=RandomForestRegressor(),\n", + " param_grid={'max_depth': (5, 10, 15)})" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "searcher.fit(X, y)\n", + " \n" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "a20fe377", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'mean_fit_time': array([0.08331521, 0.07211264, 0.0718383 ]),\n", + " 'std_fit_time': array([0.01629742, 0.00011223, 0.00013308]),\n", + " 'mean_score_time': array([0.00523392, 0.00518481, 0.00502459]),\n", + " 'std_score_time': array([1.56304468e-04, 1.14600801e-04, 5.38271269e-05]),\n", + " 'param_max_depth': masked_array(data=[5, 10, 15],\n", + " mask=[False, False, False],\n", + " fill_value='?',\n", + " dtype=object),\n", + " 'params': [{'max_depth': 5}, {'max_depth': 10}, {'max_depth': 15}],\n", + " 'split0_test_score': array([0.92873148, 0.92620142, 0.92348871]),\n", + " 'split1_test_score': array([0.90228693, 0.90530648, 0.90144398]),\n", + " 'split2_test_score': array([0.89852812, 0.8944555 , 0.89516853]),\n", + " 'mean_test_score': array([0.90984884, 0.90865446, 0.9067004 ]),\n", + " 'std_test_score': array([0.01343993, 0.01317466, 0.01214443]),\n", + " 'rank_test_score': array([1, 2, 3], dtype=int32)}" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "searcher.cv_results_" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "f58df0df", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "max_depth 5\n", + "0.9098488414768675\n", + "0.08331521352132161\n", + "max_depth 10\n", + "0.908654464483059\n", + "0.07211263974507649\n", + "max_depth 15\n", + "0.9067004042768522\n", + "0.0718382994333903\n" + ] + } + ], + "source": [ + "for i, p in enumerate(searcher.cv_results_['params']):\n", + " for parname, parvalue in p.items():\n", + " print(parname, parvalue)\n", + " print(searcher.cv_results_['mean_test_score'][i])\n", + " print(searcher.cv_results_['mean_fit_time'][i])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f44a0964", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "6168dc37", + "metadata": {}, + "source": [ + "## Log search results to model repo" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "1c8a9237", + "metadata": {}, + "outputs": [], + "source": [ + "import mlflow" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "19952b7e", + "metadata": {}, + "outputs": [], + "source": [ + "mlflow.set_tracking_uri('https://modelrepository.eflows4hpc.eu/')" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "c5f64c94", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024/01/15 10:53:31 INFO mlflow.tracking.fluent: Experiment with name 'gridsearch-example' does not exist. Creating a new experiment.\n" + ] + }, + { + "data": { + "text/plain": [ + "<Experiment: artifact_location='mlflow-artifacts:/2', creation_time=1705312411739, experiment_id='2', last_update_time=1705312411739, lifecycle_stage='active', name='gridsearch-example', tags={}>" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mlflow.set_experiment('gridsearch-example')" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "544a9c35", + "metadata": {}, + "outputs": [], + "source": [ + "metrics=['mean_test_score', 'mean_fit_time']\n", + "\n", + "for i, p in enumerate(searcher.cv_results_['params']):\n", + " with mlflow.start_run():\n", + " for parname, parvalue in p.items():\n", + " mlflow.log_param(parname, value=parvalue)\n", + " \n", + " for m in metrics:\n", + " mlflow.log_metric(m, searcher.cv_results_[m][i])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "899abf9c", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8afb1656", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9ace8a2d", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "a9c1680f", + "metadata": {}, + "source": [ + "## Serialize results" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "a874f869", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "74f4b85f", + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.DataFrame.from_dict(searcher.cv_results_)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "68f37d48", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>mean_fit_time</th>\n", + " <th>std_fit_time</th>\n", + " <th>mean_score_time</th>\n", + " <th>std_score_time</th>\n", + " <th>param_max_depth</th>\n", + " <th>params</th>\n", + " <th>split0_test_score</th>\n", + " <th>split1_test_score</th>\n", + " <th>split2_test_score</th>\n", + " <th>mean_test_score</th>\n", + " <th>std_test_score</th>\n", + " <th>rank_test_score</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>0.083315</td>\n", + " <td>0.016297</td>\n", + " <td>0.005234</td>\n", + " <td>0.000156</td>\n", + " <td>5</td>\n", + " <td>{'max_depth': 5}</td>\n", + " <td>0.928731</td>\n", + " <td>0.902287</td>\n", + " <td>0.898528</td>\n", + " <td>0.909849</td>\n", + " <td>0.013440</td>\n", + " <td>1</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>0.072113</td>\n", + " <td>0.000112</td>\n", + " <td>0.005185</td>\n", + " <td>0.000115</td>\n", + " <td>10</td>\n", + " <td>{'max_depth': 10}</td>\n", + " <td>0.926201</td>\n", + " <td>0.905306</td>\n", + " <td>0.894456</td>\n", + " <td>0.908654</td>\n", + " <td>0.013175</td>\n", + " <td>2</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>0.071838</td>\n", + " <td>0.000133</td>\n", + " <td>0.005025</td>\n", + " <td>0.000054</td>\n", + " <td>15</td>\n", + " <td>{'max_depth': 15}</td>\n", + " <td>0.923489</td>\n", + " <td>0.901444</td>\n", + " <td>0.895169</td>\n", + " <td>0.906700</td>\n", + " <td>0.012144</td>\n", + " <td>3</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " mean_fit_time std_fit_time mean_score_time std_score_time \\\n", + "0 0.083315 0.016297 0.005234 0.000156 \n", + "1 0.072113 0.000112 0.005185 0.000115 \n", + "2 0.071838 0.000133 0.005025 0.000054 \n", + "\n", + " param_max_depth params split0_test_score split1_test_score \\\n", + "0 5 {'max_depth': 5} 0.928731 0.902287 \n", + "1 10 {'max_depth': 10} 0.926201 0.905306 \n", + "2 15 {'max_depth': 15} 0.923489 0.901444 \n", + "\n", + " split2_test_score mean_test_score std_test_score rank_test_score \n", + "0 0.898528 0.909849 0.013440 1 \n", + "1 0.894456 0.908654 0.013175 2 \n", + "2 0.895169 0.906700 0.012144 3 " + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "630a4d63", + "metadata": {}, + "outputs": [], + "source": [ + "df.to_csv('search.results')" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "a604829e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "search.results\r\n" + ] + } + ], + "source": [ + "! ls search.results" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7b090b0b", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c4c2addd", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 65, + "id": "79b51d03", + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "a533b1fb", + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.read_csv('search.results', index_col=0)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "09989aa2", + "metadata": {}, + "outputs": [], + "source": [ + "dct = df.to_dict()" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "id": "7ffcd844", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024/01/15 11:19:33 INFO mlflow.tracking.fluent: Experiment with name 'serializedgridsearch-example' does not exist. Creating a new experiment.\n" + ] + }, + { + "data": { + "text/plain": [ + "<Experiment: artifact_location='mlflow-artifacts:/3', creation_time=1705313973974, experiment_id='3', last_update_time=1705313973974, lifecycle_stage='active', name='serializedgridsearch-example', tags={}>" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mlflow.set_experiment('serializedgridsearch-example')" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "id": "1f5a6864", + "metadata": {}, + "outputs": [], + "source": [ + "metrics=['mean_test_score', 'mean_fit_time']\n", + "\n", + "for i, p in enumerate(dct['params'].values()):\n", + " with mlflow.start_run():\n", + " p = json.loads(p.replace('\\'', '\"'))\n", + " for parname, parvalue in p.items():\n", + " mlflow.log_param(parname, value=parvalue)\n", + " \n", + " for m in metrics:\n", + " mlflow.log_metric(m, searcher.cv_results_[m][i])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "976d5e87", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.10.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}