From 9af2d08857a5b87b2d4506dfbd8978fa583eeda8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julio=20Beltr=C3=A1n?= Date: Thu, 26 Feb 2026 17:23:58 +0100 Subject: [PATCH 1/2] done --- lab-hyper-tuning.ipynb | 2010 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 1993 insertions(+), 17 deletions(-) diff --git a/lab-hyper-tuning.ipynb b/lab-hyper-tuning.ipynb index 847d487..91ee9d0 100644 --- a/lab-hyper-tuning.ipynb +++ b/lab-hyper-tuning.ipynb @@ -42,7 +42,13 @@ "#Libraries\n", "import pandas as pd\n", "import numpy as np\n", - "from sklearn.model_selection import train_test_split" + "from sklearn.model_selection import train_test_split\n", + "\n", + "from sklearn.ensemble import BaggingClassifier\n", + "from sklearn.tree import DecisionTreeClassifier\n", + "\n", + "from sklearn.model_selection import GridSearchCV\n", + "from sklearn.model_selection import RandomizedSearchCV" ] }, { @@ -210,6 +216,101 @@ "spaceship.head()" ] }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "PassengerId object\n", + "HomePlanet object\n", + "CryoSleep object\n", + "Cabin object\n", + "Destination object\n", + "Age float64\n", + "VIP object\n", + "RoomService float64\n", + "FoodCourt float64\n", + "ShoppingMall float64\n", + "Spa float64\n", + "VRDeck float64\n", + "Name object\n", + "Transported bool\n", + "dtype: object" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "spaceship.dtypes" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "PassengerId 0\n", + "HomePlanet 201\n", + "CryoSleep 217\n", + "Cabin 199\n", + "Destination 182\n", + "Age 179\n", + "VIP 203\n", + "RoomService 181\n", + "FoodCourt 183\n", + "ShoppingMall 208\n", + "Spa 183\n", + "VRDeck 188\n", + "Name 200\n", + "Transported 0\n", + "dtype: int64" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "spaceship.isnull().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Filas totalmente vacías: 0\n" + ] + } + ], + "source": [ + "filas_vacias_completas = (spaceship.isnull().sum(axis=1) == len(spaceship.columns)).sum()\n", + "print(f\"Filas totalmente vacías: {filas_vacias_completas}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "spaceship_clean = spaceship.dropna()" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -221,11 +322,173 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "col_numericas = spaceship_clean.select_dtypes(include=['float64', 'int64']).columns\n", + "col_categoricas = spaceship_clean.select_dtypes(exclude=['float64', 'int64']).columns\n", + "col_categoricas = col_categoricas.drop(\"Transported\")" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Age RoomService FoodCourt ShoppingMall Spa VRDeck Transported \\\n", + "0 39.0 0.0 0.0 0.0 0.0 0.0 False \n", + "1 24.0 109.0 9.0 25.0 549.0 44.0 True \n", + "2 58.0 43.0 3576.0 0.0 6715.0 49.0 False \n", + "3 33.0 0.0 1283.0 371.0 3329.0 193.0 False \n", + "4 16.0 303.0 70.0 151.0 565.0 2.0 True \n", + "... ... ... ... ... ... ... ... \n", + "8688 41.0 0.0 6819.0 0.0 1643.0 74.0 False \n", + "8689 18.0 0.0 0.0 0.0 0.0 0.0 False \n", + "8690 26.0 0.0 0.0 1872.0 1.0 0.0 True \n", + "8691 32.0 0.0 1049.0 0.0 353.0 3235.0 False \n", + "8692 44.0 126.0 4688.0 0.0 0.0 12.0 True \n", + "\n", + " PassengerId_0001_01 PassengerId_0002_01 PassengerId_0003_01 ... \\\n", + "0 1 0 0 ... \n", + "1 0 1 0 ... \n", + "2 0 0 1 ... \n", + "3 0 0 0 ... \n", + "4 0 0 0 ... \n", + "... ... ... ... ... \n", + "8688 0 0 0 ... \n", + "8689 0 0 0 ... \n", + "8690 0 0 0 ... \n", + "8691 0 0 0 ... \n", + "8692 0 0 0 ... \n", + "\n", + " Name_Zinonon Veriedeezy Name_Zinopus Spandisket Name_Zinor Axlentindy \\\n", + "0 0 0 0 \n", + "1 0 0 0 \n", + "2 0 0 0 \n", + "3 0 0 0 \n", + "4 0 0 0 \n", + "... ... ... ... \n", + "8688 0 0 0 \n", + "8689 0 0 0 \n", + "8690 0 0 0 \n", + "8691 0 0 0 \n", + "8692 0 0 0 \n", + "\n", + " Name_Zinor Proorbeng Name_Zinoth Lansuffle Name_Zosmark Trattle \\\n", + "0 0 0 0 \n", + "1 0 0 0 \n", + "2 0 0 0 \n", + "3 0 0 0 \n", + "4 0 0 0 \n", + "... ... ... ... \n", + "8688 0 0 0 \n", + "8689 0 0 0 \n", + "8690 0 0 0 \n", + "8691 0 0 0 \n", + "8692 0 0 0 \n", + "\n", + " Name_Zosmark Unaasor Name_Zosmas Ineedeve Name_Zosmas Mormonized \\\n", + "0 0 0 0 \n", + "1 0 0 0 \n", + "2 0 0 0 \n", + "3 0 0 0 \n", + "4 0 0 0 \n", + "... ... ... ... \n", + "8688 0 0 0 \n", + "8689 0 0 0 \n", + "8690 0 0 0 \n", + "8691 0 0 0 \n", + "8692 0 0 0 \n", + "\n", + " Name_Zubeneb Pasharne \n", + "0 0 \n", + "1 0 \n", + "2 0 \n", + "3 0 \n", + "4 0 \n", + "... ... \n", + "8688 0 \n", + "8689 0 \n", + "8690 0 \n", + "8691 0 \n", + "8692 0 \n", + "\n", + "[6606 rows x 18518 columns]\n" + ] + } + ], + "source": [ + "spaceship_final = pd.get_dummies(spaceship_clean, columns= col_categoricas, drop_first=False, dtype = int)\n", + "print(spaceship_final)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "features = spaceship_final.drop(columns= [\"Transported\"])\n", + "target = spaceship_final[\"Transported\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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QYOUkZGh//qv/9LBgwf14IMPhntpAAAgzDp0xIwdO1bHjh3Tz372M1VXVys1NVXr169XUlJSuJeGDsbtduvJJ59s8ZIiAPPx9xtfxWV/k/cwAQAAdDAd9p4YAACACyFiAACAkYgYAABgJCIGAAAYiYgBAABGImJgrJUrV+r73/++fD6f/u///k+StGjRIr311lthXhkAoD0QMTDSkiVLNGPGDN1+++06fvy4mpubJX3xqyYWLVoU3sUBaFONjY3au3evzpw5E+6loIMhYmCkX/7yl1q2bJmeeOIJRUREONsHDRqkXbt2hXFlANrK559/rgkTJqhr16767ne/q4MHD0qSpk+frqeeeirMq0NHQMTASAcOHNBNN93UYrvb7dapU6fCsCIAbW327Nn68MMPtWnTJl155ZXO9qysLK1ZsyaMK0NHQcTASMnJyaqoqGix/fe//71SUlLaf0EA2ty6deu0ePFiDR06VC6Xy9mekpKijz/+OIwrQ0fRoX93EvBVHnnkEU2dOlWnT5+Wbdvavn27Xn/9dRUVFelXv/pVuJcHoA0cOXJECQkJLbafOnUqJGpw+SJiYKQf//jHOnPmjGbNmqXPP/9ceXl5+qd/+ic999xzuvfee8O9PABt4Oabb9bbb7+tadOmSZITLsuWLVNGRkY4l4YOgl8ACeMdPXpUZ8+ePe9/sQEw15YtWzRq1Cjdf//9WrFihSZPnqw9e/Zo69atKi0tVVpaWriXiDDjnhgYLz4+noABOqEhQ4bovffe0+eff67rrrtOGzZskMfj0datWwkYSOJKDAyVnJx8wdfE9+/f346rAQCEA/fEwEgFBQUhz5uamvTBBx+ouLhYjzzySHgWBaBNvf/++4qMjNSAAQMkSW+99ZaWL1+ulJQUzZkzR1FRUWFeIcKNKzHoVF544QXt3LlTy5cvD/dSAHxLN998sx577DHdc8892r9/v1JSUnT33Xdrx44d+pd/+Rc+nRtEDDqX/fv368Ybb1RdXV24lwLgW7IsS++//76uu+46Pf3009q4caP+8Ic/6L333tO9996rqqqqcC8RYcaNvehUfv3rXysuLi7cywDQBmzb1tmzZyVJ77zzjm6//XZJkt/v19GjR8O5NHQQ3BMDI910000hN/batq1AIKAjR47oxRdfDOPKALSVQYMG6Re/+IWysrJUWlqqJUuWSPri1454PJ4wrw4dAREDI911110hz6+44gr16tVLmZmZ+s53vhOeRQFoU4sWLdL999+vdevW6YknnlCfPn0kfXHFdciQIWFeHToC7omBcc6cOaNVq1YpOztbXq833MsB0M5Onz6tiIgIRUZGhnspCDMiBkbq2rWrKisrlZSUFO6lAADChJeTYKT09HR98MEHRAzQyfTo0eMb/3LHzz777BKvBh0dEQMjTZkyRYWFhTp06JDS0tLUrVu3kP0DBw4M08oAfBt89gtag5eTYJQHHnhAixYt0lVXXdVin8vlkm3bcrlcam5ubv/FAQDaFREDo0RERKi6ulr19fUXnONlJqBzqa+vV1NTU8i22NjYMK0GHQUvJ8EoXzY3kQJ0fqdOndKjjz6qN954Q8eOHWuxnyuu4BN7YZxvetMfALPNmjVLGzdu1Isvvii3261f/epXmjt3rnw+n1555ZVwLw8dAC8nwShXXHGFLMv62pDhXQuA+a655hq98soryszMVGxsrN5//3316dNHK1eu1Ouvv67169eHe4kIM15OgnHmzp0ry7LCvQwAl9hnn32m5ORkSV/c//Llf5wMHTpU//7v/x7OpaGDIGJgnHvvvVcJCQnhXgaAS6x379765JNPlJSUpJSUFL3xxhv653/+Z/3ud7877zsUcfnhnhgYhfthgM5v//79Onv2rH784x/rww8/lCTNnj3buTfmJz/5iR555JEwrxIdAffEwChXXHGFAoEAV2KATuzLj1L48u/52LFj9fzzz6uhoUE7d+7UddddpxtuuCHMq0RHQMQAADqUc/9jJSYmRh9++KF69+4d5pWho+HlJAAAYCQiBgDQobhcrhb3v3E/HM6HdycBADoU27Y1fvx4ud1uSdLp06f14IMPtvhFr2+++WY4locOhIgBAHQo48aNC3n+wx/+MEwrQUfHjb0AAMBI3BMDAACMRMQAAAAjETEAAMBIRAwAADASEQMAbSwzM1MFBQXhXgbQ6RExAFr48sPGvuoxfvz4cC+xzREegHn4nBgALVRXVzt/XrNmjf7jP/5De/fudbZFR0eHzDc1NSkyMrLd1teWTF47cLnjSgyAFrxer/OwLEsul8t5fvr0aV111VV64403lJmZqSuvvFKvvvqqjh07pvvuu09XX321unbtqgEDBuj1118POW5mZqamT5+uWbNmKS4uTl6vV3PmzAmZmTNnjq655hq53W75fD5Nnz7d2Xfttdfq5z//ufLy8tS9e3f5fD798pe/DPn6gwcP6s4771T37t0VGxurMWPG6PDhwyHHv/HGG/Xf//3f6t27t9xut8aNG6fS0lI999xzztWmTz75RJL017/+Vbfffru6d+8uj8ej/Px8HT161DneqVOn9KMf/Ujdu3dXYmKiFixY0Eb/KwD4OkQMgIvy6KOPavr06aqsrFR2drZOnz6ttLQ0/e///q92796tSZMmKT8/X9u2bQv5updfflndunXTtm3bNH/+fP3sZz9TSUmJJOnXv/61Fi5cqKVLl2rfvn1at26dBgwYEPL1zzzzjAYOHKj3339fs2fP1k9+8hPn623b1l133aXPPvtMpaWlKikp0ccff6yxY8eGHOOjjz7SG2+8od/85jeqqKjQ888/r4yMDE2cOFHV1dWqrq6W3+9XdXW1hg8frhtvvFE7d+5UcXGxDh8+rDFjxjjHeuSRR/Tuu+9q7dq12rBhgzZt2qTy8vJL8Y8cwLlsALiA5cuX25ZlOc8PHDhgS7IXLVr0tV97++2324WFhc7z4cOH20OHDg2Zufnmm+1HH33Utm3bXrBggX399dfbjY2N5z1eUlKSPWrUqJBtY8eOtUePHm3btm1v2LDBjoiIsA8ePOjs37Nnjy3J3r59u23btv3kk0/akZGRdk1NTchxhg8fbj/88MMh237605/aI0eODNlWVVVlS7L37t1rnzhxwo6KirJXr17t7D927JgdHR3d4lgA2h5XYgBclEGDBoU8b25u1n/+539q4MCB6tmzp7p3764NGzbo4MGDIXMDBw4MeZ6YmKiamhpJ0r/+67+qvr5evXv31sSJE7V27VqdOXMmZD4jI6PF88rKSklSZWWl/H6//H6/sz8lJUVXXXWVMyNJSUlJ6tWr19eeY3l5ud599111797deXznO9+RJH388cf6+OOP1djYGLKmuLg49evX72uPDeDbI2IAXJRzf6PwggULtHDhQs2aNUsbN25URUWFsrOz1djYGDJ37k20LpdLZ8+elST5/X7t3btXL7zwgqKjozVlyhQNGzZMTU1NF1yLy+WS9MXLSV/++R+du/3ctX+Vs2fP6o477lBFRUXIY9++fRo2bJhsfvUcEFZEDIA28ec//1l33nmnfvjDH+qGG25Q7969tW/fvlYfJzo6Wrm5uXr++ee1adMmbd26Vbt27XL2l5WVhcyXlZU5V0dSUlJ08OBBVVVVOfv/+te/KhgMqn///hf8vlFRUWpubg7Z9r3vfU979uzRtddeqz59+oQ8unXrpj59+igyMjJkTbW1tfr73//e6vMG0HpEDIA20adPH5WUlGjLli2qrKzU5MmTFQgEWnWMFStW6KWXXtLu3bu1f/9+rVy5UtHR0UpKSnJm3nvvPc2fP19///vf9cILL+h//ud/9PDDD0uSsrKyNHDgQN1///16//33tX37dv3oRz/S8OHDW7z8da5rr71W27Zt0yeffKKjR4/q7Nmzmjp1qj777DPdd9992r59u/bv368NGzbogQceUHNzs7p3764JEybokUce0R//+Eft3r1b48eP1xVX8K9WoD3wNw1Am/jpT3+q733ve8rOzlZmZqa8Xq/uuuuuVh3jqquu0rJly/T9739fAwcO1B//+Ef97ne/U8+ePZ2ZwsJClZeX66abbtLPf/5zLViwQNnZ2ZK+eFlp3bp16tGjh4YNG6asrCz17t1ba9as+drvPXPmTEVERCglJUW9evXSwYMH5fP59N5776m5uVnZ2dlKTU3Vww8/LMuynFB55plnNGzYMOXm5iorK0tDhw5VWlpaq84bwMVx2byoC8AQ1157rQoKCvhkXQCSuBIDAAAMRcQAAAAj8XISAAAwEldiAACAkYgYAABgJCIGAAAYiYgBAABGImIAAICRiBgAAGAkIgYAABiJiAEAAEb6/5mF6FYzdtl4AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "spaceship_final['Transported'].value_counts().plot(kind='bar', color=['skyblue', 'salmon'])" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "x_train, x_test, y_train, y_test = train_test_split(features, target, test_size=0.20, random_state=0)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ - "#your code here" + "from sklearn.preprocessing import StandardScaler\n", + "\n", + "scaler = StandardScaler()\n", + "\n", + "x_train_scaled = scaler.fit_transform(x_train)\n", + "\n", + "x_test_scaled = scaler.transform(x_test)" ] }, { @@ -237,11 +500,816 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "metadata": {}, "outputs": [], "source": [ - "#your code here" + "bagging_reg = BaggingClassifier(DecisionTreeClassifier(max_depth=20), \n", + " n_estimators=100, max_samples = 1000)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
BaggingClassifier(estimator=DecisionTreeClassifier(max_depth=20),\n",
+       "                  max_samples=1000, n_estimators=100)
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.
" + ], + "text/plain": [ + "BaggingClassifier(estimator=DecisionTreeClassifier(max_depth=20),\n", + " max_samples=1000, n_estimators=100)" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bagging_reg.fit(x_train_scaled, y_train)" ] }, { @@ -253,11 +1321,29 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ - "#your code here" + "pred = bagging_reg.predict(x_test_scaled)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "La precisión del modelo es: 0.78\n" + ] + } + ], + "source": [ + "accuracy = bagging_reg.score(x_test_scaled, y_test)\n", + "print(f\"La precisión del modelo es: {accuracy:.2f}\")" ] }, { @@ -283,11 +1369,868 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Fitting 5 folds for each of 8 candidates, totalling 40 fits\n", + "[CV] END estimator__max_depth=5, max_samples=0.7, n_estimators=50; total time= 3.2min\n", + "[CV] END estimator__max_depth=5, max_samples=0.7, n_estimators=50; total time= 3.2min\n", + "[CV] END estimator__max_depth=5, max_samples=0.7, n_estimators=50; total time= 3.2min\n", + "[CV] END estimator__max_depth=5, max_samples=0.7, n_estimators=50; total time= 3.2min\n", + "[CV] END estimator__max_depth=5, max_samples=0.7, n_estimators=50; total time= 3.2min\n", + "[CV] END estimator__max_depth=5, max_samples=0.7, n_estimators=100; total time= 4.3min\n", + "[CV] END estimator__max_depth=5, max_samples=0.7, n_estimators=100; total time= 4.3min\n", + "[CV] END estimator__max_depth=5, max_samples=0.7, n_estimators=100; total time= 4.3min\n", + "[CV] END estimator__max_depth=5, max_samples=1.0, n_estimators=50; total time= 4.1min\n", + "[CV] END estimator__max_depth=5, max_samples=1.0, n_estimators=50; total time= 4.1min\n", + "[CV] END estimator__max_depth=5, max_samples=1.0, n_estimators=50; total time= 4.1min\n", + "[CV] END estimator__max_depth=5, max_samples=1.0, n_estimators=50; total time= 3.6min\n", + "[CV] END estimator__max_depth=5, max_samples=0.7, n_estimators=100; total time= 4.9min\n", + "[CV] END estimator__max_depth=5, max_samples=1.0, n_estimators=50; total time= 4.1min\n", + "[CV] END estimator__max_depth=5, max_samples=0.7, n_estimators=100; total time= 5.4min\n", + "[CV] END estimator__max_depth=5, max_samples=1.0, n_estimators=100; total time= 7.5min\n", + "[CV] END estimator__max_depth=10, max_samples=0.7, n_estimators=50; total time= 4.4min\n", + "[CV] END estimator__max_depth=10, max_samples=0.7, n_estimators=50; total time= 4.7min\n", + "[CV] END estimator__max_depth=5, max_samples=1.0, n_estimators=100; total time= 7.4min\n", + "[CV] END estimator__max_depth=5, max_samples=1.0, n_estimators=100; total time= 7.6min\n", + "[CV] END estimator__max_depth=5, max_samples=1.0, n_estimators=100; total time= 7.1min\n", + "[CV] END estimator__max_depth=5, max_samples=1.0, n_estimators=100; total time= 7.6min\n", + "[CV] END estimator__max_depth=10, max_samples=0.7, n_estimators=50; total time= 6.8min\n", + "[CV] END estimator__max_depth=10, max_samples=0.7, n_estimators=50; total time= 2.8min\n", + "[CV] END estimator__max_depth=10, max_samples=0.7, n_estimators=50; total time= 4.9min\n", + "[CV] END estimator__max_depth=10, max_samples=0.7, n_estimators=100; total time= 4.9min\n", + "[CV] END estimator__max_depth=10, max_samples=0.7, n_estimators=100; total time= 3.0min\n", + "[CV] END estimator__max_depth=10, max_samples=0.7, n_estimators=100; total time= 5.4min\n", + "[CV] END estimator__max_depth=10, max_samples=0.7, n_estimators=100; total time= 5.6min\n", + "[CV] END estimator__max_depth=10, max_samples=0.7, n_estimators=100; total time= 5.5min\n", + "[CV] END estimator__max_depth=10, max_samples=1.0, n_estimators=50; total time= 8.3min\n", + "[CV] END estimator__max_depth=10, max_samples=1.0, n_estimators=50; total time= 6.1min\n", + "[CV] END estimator__max_depth=10, max_samples=1.0, n_estimators=50; total time= 8.5min\n", + "[CV] END estimator__max_depth=10, max_samples=1.0, n_estimators=50; total time= 7.3min\n", + "[CV] END estimator__max_depth=10, max_samples=1.0, n_estimators=50; total time= 6.1min\n", + "[CV] END estimator__max_depth=10, max_samples=1.0, n_estimators=100; total time= 6.0min\n", + "[CV] END estimator__max_depth=10, max_samples=1.0, n_estimators=100; total time= 6.1min\n", + "[CV] END estimator__max_depth=10, max_samples=1.0, n_estimators=100; total time= 6.9min\n", + "[CV] END estimator__max_depth=10, max_samples=1.0, n_estimators=100; total time= 3.5min\n", + "[CV] END estimator__max_depth=10, max_samples=1.0, n_estimators=100; total time= 3.5min\n" + ] + }, + { + "data": { + "text/html": [ + "
GridSearchCV(cv=5,\n",
+       "             estimator=BaggingClassifier(estimator=DecisionTreeClassifier()),\n",
+       "             n_jobs=-1,\n",
+       "             param_grid={'estimator__max_depth': [5, 10],\n",
+       "                         'max_samples': [0.7, 1.0], 'n_estimators': [50, 100]},\n",
+       "             verbose=2)
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.
" + ], + "text/plain": [ + "GridSearchCV(cv=5,\n", + " estimator=BaggingClassifier(estimator=DecisionTreeClassifier()),\n", + " n_jobs=-1,\n", + " param_grid={'estimator__max_depth': [5, 10],\n", + " 'max_samples': [0.7, 1.0], 'n_estimators': [50, 100]},\n", + " verbose=2)" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "#your code here" + "param_grid = {\n", + " 'n_estimators': [50, 100], # Suficiente para ver la tendencia\n", + " 'estimator__max_depth': [5, 10], # Más de 20 en este dataset es puro ruido\n", + " 'max_samples': [0.7, 1.0] # Dos niveles de muestreo\n", + "}\n", + "\n", + "# 2. Configuramos el GridSearch con \"ojos\" (verbose) y \"turbo\" (n_jobs)\n", + "grid_search = GridSearchCV(\n", + " estimator=BaggingClassifier(estimator=DecisionTreeClassifier()), \n", + " param_grid=param_grid, \n", + " cv=5,\n", + " n_jobs=-1, # Usa todos tus núcleos para ir rápido\n", + " verbose=2 # ¡ESTO ES CLAVE! Te irá diciendo por qué número de modelo va\n", + ")\n", + "\n", + "# 3. Entrenamos\n", + "grid_search.fit(x_train_scaled, y_train)" ] }, { @@ -299,10 +2242,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'estimator__max_depth': 10, 'max_samples': 0.7, 'n_estimators': 100}" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "grid_search.best_params_" + ] + }, + { + "cell_type": "code", + "execution_count": 17, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "best_model = grid_search.best_estimator_" + ] }, { "cell_type": "markdown", @@ -313,15 +2278,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "La precisión del modelo es: 0.79\n" + ] + } + ], + "source": [ + "accuracy = best_model.score(x_test_scaled, y_test)\n", + "print(f\"La precisión del modelo es: {accuracy:.2f}\")" + ] } ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "base", "language": "python", "name": "python3" }, @@ -335,7 +2311,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.9" + "version": "3.13.9" } }, "nbformat": 4, From 8221efc983769271b50ea73c8d85e7880ed17fae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julio=20Beltr=C3=A1n?= Date: Thu, 26 Feb 2026 17:29:20 +0100 Subject: [PATCH 2/2] done --- lab-hyper-tuning.ipynb | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/lab-hyper-tuning.ipynb b/lab-hyper-tuning.ipynb index 91ee9d0..06cad32 100644 --- a/lab-hyper-tuning.ipynb +++ b/lab-hyper-tuning.ipynb @@ -1369,7 +1369,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -2215,9 +2215,9 @@ ], "source": [ "param_grid = {\n", - " 'n_estimators': [50, 100], # Suficiente para ver la tendencia\n", - " 'estimator__max_depth': [5, 10], # Más de 20 en este dataset es puro ruido\n", - " 'max_samples': [0.7, 1.0] # Dos niveles de muestreo\n", + " 'n_estimators': [50, 100], \n", + " 'estimator__max_depth': [5, 10], \n", + " 'max_samples': [0.7, 1.0] \n", "}\n", "\n", "# 2. Configuramos el GridSearch con \"ojos\" (verbose) y \"turbo\" (n_jobs)\n", @@ -2225,11 +2225,10 @@ " estimator=BaggingClassifier(estimator=DecisionTreeClassifier()), \n", " param_grid=param_grid, \n", " cv=5,\n", - " n_jobs=-1, # Usa todos tus núcleos para ir rápido\n", - " verbose=2 # ¡ESTO ES CLAVE! Te irá diciendo por qué número de modelo va\n", + " n_jobs=-1, \n", + " verbose=2 \n", ")\n", "\n", - "# 3. Entrenamos\n", "grid_search.fit(x_train_scaled, y_train)" ] },