From 4359d3efd4d622544fe56f21dd014016a235babd Mon Sep 17 00:00:00 2001 From: shoot Date: Mon, 16 Dec 2024 21:15:20 +0400 Subject: [PATCH] Lab3 --- lab_3/lab3.ipynb | 895 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 895 insertions(+) create mode 100644 lab_3/lab3.ipynb diff --git a/lab_3/lab3.ipynb b/lab_3/lab3.ipynb new file mode 100644 index 0000000..b1eb175 --- /dev/null +++ b/lab_3/lab3.ipynb @@ -0,0 +1,895 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "ПОПУЛЯЦИЯ ЧЕЛОВЕЧЕСТВА В СТРАНАХ" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Index: 235 entries, 1 to 235\n", + "Data columns (total 12 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 Country (or dependency) 235 non-null object \n", + " 1 Population2020 235 non-null int64 \n", + " 2 Yearly Change 235 non-null float64\n", + " 3 NetChange 235 non-null object \n", + " 4 Density (P/Km²) 235 non-null object \n", + " 5 LandArea 235 non-null int64 \n", + " 6 Migrants (net) 201 non-null object \n", + " 7 Fert. Rate 235 non-null object \n", + " 8 Med. Age 235 non-null object \n", + " 9 Urban Pop % 235 non-null object \n", + " 10 World Share 235 non-null object \n", + " 11 Net Change 235 non-null int64 \n", + "dtypes: float64(1), int64(3), object(8)\n", + "memory usage: 23.9+ KB\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "df = pd.read_csv(\n", + " \".//static//csv///world-population-by-country-2020.csv\", index_col=\"no\"\n", + ")\n", + "\n", + "df[\"Population2020\"] = df[\"Population2020\"].apply(\n", + " lambda x: int(\"\".join(x.split(\",\")))\n", + ")\n", + "df[\"Net Change\"] = df[\"NetChange\"].apply(\n", + " lambda x: int(\"\".join(x.split(\",\")))\n", + ")\n", + "df[\"Yearly Change\"] = df[\"Yearly Change\"].apply(lambda x: float(\"\".join(x.rstrip(\"%\"))))\n", + "df[\"LandArea\"] = df[\"LandArea\"].apply(\n", + " lambda x: int(\"\".join(x.split(\",\")))\n", + ")\n", + "\n", + "df.info()\n", + "# print(df['date'].head)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Разделим на 3 выборки\n" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Размер обучающей выборки: 150\n", + "Размер контрольной выборки: 38\n", + "Размер тестовой выборки: 47\n" + ] + } + ], + "source": [ + "from sklearn.model_selection import train_test_split\n", + "\n", + "# Разделение данных на обучающую и тестовую выборки (80% - обучение, 20% - тест)\n", + "train_data, test_data = train_test_split(df, test_size=0.2, random_state=42)\n", + "\n", + "# Разделение обучающей выборки на обучающую и контрольную (80% - обучение, 20% - контроль)\n", + "train_data, val_data = train_test_split(train_data, test_size=0.2, random_state=42)\n", + "\n", + "print(\"Размер обучающей выборки:\", len(train_data))\n", + "print(\"Размер контрольной выборки:\", len(val_data))\n", + "print(\"Размер тестовой выборки:\", len(test_data))" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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l1eF9U9ERPQyK+3fb/7WEhEREUkWgwwRERFJFoMMERERSRaDDBEREUkWgwwRERFJFoMMERERSRaDDBEREUkWgwwRERFJFoMMERERSRaDDBEREUkWgwwRERFJFoMMERERSRaDDBEREUkWgwwRERFJFoMMERERSRaDDBEREUkWgwwRERFJFoMMERERSRaDDBEREUkWgwwRERFJFoMMERERSRaDDBEREUkWgwwRERFJFoMMERERSRaDDBEREUkWgwwRERFJFoMMERERSRaDDBEREUkWgwwRERFJFoMMERERSRaDDBEREUmWXoOMm5sbZDJZkSkwMBAAkJ2djcDAQNjZ2cHCwgL9+vVDcnKyPksmIiIiA6LXIHP27FkkJSVppt9//x0A0L9/fwDA5MmTsW/fPoSHh+OPP/5AYmIi+vbtq8+SiYiIyIAY63PjtWrV0rq9YMECeHh4oEOHDkhLS8P69euxZcsWdO7cGQAQFhaGhg0b4tSpU2jdurU+SiYiIiIDYjDnyOTm5uLHH3/Ee++9B5lMhqioKOTl5cHPz0/TxtvbG3Xr1kVkZGSx/eTk5CA9PV1rIiIioheTwQSZPXv2IDU1FSNGjAAAKJVKmJqawtraWqudg4MDlEplsf2EhITAyspKM7m4uFRi1URERKRPBhNk1q9fj4CAADg7O/+rfoKCgpCWlqaZ7ty5U0EVEhERkaHR6zkyBW7fvo1Dhw5h165dmnmOjo7Izc1Famqq1lGZ5ORkODo6FtuXQqGAQqGozHKJiIjIQBjEEZmwsDDY29ujR48emnk+Pj4wMTFBRESEZl5MTAzi4+Ph6+urjzKJiIjIwOj9iIxarUZYWBiGDx8OY+P/L8fKygqjRo3ClClTYGtrC0tLS0yYMAG+vr68YomIiIgAGECQOXToEOLj4/Hee+8VWbZ06VLI5XL069cPOTk58Pf3x6pVq/RQJRERERkivQeZbt26QQihc5mZmRlCQ0MRGhpaxVURERGRFBjEOTJERERE5cEgQ0RERJLFIENERESSxSBDREREksUgQ0RERJLFIENERESSxSBDREREksUgQ0RERJLFIENERESSxSBDREREksUgQ0RERJLFIENERESSxSBDREREksUgQ0RERJLFIENERESSxSBDREREksUgQ0RERJLFIENERESSxSBDREREksUgQ0RERJLFIENERESS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iIiIiEpSriBz8eJFtGjRAgBw+fJlrWU88ZeIiIiqSrmCzJEjRyq6DiIiIqIyK9c5MkRERESGoFxHZDp16lTiR0iHDx8ud0FEREREpVWuIFNwfkyBvLw8REdH4/Lly0V+TJKIiIiospQryCxdulTn/FmzZiEzM/NfFURERERUWhV6jsy7777L31kiIiKiKlOhQSYyMhJmZmYV2SURERFRscr10VLfvn21bgshkJSUhHPnzmHGjBkVUhgRERHR85QryFhZWWndlsvlaNCgAebMmYNu3bpVSGFEREREz1OuIBMWFlbRdRARERGVWbmCTIGoqChcuXIFANC4cWO88sorFVIUERERUWmUK8ikpKRg0KBBOHr0KKytrQEAqamp6NSpE7Zt24ZatWpVZI1EREREOpXrqqUJEyYgIyMDf//9Nx4+fIiHDx/i8uXLSE9Px0cffVTRNRIRERHpVK4jMvv378ehQ4fQsGFDzbxGjRohNDSUJ/sSERFRlSnXERm1Wg0TE5Mi801MTKBWq/91UURERESlUa4g07lzZ0ycOBGJiYmaeQkJCZg8eTK6dOlSYcURERERlaRcQWblypVIT0+Hm5sbPDw84OHhAXd3d6Snp2PFihUVXSMRERGRTuU6R8bFxQV//fUXDh06hKtXrwIAGjZsCD8/vwotjoiIiKgkZToic/jwYTRq1Ajp6emQyWTo2rUrJkyYgAkTJuD1119H48aNcfz48XIVsmDBAshkMkyaNEkzLzs7G4GBgbCzs4OFhQX69euH5OTkcvVPREREL54yBZlly5ZhzJgxsLS0LLLMysoK48aNw5IlS8pcxNmzZ/Htt9+iWbNmWvMnT56Mffv2ITw8HH/88QcSExOL/M4TERERvbzKFGQuXLiA7t27F7u8W7duiIqKKlMBmZmZGDJkCNatWwcbGxvN/LS0NKxfvx5LlixB586d4ePjg7CwMPz55584depUmbZBREREL6YyBZnk5GSdl10XMDY2xr1798pUQGBgIHr06FHk/JqoqCjk5eVpzff29kbdunURGRlZbH85OTlIT0/XmoiIiOjFVKYgU7t2bVy+fLnY5RcvXoSTk1Op+9u2bRv++usvhISEFFmmVCphamqq+QmEAg4ODlAqlcX2GRISAisrK83k4uJS6nqIiIhIWsoUZN58803MmDED2dnZRZY9efIEwcHB6Nmz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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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iQGIiIiIjA4DEBERERkdBiAiIiIyOgxAREREZHQYgIiIiMjoMAARERGR0WEAIiIiIqPDAERERERGhwGIiIiIjA4DEBERERkdBiAiIiIyOgxAREREZHQYgIiIiMjoMAARERGR0WEAIiIiIqPDAERERERGhwGIiIiIjA4DEBERERkdBiAiIiIyOgxAREREZHQYgIiIiMjoMAARERGR0WEAIiIiIqPDAERERERGhwGIiIiIjA4DEBERERkdBiAiIiIyOgxAREREZHQYgIiIiMjoMAARERGR0dFrADp8+DCeeOIJuLu7Q5Ik7Ny5U2e5JEkVTkuWLKm0z/nz55dr365du3reEiIiImpM9BqAcnNz0bVrV6xcubLC5UlJSTrTmjVrIEkSnnzyySr77dixo856f//9d32UT0RERI2UQp93HhwcjODg4EqXu7q66tzetWsXBg4ciNatW1fZr0KhKLcuERERUalGMwYoJSUFv//+OyZPnnzftrGxsXB3d0fr1q0xfvx4JCQkVNm+sLAQWVlZOhMRERE1XY0mAK1fvx7W1tYYPXp0le169+6NdevWISwsDKtWrUJcXBz69++P7OzsStdZtGgRbG1ttZOHh0ddl09EREQGpNEEoDVr1mD8+PEwMzOrsl1wcDDGjBmDLl26ICgoCLt370ZGRgZ+/PHHStcJDQ1FZmamdkpMTKzr8omIiMiA6HUMUHX99ddfiImJwdatW2u8rp2dHXx8fHD58uVK2yiVSiiVygcpkYiIiBqRRrEH6LvvvoOfnx+6du1a43VzcnJw5coVuLm51UNlRERE1BjpNQDl5OQgKioKUVFRAIC4uDhERUXpDFrOysrCtm3bMGXKlAr7GDRoEFasWKG9PWfOHBw6dAjx8fE4cuQIRo0aBblcjnHjxtXrthAREVHjoddDYCdPnsTAgQO1t2fPng0ACAkJwbp16wAAW7ZsgRCi0gBz5coVpKena29fv34d48aNw61bt+Dk5IR+/frh6NGjcHJyqr8NISIiokZFrwEoICAAQogq20ybNg3Tpk2rdHl8fLzO7S1bttRFaURERNSENYoxQERERER1iQGIiIiIjA4DEBERERkdBiAiIiIyOgxAREREZHQYgIiIiMjoMAARERGR0WEAIiIiIqPDAERERERGhwGIiIiIjA4DEBERERkdBiAiIiIyOgxAREREZHQYgIiIiMjoMAARERGR0WEAIiIiIqPDAERERERGhwGIiIiIjA4DEBERERkdBiAiIiIyOgxAREREZHQYgIiIiMjoMAARERGR0WEAIiIiIqPDAERERERGhwGIiIiIjA4DEBERERkdBiAiIiIyOgxAREREZHQYgIiIiMjoMAARERGR0dFrADp8+DCeeOIJuLu7Q5Ik7Ny5U2f5xIkTIUmSzjR06ND79rty5Up4enrCzMwMvXv3xvHjx+tpC4iIiKgx0msAys3NRdeuXbFy5cpK2wwdOhRJSUna6Ycffqiyz61bt2L27NmYN28eTp06ha5duyIoKAipqal1XT4RERE1Ugp93nlwcDCCg4OrbKNUKuHq6lrtPj///HNMnToVkyZNAgCsXr0av//+O9asWYO33377geolIiKipsHgxwAdPHgQzs7O8PX1xUsvvYRbt25V2raoqAiRkZEIDAzUzpPJZAgMDERERESl6xUWFiIrK0tnIiIioqbLoAPQ0KFDsWHDBoSHh+Pjjz/GoUOHEBwcDLVaXWH79PR0qNVquLi46Mx3cXFBcnJypfezaNEi2NraaicPD4863Q4iIiIyLHo9BHY/zzzzjPb/O3fujC5dusDb2xsHDx7EoEGD6ux+QkNDMXv2bO3trKwshiAiIqImzKD3AN2rdevWcHR0xOXLlytc7ujoCLlcjpSUFJ35KSkpVY4jUiqVsLGx0ZmIiIio6WpUAej69eu4desW3NzcKlxuamoKPz8/hIeHa+dpNBqEh4fD39+/ocokIiIiA6fXAJSTk4OoqChERUUBAOLi4hAVFYWEhATk5OTgjTfewNGjRxEfH4/w8HCMGDECbdq0QVBQkLaPQYMGYcWKFdrbs2fPxrfffov169fjwoULeOmll5Cbm6s9K4yIiIhIr2OATp48iYEDB2pvl47DCQkJwapVq3D27FmsX78eGRkZcHd3x5AhQ/DBBx9AqVRq17ly5QrS09O1t59++mmkpaVh7ty5SE5ORrdu3RAWFlZuYDQREREZL70GoICAAAghKl2+Z8+e+/YRHx9fbt6MGTMwY8aMBymNiIiImrBGNQaIiIiIqC4wABEREZHRYQAiIiIio8MAREREREaHAYiIiIiMDgMQERERGR0GICIiIjI6DEBERERkdBiAiIiIyOgwABEREZHRYQAiIiIio8MAREREREaHAYiIiIiM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ffD19eXhL2o0cnJyEBUVpf0bj4uLQ1RUFBISEuDj44Px48djwoQJ+PnnnxEXF4fjx49j0aJF+P3333X6WbNmDdzc3BAcHFz7Ymo1dJqIjEZFZ2mVGjFihOjQoYP466+/RFRUlBg6dKho06aNKCoqEkKUnEVlYmIievXqJY4ePSpOnjwpHn74YfHwww9r+wgLCxOSJIn169eLS5cuiblz5wobG5tKzwJLTU0Vpqam4o033hBXrlwRu3btEj4+PgKAOH36tBBCiOvXrwtJksS6detEamqqyM7OLtdPdeu3tbXV2eYdO3aIsm+dixcvFqampuKnn34SSUlJ2qn0Pkvb2NnZiV27domzZ8+KESNGCC8vL5Gfn6+tt02bNmLQoEHi+vXrOv2UysjIEC4uLuL5558X0dHRYsuWLcLCwkJ8/fXX938SiQzEgQMHyp2liTJnahYVFYm5c+cKT09PYWJiItzc3MSoUaPE2bNntX2o1WrRokUL8c477zxQLQxARFSlqgJQ6Wnktra2wtzcXAQFBVV4Gvn27dtF69athVKpFIGBgeLatWs6/cydO1e4uLgIW1tb8dprr4kZM2ZUeRr85s2bhaenp1AqlcLf31/88ssvOgFICCEWLlwoXF1dhSRJ9z0N/n71l3VvAGrVqlWFb+jz5s3TttFoNOL9998XLi4uQqlUikGDBomYmBid+6moj3u/o545c0b069dPKJVK0bx5c7F48eIKnxciuj9JiAoOZhMR1YF169Zh1qxZ5a7ITESkbxwDREREREaHAYiIiIiMDg+BERERkdHhHiAiIiIyOgxAREREZHQYgIiIiMjoMAARERGR0WEAIiIiIqPDAERERERGhwGIiIiIjA4DEBERERkdBiAiIiIyOv8feoI5RUJG4j0AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# Гистограмма распределения объема в обучающей выборке\n", + "sns.histplot(train_data[\"Population2020\"], kde=True)\n", + "plt.title('Распределение популяции в обучающей выборке')\n", + "plt.show()\n", + "\n", + "# Гистограмма распределения объема в контрольной выборке\n", + "sns.histplot(val_data[\"Population2020\"], kde=True)\n", + "plt.title('Распределение популяции в контрольной выборке')\n", + "plt.show()\n", + "\n", + "# Гистограмма распределения объема в тестовой выборке\n", + "sns.histplot(test_data[\"Population2020\"], kde=True)\n", + "plt.title(\"Распределение популяции в тестовой выборке\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Процесс конструирования признаков\n", + "\n", + "\n", + "\n", + "### Унитарное кодирование категориальных признаков (one-hot encoding)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "\n", + "categorical_features = [\n", + "]\n", + "\n", + "# Применение one-hot encoding\n", + "train_data_encoded = pd.get_dummies(train_data, columns=categorical_features)\n", + "val_data_encoded = pd.get_dummies(val_data, columns=categorical_features)\n", + "test_data_encoded = pd.get_dummies(test_data, columns=categorical_features)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Дискретизация числовых признаков " + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "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", + " \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", + "
LandAreaLandArea
no
21653(0.0, 5458956.667]
217160(0.0, 5458956.667]
21860(0.0, 5458956.667]
21910(0.0, 5458956.667]
220150(0.0, 5458956.667]
221328(0.0, 5458956.667]
222460(0.0, 5458956.667]
223240(0.0, 5458956.667]
22490(0.0, 5458956.667]
22530(0.0, 5458956.667]
226140(0.0, 5458956.667]
22720(0.0, 5458956.667]
22821(0.0, 5458956.667]
229390(0.0, 5458956.667]
230230(0.0, 5458956.667]
231100(0.0, 5458956.667]
23212170(0.0, 5458956.667]
233260(0.0, 5458956.667]
23410(0.0, 5458956.667]
2350NaN
\n", + "
" + ], + "text/plain": [ + " LandArea LandArea\n", + "no \n", + "216 53 (0.0, 5458956.667]\n", + "217 160 (0.0, 5458956.667]\n", + "218 60 (0.0, 5458956.667]\n", + "219 10 (0.0, 5458956.667]\n", + "220 150 (0.0, 5458956.667]\n", + "221 328 (0.0, 5458956.667]\n", + "222 460 (0.0, 5458956.667]\n", + "223 240 (0.0, 5458956.667]\n", + "224 90 (0.0, 5458956.667]\n", + "225 30 (0.0, 5458956.667]\n", + "226 140 (0.0, 5458956.667]\n", + "227 20 (0.0, 5458956.667]\n", + "228 21 (0.0, 5458956.667]\n", + "229 390 (0.0, 5458956.667]\n", + "230 230 (0.0, 5458956.667]\n", + "231 100 (0.0, 5458956.667]\n", + "232 12170 (0.0, 5458956.667]\n", + "233 260 (0.0, 5458956.667]\n", + "234 10 (0.0, 5458956.667]\n", + "235 0 NaN" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from sklearn.preprocessing import OneHotEncoder\n", + "import numpy as np\n", + "\n", + "\n", + "labels = [\"small country\", \"medium country\", \"big country\"]\n", + "num_bins = 3\n", + "\n", + "hist1, bins1 = np.histogram(\n", + " df[\"LandArea\"].fillna(df[\"LandArea\"].median()), bins=num_bins\n", + ")\n", + "bins1, hist1\n", + "\n", + "pd.concat([df[\"LandArea\"], pd.cut(df[\"LandArea\"], list(bins1))], axis=1).tail(20)" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "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", + " \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", + "
LandAreaLandArea
no
19388211medium country
22973190small country
39147420medium country
41811570small country
5770880small country
68358140medium country
7910770small country
8130170small country
916376870big country
101943950small country
11364555small country
121000000small country
13298170small country
14995450small country
15310070small country
162267050small country
17769630small country
181628550small country
19348560small country
20510890small country
\n", + "
" + ], + "text/plain": [ + " LandArea LandArea\n", + "no \n", + "1 9388211 medium country\n", + "2 2973190 small country\n", + "3 9147420 medium country\n", + "4 1811570 small country\n", + "5 770880 small country\n", + "6 8358140 medium country\n", + "7 910770 small country\n", + "8 130170 small country\n", + "9 16376870 big country\n", + "10 1943950 small country\n", + "11 364555 small country\n", + "12 1000000 small country\n", + "13 298170 small country\n", + "14 995450 small country\n", + "15 310070 small country\n", + "16 2267050 small country\n", + "17 769630 small country\n", + "18 1628550 small country\n", + "19 348560 small country\n", + "20 510890 small country" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.concat(\n", + " [df[\"LandArea\"], pd.cut(df[\"LandArea\"], list(bins1), labels=labels)], axis=1\n", + ").head(20)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Ручной синтез" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "# Пример синтеза признака площади страны в кв км на душу человека\n", + "train_data_encoded[\"squareforman\"] = (\n", + " train_data_encoded[\"LandArea\"] / train_data_encoded[\"Population2020\"]\n", + ")\n", + "val_data_encoded[\"squareforman\"] = (\n", + " val_data_encoded[\"LandArea\"] / val_data_encoded[\"Population2020\"]\n", + ")\n", + "test_data_encoded[\"squareforman\"] = (\n", + " test_data_encoded[\"LandArea\"] / test_data_encoded[\"Population2020\"]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Масштабирование признаков - это процесс преобразования числовых признаков таким образом, чтобы они имели одинаковый масштаб. Это важно для многих алгоритмов машинного обучения, которые чувствительны к масштабу признаков, таких как линейная регрессия, метод опорных векторов (SVM) и нейронные сети." + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.preprocessing import StandardScaler, MinMaxScaler\n", + "\n", + "# Пример масштабирования числовых признаков\n", + "numerical_features = [\"Population2020\", \"Yearly Change\"]\n", + "\n", + "scaler = StandardScaler()\n", + "train_data_encoded[numerical_features] = scaler.fit_transform(train_data_encoded[numerical_features])\n", + "val_data_encoded[numerical_features] = scaler.transform(val_data_encoded[numerical_features])\n", + "test_data_encoded[numerical_features] = scaler.transform(test_data_encoded[numerical_features])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Конструирование признаков с применением фреймворка Featuretools" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\featuretools\\entityset\\entityset.py:1733: UserWarning: index id not found in dataframe, creating new integer column\n", + " warnings.warn(\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", + " pd.to_datetime(\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", + " pd.to_datetime(\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", + " pd.to_datetime(\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", + " pd.to_datetime(\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", + " pd.to_datetime(\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", + " pd.to_datetime(\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", + " pd.to_datetime(\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", + " pd.to_datetime(\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", + " pd.to_datetime(\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", + " pd.to_datetime(\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", + " pd.to_datetime(\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", + " pd.to_datetime(\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", + " pd.to_datetime(\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", + " pd.to_datetime(\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", + " pd.to_datetime(\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", + " pd.to_datetime(\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\featuretools\\synthesis\\deep_feature_synthesis.py:169: UserWarning: Only one dataframe in entityset, changing max_depth to 1 since deeper features cannot be created\n", + " warnings.warn(\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\featuretools\\computational_backends\\feature_set_calculator.py:143: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n", + " df = pd.concat([df, default_df], sort=True)\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\woodwork\\logical_types.py:841: FutureWarning: Downcasting behavior in `replace` is deprecated and will be removed in a future version. To retain the old behavior, explicitly call `result.infer_objects(copy=False)`. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`\n", + " series = series.replace(ww.config.get_option(\"nan_values\"), np.nan)\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\featuretools\\computational_backends\\feature_set_calculator.py:143: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n", + " df = pd.concat([df, default_df], sort=True)\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\woodwork\\logical_types.py:841: FutureWarning: Downcasting behavior in `replace` is deprecated and will be removed in a future version. To retain the old behavior, explicitly call `result.infer_objects(copy=False)`. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`\n", + " series = series.replace(ww.config.get_option(\"nan_values\"), np.nan)\n" + ] + } + ], + "source": [ + "import featuretools as ft\n", + "\n", + "# Определение сущностей\n", + "es = ft.EntitySet(id='pop')\n", + "\n", + "es = es.add_dataframe(dataframe_name='dop', dataframe=train_data_encoded, index='id')\n", + "\n", + "\n", + "# Генерация признаков\n", + "feature_matrix, feature_defs = ft.dfs(\n", + " entityset=es, target_dataframe_name=\"dop\", max_depth=2\n", + ")\n", + "\n", + "# Преобразование признаков для контрольной и тестовой выборок\n", + "val_feature_matrix = ft.calculate_feature_matrix(features=feature_defs, entityset=es, instance_ids=val_data_encoded.index)\n", + "test_feature_matrix = ft.calculate_feature_matrix(features=feature_defs, entityset=es, instance_ids=test_data_encoded.index)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Оценка качества каждого набора признаков\n", + "Предсказательная способность\n", + "Метрики: RMSE, MAE, R²\n", + "\n", + "Методы: Обучение модели на обучающей выборке и оценка на контрольной и тестовой выборках.\n", + "\n", + "Скорость вычисления\n", + "Методы: Измерение времени выполнения генерации признаков и обучения модели.\n", + "\n", + "Надежность\n", + "Методы: Кросс-валидация, анализ чувствительности модели к изменениям в данных.\n", + "\n", + "Корреляция\n", + "Методы: Анализ корреляционной матрицы признаков, удаление мультиколлинеарных признаков.\n", + "\n", + "Цельность\n", + "Методы: Проверка логической связи между признаками и целевой переменной, интерпретация результатов модели." + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\featuretools\\entityset\\entityset.py:724: UserWarning: A Woodwork-initialized DataFrame was provided, so the following parameters were ignored: index\n", + " warnings.warn(\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\featuretools\\synthesis\\deep_feature_synthesis.py:169: UserWarning: Only one dataframe in entityset, changing max_depth to 1 since deeper features cannot be created\n", + " warnings.warn(\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\featuretools\\computational_backends\\feature_set_calculator.py:143: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n", + " df = pd.concat([df, default_df], sort=True)\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\woodwork\\logical_types.py:841: FutureWarning: Downcasting behavior in `replace` is deprecated and will be removed in a future version. To retain the old behavior, explicitly call `result.infer_objects(copy=False)`. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`\n", + " series = series.replace(ww.config.get_option(\"nan_values\"), np.nan)\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\featuretools\\computational_backends\\feature_set_calculator.py:143: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n", + " df = pd.concat([df, default_df], sort=True)\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\woodwork\\logical_types.py:841: FutureWarning: Downcasting behavior in `replace` is deprecated and will be removed in a future version. To retain the old behavior, explicitly call `result.infer_objects(copy=False)`. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`\n", + " series = series.replace(ww.config.get_option(\"nan_values\"), np.nan)\n" + ] + } + ], + "source": [ + "import featuretools as ft\n", + "\n", + "# Определение сущностей\n", + "es = ft.EntitySet(id='pop')\n", + "es = es.add_dataframe(\n", + " dataframe_name=\"dop\", dataframe=train_data_encoded, index=\"id\"\n", + ")\n", + "\n", + "# Генерация признаков\n", + "feature_matrix, feature_defs = ft.dfs(\n", + " entityset=es, target_dataframe_name=\"dop\", max_depth=2\n", + ")\n", + "\n", + "# Преобразование признаков для контрольной и тестовой выборок\n", + "val_feature_matrix = ft.calculate_feature_matrix(features=feature_defs, entityset=es, instance_ids=val_data_encoded.index)\n", + "test_feature_matrix = ft.calculate_feature_matrix(features=feature_defs, entityset=es, instance_ids=test_data_encoded.index)" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\sklearn\\metrics\\_regression.py:492: FutureWarning: 'squared' is deprecated in version 1.4 and will be removed in 1.6. To calculate the root mean squared error, use the function'root_mean_squared_error'.\n", + " warnings.warn(\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "RMSE: 0.03387638150888035\n", + "R²: 0.9814104214666138\n", + "MAE: 0.015316153649943631\n", + "Cross-validated RMSE: 0.7480546038440666\n", + "Train RMSE: 0.24468562210527503\n", + "Train R²: 0.9401289463349545\n", + "Train MAE: 0.049477658845671284\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\sklearn\\metrics\\_regression.py:492: FutureWarning: 'squared' is deprecated in version 1.4 and will be removed in 1.6. To calculate the root mean squared error, use the function'root_mean_squared_error'.\n", + " warnings.warn(\n" + ] + }, + { + "data": { + "image/png": "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RmvXrr3hXq+YmJgsv15UVFSW3+O/m+fChQtL0g15ACAraLIA4C78+OOPunDhgpYvX67ly5ffcHzZsmXWJute3WrEJCMjw2YVvP/+97/q0aOH2rRpo9dff10BAQEym82aOnWq9T6nrHr++efVs2dP7dmzRzVr1tTnn3+uxx9/3HrfkSQ1bdpUx48f11dffaWNGzfqgw8+0Jw5c7R48WK99NJLd/wc1atXV7Nmze543j9HPaRro3Umk0nffvvtTVcD9PLyysQ7zF45nbFYsWKZ+lrmhH+O5t7qePPmzXXlyhUNHz5clStXlqenp86dO6cePXrIYrHkSM5brSRp/P99fwBwN2iyAOAuLFu2TAEBAdZVz/5p9erVWrNmjRYvXiwPDw+VL19e+/fvv+3r3W7qWeHChW+6/9Lp06dtRjlWrVqlcuXKafXq1Tav9++FK7KiTZs2evnll61TBo8cOaKRI0fecF6RIkXUs2dP9ezZU/Hx8WratKnGjRuXqSbrbpUvX16GYahs2bK67777bnlemTJlJF0bVbq+cqF0bVGIkydPqkaNGrd87vWv791ev5zImFn+/v4qVKiQDh8+fMOxQ4cOycnJ6YYFNo4ePWqdDitdW8TlwoULevLJJ621m31/pqam6sKFC7fNs2/fPh05ckQff/yxunXrZq3fbFXKzE6rvZv3CADZgXuyACCLkpKStHr1aj311FN69tlnb/gICwtTXFyc1q5dK0lq37699u7dqzVr1tzwWtd/W+7p6SlJN22mypcvr99++02pqanW2tdff33DEuDXfyP/z9/A//777woPD7/r9+rn56fQ0FB9/vnnWr58uVxdXdWmTRubcy5fvmzz2MvLSxUqVFBKSspdf97MaNeuncxms8aPH3/DqINhGNZcderUkb+/vxYvXmzzNVy6dOkdNw/29/dX06ZN9eGHH+rMmTM3fI7rbnX9ciJjZpnNZrVo0UJfffWVzXS/yMhIffrpp2rcuLF8fHxsnvPee+/ZTDt95513lJ6erieeeMJaK1++vH7++ecbnnenkaybfb8ahqF58+bdcO7t/n7c63sEgOzASBYAZNHatWsVFxenp59++qbHH3roIevGxB07dtTrr7+uVatW6bnnnlOvXr1Uu3ZtXblyRWvXrtXixYtVo0YNlS9fXn5+flq8eLG8vb3l6emp+vXrq2zZsnrp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WQDuSqlSpVStWjVFRkbK3d1db7zxhl5//XW5u7vnWAZ77HNVIcBb5R7xyvJIGAAAwK3QZAHIlPj4eJtVAU0mkxYsWKAxY8Zo5syZCgkJydE8/97n6voy7N7uLvJyc9bRi/Ha+FekyhXzytTUweAihXIiNgAAKABY+ALAbVksFn344YcqV66cvv32W5tjVapU0cqVK3O8wZLY5woAAOReNFkAbmnnzp1q2LChXnzxRUVFRWnAgAFKSUlxdCxJ7HMFAAByL5osADe4fPmy+vbtq7p16+r333+31mvVqqWEhAQHJvsf9rkCAAC5FU0WAKuMjAy9++67uu+++/Tuu+9a94+qUqWKfvjhB61YsUJFihRxcMpr2OcKAADkVvyKF4Ak6bffflNYWJh27txprXl5eWncuHHq37+/XF1dHZjuRuxzBQAAciuaLCCPupsNeG9nypQpNg1W586dNXPmTJUsWdIecbMF+1wBAIDcyGT8e54NbMTGxsrX11cxMTHy8fFxdBxA0r1twHsrx48fV9WqVVWpUiUtXLhQTZs2tXPq7GPvhhMAAOBmMtsb5Ll7shYtWqSQkBC5u7urfv362r59+23PX7lypSpXrix3d3dVr15d69evz6GkQPa4vgHv/vMx8ivkonLFvORXyEX7z8foo19P6djFuDu+xq+//qoffvjBpla+fHn99NNP2rVrV55qsKT/7XNVubiPgosUosECAAAOlaearBUrVmjIkCEaO3asdu3apRo1aig0NFQXL1686fnbtm1Tp06d9OKLL2r37t1q06aN2rRpo/379+dwcsA+/r0Br7e7i8xOJnm7u6higJeuJKRq41+RslhuPkAdERGh7t27q3HjxnrxxReVmJhoc/yhhx6SszOziAEAAO5FnpouWL9+fdWtW1cLFy6UdG2T1ODgYPXv318jRoy44fyOHTsqISFBX3/9tbX20EMPqWbNmlq8eHGmPifTBZGbnL2SqDnfH5FfIRd5u7vccDwuOU3RiWka3Pw+BRcpZK2npaVp0aJFGjt2rGJjY631efPmacCAATmSHQAAIK/Ld9MFU1NTtXPnTjVr1sxac3JyUrNmzRQeHn7T54SHh9ucL0mhoaG3PF+SUlJSFBsba/MB5BZ3swHvli1bVKtWLQ0ePNj6/ezn56dFixapX79+OZIbAACgIMkzTdalS5eUkZGhwMBA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jcnsj+mCuK3w8HD5+fmpTp061lqzZs3k5OSk33//PdOvExMTIx8fHzk7O2dHzAIvNTVVO3fuVLNmzaw1JycnNWvWTOHh4Td9Tnh4uM35khQaGnrL82F/d3Pd/i0xMVFpaWkqUqRIdsXETdzttZswYYICAgL04osv5kRM/MvdXLe1a9eqQYMG6tevnwIDA1WtWjVNmTJFGRkZORUburtr17BhQ+3cudM6pfDEiRNav369nnzyyRzJjLuTX34+4Sde3FZERIQCAgJsas7OzipSpIgiIiIy9RqXLl3SxIkT1adPn+yICF37GmdkZCgwMNCmHhgYqEOHDt30ORERETc9P7PXFffubq7bvw0fPlwlS5a84R8kZK+7uXZbt27VkiVLtGfPnhxIiJu5m+t24sQJ/fjjj3rhhRe0fv16HTt2TK+++qrS0tI0duzYnIgN3d2169y5sy5duqTGjRvLMAylp6erb9++euONN3IiMu7SrX4+iY2NVVJSkjw8PByULGsYySqgRowYIZPJdNuPzP6QdzuxsbFq1aqVqlatqnHjxt17cABW06ZN0/Lly7VmzRq5u7s7Og5uIy4uTl27dtX777+vYsWKOToOssBisSggIEDvvfeeateurY4dO+rNN9/U4sWLHR0Nd7BlyxZNmTJFb7/9tnbt2qXVq1frm2++0cSJEx0dDQUAI1kF1NChQ9WjR4/bnlOuXDkVL15cFy9etKmnp6frypUrKl68+G2fHxcXp5YtW8rb21tr1qyRi4vLvcbGLRQrVkxms1mRkZE29cjIyFtep+LFi2fpfNjf3Vy362bNmqVp06bphx9+0AMPPJCdMXETWb12x48f16lTp9S6dWtrzWKxSLo2O+Dw4cMqX7589obGXf2dK1GihFxcXGQ2m621KlWqKCIiQqmpqXJ1dc3WzLjmbq7d6NGj1bVrV7300kuSpOrVqyshIUF9+vTRm2++KScnxhpyo1v9fOLj45NnRrEkRrIKLH9/f1WuXPm2H66urmrQoIGio6O1c+dO63N//PFHWSwW1a9f/5avHxsbqxYtWsjV1VVr167lt+zZzNXVVbVr19amTZusNYvFok2bNqlBgwY3fU6DBg1szpek77///pbnw/7u5rpJ0owZMzRx4kR99913NvdLIudk9dpVrlxZ+/bt0549e6wfTz/9tB599FHt2bNHwcHBORm/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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.ensemble import RandomForestRegressor\n", + "from sklearn.metrics import mean_squared_error, r2_score, mean_absolute_error\n", + "from sklearn.model_selection import cross_val_score\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "# Удаление строк с NaN\n", + "feature_matrix = feature_matrix.dropna()\n", + "val_feature_matrix = val_feature_matrix.dropna()\n", + "test_feature_matrix = test_feature_matrix.dropna()\n", + "\n", + "# Разделение данных на обучающую и тестовую выборки\n", + "X_train = feature_matrix.drop(\"Population2020\", axis=1)\n", + "y_train = feature_matrix[\"Population2020\"]\n", + "X_val = val_feature_matrix.drop(\"Population2020\", axis=1)\n", + "y_val = val_feature_matrix[\"Population2020\"]\n", + "X_test = test_feature_matrix.drop(\"Population2020\", axis=1)\n", + "y_test = test_feature_matrix[\"Population2020\"]\n", + "\n", + "# Выбор модели\n", + "model = RandomForestRegressor(random_state=42)\n", + "\n", + "# Обучение модели\n", + "model.fit(X_train, y_train)\n", + "\n", + "# Предсказание и оценка\n", + "y_pred = model.predict(X_test)\n", + "\n", + "rmse = mean_squared_error(y_test, y_pred, squared=False)\n", + "r2 = r2_score(y_test, y_pred)\n", + "mae = mean_absolute_error(y_test, y_pred)\n", + "\n", + "print(f\"RMSE: {rmse}\")\n", + "print(f\"R²: {r2}\")\n", + "print(f\"MAE: {mae}\")\n", + "\n", + "# Кросс-валидация\n", + "scores = cross_val_score(model, X_train, y_train, cv=5, scoring='neg_mean_squared_error')\n", + "rmse_cv = (-scores.mean())**0.5\n", + "print(f\"Cross-validated RMSE: {rmse_cv}\")\n", + "\n", + "# Анализ важности признаков\n", + "feature_importances = model.feature_importances_\n", + "feature_names = X_train.columns\n", + "\n", + "\n", + "# Проверка на переобучение\n", + "y_train_pred = model.predict(X_train)\n", + "\n", + "rmse_train = mean_squared_error(y_train, y_train_pred, squared=False)\n", + "r2_train = r2_score(y_train, y_train_pred)\n", + "mae_train = mean_absolute_error(y_train, y_train_pred)\n", + "\n", + "print(f\"Train RMSE: {rmse_train}\")\n", + "print(f\"Train R²: {r2_train}\")\n", + "print(f\"Train MAE: {mae_train}\")\n", + "\n", + "# Визуализация результатов\n", + "plt.figure(figsize=(10, 6))\n", + "plt.scatter(y_test, y_pred, alpha=0.5)\n", + "plt.plot([y_test.min(), y_test.max()], [y_test.min(), y_test.max()], 'k--', lw=2)\n", + "plt.xlabel(\"Actual Population\")\n", + "plt.ylabel(\"Predicted Population\")\n", + "plt.title(\"Actual vs Predicted Population\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Точность предсказаний: Модель показывает довольно высокий R² (0.98), что указывает на хорошее объяснение вариации. Значения RMSE и MAE довольно низки, что говорит о том, что модель достаточно точно предсказывает цены.\n", + "\n", + "Переобучение: Разница между RMSE на обучающей и тестовой выборках не очень большая, что указывает на то, что переобучение не является критическим. Однако, стоит быть осторожным и продолжать мониторинг этого показателя.\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "aisenv", + "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.12.6" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}