mirror of
https://github.com/kuhyx/WUT_Computer_Science.git
synced 2026-07-04 18:23:15 +02:00
822 lines
78 KiB
Plaintext
822 lines
78 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 75,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import pandas as pd\n",
|
|
"from sklearn.model_selection import train_test_split\n",
|
|
"from sklearn.tree import DecisionTreeRegressor, plot_tree, export_text\n",
|
|
"from sklearn.metrics import mean_squared_error\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"from sklearn.preprocessing import StandardScaler\n",
|
|
"from sklearn.preprocessing import MinMaxScaler\n",
|
|
"from sklearn.decomposition import PCA"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 76,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"feature_names = [\n",
|
|
" 'Powierzchnia', # 1\n",
|
|
" 'Wynagrodzenie_ogolem', # 2\n",
|
|
" 'Wynagrodzenie_w_relacji_do_sredniej', # 3\n",
|
|
" 'Dochody_podatek_lesny', # 4\n",
|
|
" 'Dochody_podatek_PCC', # 5\n",
|
|
" 'Dochody_podatek_od_dzialalnosci_gospodarczej', # 6\n",
|
|
" 'Dochody_podatek_od_nieruchomosci', # 7\n",
|
|
" 'Dochody_podatek_od_spadkow', # 8\n",
|
|
" 'Dochody_podatek_od_srodkow_transportowych', # 9\n",
|
|
" 'Dochody_podatek_rolny', # 10\n",
|
|
" 'Dochody_podatek_odrebne_ustawy', # 11\n",
|
|
" 'Dochody_razem', # 12\n",
|
|
" 'Dochody_z_majatku', # 13\n",
|
|
" 'Dochody_z_najmu_i_dzierzawy', # 14\n",
|
|
" 'Dochody_z_uslug', # 15\n",
|
|
" 'Dochody_dofinansowanie_inwestycyjne', # 16\n",
|
|
" 'Dochody_dofinansowanie_razem', # 17\n",
|
|
" 'Udzialy_w_podatkach_dochodowych_od_osob_fizycznych', # 18\n",
|
|
" 'Udzialy_w_podatkach_dochodowych_od_osob_prywatnych', # 19\n",
|
|
" 'Udzialy_w_podatkach_dochodowych_razem', # 20\n",
|
|
" 'Wplywy_z_innych_lokalnych_oplat', # 21\n",
|
|
" 'Wplywy_z_oplaty_eksploatacyjnej', # 22\n",
|
|
" 'Wplywy_z_oplaty_skarbowej', # 23\n",
|
|
" 'Wplywy_z_oplaty_targowej', # 24\n",
|
|
" 'Ludnosc_ogolem', # 25\n",
|
|
" 'Ludnosc_w_wieku_poprodukcyjnym', # 26\n",
|
|
" 'Ludnosc_w_wieku_produkcyjnym', # 27\n",
|
|
" 'Ludnosc_w_wieku_produkcyjnym_mobilnym', # 28\n",
|
|
" 'Ludnosc_w_wieku_produkcyjnym_niemobilnym', # 29\n",
|
|
" 'Ludnosc_w_wieku_przedprodukcyjnym', # 30\n",
|
|
" 'Ludnosc_mezczyzni', # 31\n",
|
|
" 'Ludnosc_mezczyzni_w_wieku_poprodukcyjnym', # 32\n",
|
|
" 'Ludnosc_mezczyzni_w_wieku_produkcyjnym', # 33\n",
|
|
" 'Ludnosc_mezczyzni_w_wieku_produkcyjnym_mobilnym', # 34\n",
|
|
" 'Ludnosc_mezczyzni_w_wieku_produkcyjnym_niemobilnym', # 35\n",
|
|
" 'Ludnosc_mezczyzni_w_wieku_przedprodukcyjnym', # 36\n",
|
|
" 'Ludnosc_kobiety', # 37\n",
|
|
" 'Ludnosc_kobiety_w_wieku_poprodukcyjnym', # 38\n",
|
|
" 'Ludnosc_kobiety_w_wieku_produkcyjnym', # 39\n",
|
|
" 'Ludnosc_kobiety_w_wieku_produkcyjnym_mobilnym', # 40\n",
|
|
" 'Ludnosc_kobiety_w_wieku_produkcyjnym_niemobilnym', # 41\n",
|
|
" 'Ludnosc_kobiety_w_wieku_przedprodukcyjnym', # 42\n",
|
|
" 'Wojewodztwo_Dolnoslaskie', # 43\n",
|
|
" 'Wojewodztwo_Kujawsko_Pomorskie', # 44\n",
|
|
" 'Wojewodztwo_Lubelskie', # 45\n",
|
|
" 'Wojewodztwo_Lubuskie', # 46\n",
|
|
" 'Wojewodztwo_Lodzkie', # 47\n",
|
|
" 'Wojewodztwo_Malopolskie', # 48\n",
|
|
" 'Wojewodztwo_Mazowieckie', # 49\n",
|
|
" 'Wojewodztwo_Opolskie', # 50\n",
|
|
" 'Wojewodztwo_Podkarpackie', # 51\n",
|
|
" 'Wojewodztwo_Podlaskie', # 52\n",
|
|
" 'Wojewodztwo_Pomorskie', # 53\n",
|
|
" 'Wojewodztwo_Slaskie', # 54\n",
|
|
" 'Wojewodztwo_Swietokrzyskie', # 55\n",
|
|
" 'Wojewodztwo_Warminsko_Mazurskie', # 56\n",
|
|
" 'Wojewodztwo_Wielkopolskie', # 57\n",
|
|
" 'Wojewodztwo_Zachodniopomorskie', # 58\n",
|
|
" 'Gestosc_zaludnienia', # 59\n",
|
|
" 'Ludnosc_na_1_km2', # 60\n",
|
|
" 'Ludnosc', # 61\n",
|
|
" 'Wskaznik_urbanizacji', # 62\n",
|
|
" 'Zmiana_liczby_ludnosci', # 63\n",
|
|
" 'Saldo_migracji_na_1000_ludnosci', # 64\n",
|
|
" 'Saldo_migracji', # 65\n",
|
|
" 'Wymeldowania_do_miast_kobiety', # 66\n",
|
|
" 'Wymeldowania_do_miast_mezczyzni', # 67\n",
|
|
" 'Wymeldowania_do_miast_ogolem', # 68\n",
|
|
" 'Wymeldowania_na_wies_kobiety', # 69\n",
|
|
" 'Wymeldowania_na_wies_mezczyzni', # 70\n",
|
|
" 'Wymeldowania_na_wies_ogolem', # 71\n",
|
|
" 'Wymeldowania_kobiety', # 72\n",
|
|
" 'Wymeldowania_mezczyzni', # 73\n",
|
|
" 'Wymeldowania_ogolem', # 74\n",
|
|
" 'Zameldowania_kobiety', # 75\n",
|
|
" 'Zameldowania_mezczyzni', # 76\n",
|
|
" 'Zameldowania_ogolem', # 77\n",
|
|
" 'Zameldowania_z_miast_kobiety', # 78\n",
|
|
" 'Zameldowania_z_miast_mezczyzni', # 79\n",
|
|
" 'Zameldowania_z_miast_ogolem', # 80\n",
|
|
" 'Zameldowania_ze_wsi_kobiety', # 81\n",
|
|
" 'Zameldowania_ze_wsi_mezczyzni', # 82\n",
|
|
" 'Zameldowania_ze_wsi_ogolem', # 83\n",
|
|
" 'Miejsca_noclegowe_caloroczne', # 84\n",
|
|
" 'Miejsca_noclegowe_ogolem', # 85\n",
|
|
" 'Obiekty_caloroczne', # 86\n",
|
|
" 'Obiekty_ogolem', # 87\n",
|
|
" 'Turysci_ogolem', # 88\n",
|
|
" 'Turysci_zagraniczni', # 89\n",
|
|
" 'Bezrobotni_do_25_roku_zycia', # 90\n",
|
|
" 'Dlugotrwale_bezrobotni', # 91\n",
|
|
" 'Bezrobotne_kobiety', # 92\n",
|
|
" 'Bezrobotni_mezczyzni', # 93\n",
|
|
" 'Bezrobotni_ogolem', # 94\n",
|
|
" 'Bezrobotni_powyzej_50_roku_zycia', # 95\n",
|
|
" 'Gmina_miejska', # 96\n",
|
|
" 'Gmina_miejsko_wiejska', # 97\n",
|
|
" 'Gmina_wiejska', # 98\n",
|
|
" 'Odleglosc_Warszawa', # 99\n",
|
|
" 'Odleglosc_od_centrum_decyzyjnego'] # 100\n",
|
|
"\n",
|
|
"all_columns = ['Kod', 'Rok'] + feature_names"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 77,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"df_data = pd.read_csv(\n",
|
|
" 'dane1.csv',\n",
|
|
" encoding='ISO-8859-2',\n",
|
|
" converters={'Kod': str})"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 78,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"df_odl = pd.read_csv(\n",
|
|
" 'gminy_centroid.csv',\n",
|
|
" encoding='ISO-8859-2',\n",
|
|
" converters={'TERYT': str})\n",
|
|
"df_odl['TERYT'] = df_odl['TERYT'].astype('str')\n",
|
|
"df_odl = df_odl[['TERYT', 'odl_Wawa', 'odl_woj']]\n",
|
|
"df_odl = df_odl.rename(columns={\n",
|
|
" 'TERYT': 'Kod',\n",
|
|
" 'odl_Wawa': 'Odleglosc_Warszawa',\n",
|
|
" 'odl_woj': 'Odleglosc_od_centrum_decyzyjnego'})"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 79,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"df_data = df_data.merge(df_odl, on=['Kod'], how='left')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 80,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"['Program Operacyjny Infrastruktura i ?rodowisko 2014-2020'\n",
|
|
" 'Program Operacyjny Inteligentny RozwĂłj'\n",
|
|
" 'Program Operacyjny Polska Cyfrowa'\n",
|
|
" 'Program Operacyjny Wiedza Edukacja RozwĂłj'\n",
|
|
" 'Program Operacyjny Polska Wschodnia']\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"print(df_data['Program_operacyjny'].drop_duplicates().values)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 81,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"C:\\Users\\micha\\AppData\\Local\\Temp\\ipykernel_18980\\2237990575.py:27: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
|
" df_data = df_data.groupby(all_columns)['Suma'].sum().reset_index()\n",
|
|
"C:\\Users\\micha\\AppData\\Local\\Temp\\ipykernel_18980\\2237990575.py:27: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
|
" df_data = df_data.groupby(all_columns)['Suma'].sum().reset_index()\n",
|
|
"C:\\Users\\micha\\AppData\\Local\\Temp\\ipykernel_18980\\2237990575.py:27: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
|
" df_data = df_data.groupby(all_columns)['Suma'].sum().reset_index()\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# Wybór programu operacyjnego...\n",
|
|
"df_data = df_data.loc[df_data['Program_operacyjny'] == 'Program Operacyjny Infrastruktura i ?rodowisko 2014-2020'].reset_index(drop=True)\n",
|
|
"# df_data = df_data.loc[df_data['Program_operacyjny'] == 'Program Operacyjny Inteligentny RozwĂłj'].reset_index(drop=True)\n",
|
|
"# df_data = df_data.loc[df_data['Program_operacyjny'] == 'Program Operacyjny Polska Cyfrowa'].reset_index(drop=True)\n",
|
|
"# df_data = df_data.loc[df_data['Program_operacyjny'] == 'Program Operacyjny Wiedza Edukacja RozwĂłj'].reset_index(drop=True)\n",
|
|
"# df_data = df_data.loc[df_data['Program_operacyjny'] == 'Program Operacyjny Polska Wschodnia'].reset_index(drop=True)\n",
|
|
"\n",
|
|
"# Uzupełnienie brakujących danych...\n",
|
|
"df_data[[\n",
|
|
" 'Miejsca_noclegowe_caloroczne',\n",
|
|
" 'Miejsca_noclegowe_ogolem',\n",
|
|
" 'Obiekty_caloroczne',\n",
|
|
" 'Obiekty_ogolem',\n",
|
|
" 'Turysci_ogolem',\n",
|
|
" 'Turysci_zagraniczni']] = df_data[[\n",
|
|
" 'Miejsca_noclegowe_caloroczne',\n",
|
|
" 'Miejsca_noclegowe_ogolem',\n",
|
|
" 'Obiekty_caloroczne',\n",
|
|
" 'Obiekty_ogolem',\n",
|
|
" 'Turysci_ogolem',\n",
|
|
" 'Turysci_zagraniczni']].fillna(0)\n",
|
|
"\n",
|
|
"# Usunięcie niepotrzebnych rzędów...\n",
|
|
"df_data.dropna(inplace=True)\n",
|
|
"df_data = df_data[df_data['Suma'] > 0]\n",
|
|
"\n",
|
|
"df_data = df_data.groupby(all_columns)['Suma'].sum().reset_index()\n",
|
|
"\n",
|
|
"# ...\n",
|
|
"df_data['Suma'] = df_data['Suma'] / df_data['Ludnosc']"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 82,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Mean Squared Error: 24357114749293.223\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"X = df_data[feature_names]\n",
|
|
"\n",
|
|
"# scaler = MinMaxScaler()\n",
|
|
"# X = scaler.fit_transform(X)\n",
|
|
"\n",
|
|
"y = df_data['Suma']\n",
|
|
"\n",
|
|
"color_column = (df_data['Gestosc_zaludnienia'] > 1.5).astype(int)\n",
|
|
"\n",
|
|
"X_train, X_test, y_train, y_test, color_column_train, color_column_test = train_test_split(X, y, color_column, test_size=0.2, random_state=99)\n",
|
|
"\n",
|
|
"model = DecisionTreeRegressor(random_state=99)\n",
|
|
"model.fit(X_train, y_train)\n",
|
|
"\n",
|
|
"y_pred = model.predict(X_test)\n",
|
|
"mse = mean_squared_error(y_test, y_pred)\n",
|
|
"print('Mean Squared Error:', mse)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 83,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABb4UlEQVR4nO3dd3hUZd4+8PtMn7RJr4SEEjqEXqUoURBEEXsDsezqT/Z15dVVdlcRW9a17iqKDbDwCqiABQURKSJRSgi9hoSE9DqTzCTTzvP7IzA6JkD6kMP9ua65Luac55z5PjMMc3POc54jCSEEiIiIiBRC5esCiIiIiFoTww0REREpCsMNERERKQrDDRERESkKww0REREpCsMNERERKQrDDRERESkKww0REREpCsMNERERKQrDDRG1CUmS8PTTT/u6DJ+bMGECJkyY4HmenZ0NSZKwdOlSn9X0R3+skaijY7gh6gDeeustSJKEESNGNHsf+fn5ePrpp5GRkdF6hV3kNm/eDEmSPA+tVouuXbti5syZOHnypK/La5Lt27fj6aefRmVlpa9LIbroaXxdABFd2LJly5CYmIgdO3bgxIkT6N69e5P3kZ+fjwULFiAxMREDBw5s/SIvYv/zP/+DYcOGwel0Ij09He+++y7Wrl2L/fv3IzY2tl1rSUhIQE1NDbRabZO22759OxYsWIC7774bwcHBbVMckULwyA3RRS4rKwvbt2/Hq6++ioiICCxbtszXJXU4Y8eOxZ133onZs2fjjTfewMsvv4zy8nJ8+OGH59zGarW2SS2SJMFgMECtVrfJ/omI4Yboords2TKEhIRg6tSpuPHGG88ZbiorK/HII48gMTERer0enTp1wsyZM1FaWorNmzdj2LBhAIDZs2d7TtOcHfeRmJiIu+++u94+/zgWw+Fw4KmnnsKQIUNgMpng7++PsWPHYtOmTU3uV1FRETQaDRYsWFBv3dGjRyFJEt58800AgNPpxIIFC5CUlASDwYCwsDBcdtll2LBhQ5NfFwCuuOIKAHXBEQCefvppSJKEQ4cO4fbbb0dISAguu+wyT/tPPvkEQ4YMgdFoRGhoKG699Vbk5ubW2++7776Lbt26wWg0Yvjw4fjpp5/qtTnXmJsjR47g5ptvRkREBIxGI3r27Il//OMfnvoee+wxAECXLl08n192dnab1EjU0fG0FNFFbtmyZZgxYwZ0Oh1uu+02vP3229i5c6cnrABAdXU1xo4di8OHD+Oee+7B4MGDUVpaiq+++gqnT59G79698cwzz+Cpp57Cn/70J4wdOxYAMHr06CbVYrFY8P777+O2227D/fffj6qqKnzwwQeYNGkSduzY0aTTXVFRURg/fjxWrlyJ+fPne61bsWIF1Go1brrpJgB1P+6pqam47777MHz4cFgsFuzatQvp6em48sorm9QHAMjMzAQAhIWFeS2/6aabkJSUhBdeeAFCCADA888/jyeffBI333wz7rvvPpSUlOCNN97AuHHjsGfPHs8pog8++AB//vOfMXr0aPz1r3/FyZMnce211yI0NBTx8fHnrWffvn0YO3YstFot/vSnPyExMRGZmZn4+uuv8fzzz2PGjBk4duwYPv30U7z22msIDw8HAERERLRbjUQdiiCii9auXbsEALFhwwYhhBCyLItOnTqJhx9+2KvdU089JQCIVatW1duHLMtCCCF27twpAIglS5bUa5OQkCBmzZpVb/n48ePF+PHjPc9dLpew2+1ebSoqKkRUVJS45557vJYDEPPnzz9v/9555x0BQOzfv99reZ8+fcQVV1zheZ6cnCymTp163n01ZNOmTQKAWLx4sSgpKRH5+fli7dq1IjExUUiSJHbu3CmEEGL+/PkCgLjtttu8ts/OzhZqtVo8//zzXsv3798vNBqNZ7nD4RCRkZFi4MCBXu/Pu+++KwB4vYdZWVn1Podx48aJwMBAcerUKa/XOfvZCSHESy+9JACIrKysNq+RqKPjaSmii9iyZcsQFRWFyy+/HEDdeI1bbrkFy5cvh9vt9rT74osvkJycjOuvv77ePiRJarV61Go1dDodAECWZZSXl8PlcmHo0KFIT09v8v5mzJgBjUaDFStWeJYdOHAAhw4dwi233OJZFhwcjIMHD+L48ePNqvuee+5BREQEYmNjMXXqVFitVnz44YcYOnSoV7sHHnjA6/mqVasgyzJuvvlmlJaWeh7R0dFISkrynI7btWsXiouL8cADD3jeHwC4++67YTKZzltbSUkJtm7dinvuuQedO3f2WteYz649aiTqaC7pcLN161ZMmzYNsbGxkCQJa9asafI+1q9fj5EjRyIwMBARERG44YYbvM6DEzWX2+3G8uXLcfnllyMrKwsnTpzAiRMnMGLECBQVFWHjxo2etpmZmejXr1+71PXhhx9iwIABnrEvERERWLt2Lcxmc5P3FR4ejokTJ2LlypWeZStWrIBGo8GMGTM8y5555hlUVlaiR48e6N+/Px577DHs27ev0a/z1FNPYcOGDfjxxx+xb98+5Ofn46677qrXrkuXLl7Pjx8/DiEEkpKSEBER4fU4fPgwiouLAQCnTp0CACQlJXltf/bS8/M5e0l6cz+/9qiRqKO5pMfcWK1WJCcn45577vH6h7SxsrKycN1112Hu3LlYtmwZzGYzHnnkEcyYMaNZ/4sl+r0ff/wRBQUFWL58OZYvX15v/bJly3DVVVe1ymud6wiB2+32uqrnk08+wd13343p06fjscceQ2RkJNRqNVJTUz3jWJrq1ltvxezZs5GRkYGBAwdi5cqVmDhxomdcCQCMGzcOmZmZ+PLLL/H999/j/fffx2uvvYZFixbhvvvuu+Br9O/fHykpKRdsZzQavZ7LsgxJkvDdd981eHVTQEBAI3rYtjpCjUTt7ZION1dffTWuvvrqc6632+34xz/+gU8//RSVlZXo168fXnzxRc/VI7t374bb7cZzzz0HlaruINijjz6K6667Dk6ns8nzWBD93rJlyxAZGYmFCxfWW7dq1SqsXr0aixYtgtFoRLdu3XDgwIHz7u98pzhCQkIanBzu1KlTXv+r//zzz9G1a1esWrXKa39/HBDcFNOnT8ef//xnz6mpY8eOYd68efXahYaGYvbs2Zg9ezaqq6sxbtw4PP30040KN83VrVs3CCHQpUsX9OjR45ztEhISANQdRTl7JRZQd5VXVlYWkpOTz7nt2fe3uZ9fe9RI1NFc0qelLmTOnDlIS0vD8uXLsW/fPtx0002YPHmy57z/kCFDoFKpsGTJErjdbpjNZnz88cdISUlhsKEWqampwapVq3DNNdfgxhtvrPeYM2cOqqqq8NVXXwEAbrjhBuzduxerV6+uty9x5qoff39/AGgwxHTr1g2//PILHA6HZ9k333xT71Lis0cGzu4TAH799VekpaU1u6/BwcGYNGkSVq5cieXLl0On02H69OlebcrKyryeBwQEoHv37rDb7c1+3caYMWMG1Go1FixY4NVnoO49OFvX0KFDERERgUWLFnm9h0uXLr3gjMIREREYN24cFi9ejJycnHqvcda5Pr/2qJGow/HRQOaLDgCxevVqz/NTp04JtVot8vLyvNpNnDhRzJs3z/N88+bNIjIyUqjVagFAjBo1SlRUVLRT1aRUy5cvFwDEmjVrGlzvdrtFRESEmDZtmhBCiKqqKtGnTx+hVqvF/fffLxYtWiReeOEFMXLkSJGRkSGEqLtaJjg4WPTs2VO8//774tNPPxUnT54UQgixbt06AUBcfvnl4u233xaPPvqoiI6OFt26dfO6imbx4sUCgLj22mvFO++8I5544gkRHBws+vbtKxISErxqRCOuljrrk08+EQBEYGCgp0+/FxkZKW6++Wbx4osvivfee0/8+c9/FpIkib/85S/n3e/Zq6U+++yz87Y7e7VUSUlJvXWpqakCgBg9erT497//Ld5++23xt7/9TSQlJYmXXnrJ0+7slV9jxowR//3vf8UjjzwigoODRdeuXS94tVRGRoYICAgQYWFhYt68eeLdd98Vf//730VycrKnzY4dOwQAMWXKFPHRRx+JTz/9VFRXV7dJjUQdHcPNGX8MN998840AIPz9/b0eGo1G3HzzzUIIIQoKCkRSUpJ47LHHRHp6utiyZYsYP368mDhxotclnERNNW3aNGEwGITVaj1nm7vvvltotVpRWloqhBCirKxMzJkzR8TFxQmdTic6deokZs2a5VkvhBBffvml6NOnj9BoNPV+YF955RURFxcn9Hq9GDNmjNi1a1e9S8FlWRYvvPCCSEhIEHq9XgwaNEh88803YtasWS0KNxaLRRiNRgFAfPLJJ/XWP/fcc2L48OEiODhYGI1G0atXL/H8888Lh8Nx3v22RrgRQogvvvhCXHbZZZ5/B3r16iUeeughcfToUa92b731lujSpYvQ6/Vi6NChYuvWrfXew4bCjRBCHDhwQFx//fUiODhYGAwG0bNnT/Hkk096tXn22WdFXFycUKlU9S4Lb80aiTo6SYg/HMe8REmShNWrV3sOh69YsQJ33HEHDh48WG+QXkBAAKKjo/Hkk09i3bp12Llzp2fd6dOnER8fj7S0NIwcObI9u0BERES4xAcUn8+gQYPgdrtRXFzsmc31j2w2m2cg8Vlng5Asy21eIxEREdV3SQ8orq6uRkZGBjIyMgDUXdqdkZGBnJwc9OjRA3fccQdmzpyJVatWISsrCzt27EBqairWrl0LAJg6dSp27tyJZ555BsePH0d6ejpmz56NhIQEDBo0yIc9IyIiunRd0qelNm/e7Jn59fdmzZqFpUuXwul04rnnnsNHH32EvLw8hIeHY+TIkViwYAH69+8PAFi+fDn+/e9/49ixY/Dz88OoUaPw4osvolevXu3dHSIiIsIlHm6IiIhIeS7p01JERESkPAw3REREpCiX3NVSsiwjPz8fgYGBrXq3ZCIiImo7QghUVVUhNja23pXKf3TJhZv8/HzEx8f7ugwiIiJqhtzcXHTq1Om8bS65cBMYGAig7s0JCgrycTVERETUGBaLBfHx8Z7f8fO55MLN2VNRQUFBDDdEREQdTGOGlHBAMRERESkKww0REREpCsMNERERKQrDDRERESkKww0REREpCsMNERERKQrDDRERESkKww0REREpCsMNERERKcolN0MxERERtS5ZlpF9IBeH0o6iKKcUBqMOPYZ1R+8RSQgI9m/3ehhuiIiIqNlkWcbmFT/j17XpcNQ64RdohMvhwvE9Wdi3+SCufWgyIjqFtWtNDDdERETUbIfSjiHtq10ICguCKfy3m1q6XW7kHM7D+iU/4ra/z4BarW63mjjmhoiIiJpFCIF9Ww4CkLyCDQCoNWrEdI1CzuE85BzOa9e6GG6IiIioWWxVNSjMLkFQWGCD6w3+ejgdLpTklrVrXQw3RERE1CwqlQSVSoKQ5QbXCyEAAUgqqX3ratdXIyIiIsUw+BsQ3ysOlaWWBtfbLDUw+OsR0zWqXetiuCEiIqJmkSQJyRP6Qm/UoTi3tO5IzRl2mx2F2cXoPigRcd2j27UuXi1FREREzdYtORFX3jUem1duR9b+HGh0GsguN1QaNXqPTMJVd18OSWrf01IMN0RERNRskiRhcMoAdO7TCcd2ZqKsoAJ6ow6J/eLRpX9naHXadq+J4YaIiIhaLDw2FOHXhfq6DAAcc0NEREQKw3BDREREisJwQ0RERIrCcENERESKwnBDREREisJwQ0RERIrCcENERESKwnBDREREisJwQ0RERIrCcENERESK4tNws3XrVkybNg2xsbGQJAlr1qy54DabN2/G4MGDodfr0b17dyxdurTN6yQiIqKOw6fhxmq1Ijk5GQsXLmxU+6ysLEydOhWXX345MjIy8Ne//hX33Xcf1q9f38aVEhERUUfh0xtnXn311bj66qsb3X7RokXo0qULXnnlFQBA7969sW3bNrz22muYNGlSW5VJREREHUiHGnOTlpaGlJQUr2WTJk1CWlraObex2+2wWCxeDyIiIlKuDhVuCgsLERUV5bUsKioKFosFNTU1DW6TmpoKk8nkecTHx7dHqUREROQjHSrcNMe8efNgNps9j9zcXF+XRERERG3Ip2Numio6OhpFRUVey4qKihAUFASj0djgNnq9Hnq9vj3KIyIiootAhzpyM2rUKGzcuNFr2YYNGzBq1CgfVUREREQXG5+Gm+rqamRkZCAjIwNA3aXeGRkZyMnJAVB3SmnmzJme9g888ABOnjyJv/3tbzhy5AjeeustrFy5Eo888ogvyiciIqKLkE/Dza5duzBo0CAMGjQIADB37lwMGjQITz31FACgoKDAE3QAoEuXLli7di02bNiA5ORkvPLKK3j//fd5GTgRERF5SEII4esi2pPFYoHJZILZbEZQUJCvyyEiIqJGaMrvd4cac0NERER0IQw3REREpCgMN0RERKQoDDdERESkKAw3REREpCgMN0RERKQoDDdERESkKAw3REREpCgMN0RERKQoDDdERESkKAw3REREpCgMN0RERKQoDDdERESkKAw3REREpCgMN0RERKQoDDdERESkKAw3REREpCgMN0RERKQoDDdERESkKAw3REREpCgMN0RERKQoDDdERESkKAw3REREpCgMN0RERKQoDDdERESkKAw3REREpCgMN0RERKQoDDdERESkKAw3REREpCgMN0RERKQoDDdERESkKAw3REREpCgMN0RERKQoDDdERESkKAw3REREpCgMN0RERKQoDDdERESkKAw3REREpCgMN0RERKQoDDdERESkKAw3REREpCgMN0RERKQoDDdERESkKAw3REREpCgMN0RERKQoDDdERESkKAw3REREpCgMN0RERKQoDDdERESkKAw3REREpCgMN0RERKQoDDdERESkKD4PNwsXLkRiYiIMBgNGjBiBHTt2nLf966+/jp49e8JoNCI+Ph6PPPIIamtr26laIiIiutj5NNysWLECc+fOxfz585Geno7k5GRMmjQJxcXFDbb/v//7PzzxxBOYP38+Dh8+jA8++AArVqzA3//+93aunIiIiC5WPg03r776Ku6//37Mnj0bffr0waJFi+Dn54fFixc32H779u0YM2YMbr/9diQmJuKqq67CbbfddsGjPURERHTp8Fm4cTgc2L17N1JSUn4rRqVCSkoK0tLSGtxm9OjR2L17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FeeUorrCClN4YIPrTRFBqCgyo7ywsn0LIyIiUrhmhRuXy4UjR47UW37kyBHIstziopTg7CXx57oYTQgBSLx0noiIqLU162qp2bNn495770VmZiaGDx8OAPj111/xr3/9C7Nnz27VAjuqqMQIBIYGwFxShZAoU731lcVmhMWEIDQmuP2LIyIiUrBmhZuXX34Z0dHReOWVV1BQUAAAiImJwWOPPYb//d//bdUCO6rgCBP6jemJ7V/ugsFfD2OAwbPOUlYFR60DgyYO4NVSRERErazFk/hZLBYA6DADidtzEr8aay3WffAjDqUdhdvphkanhcPuhMFfh6FXJuPy2y6DWsO5boiIiC6kXSbxc7lc2Lx5MzIzM3H77bcDAPLz8xEUFISAgIDm7lZRjP4GXPv/JqH/uN44kX4S1ZU2BEea0HNYN8QlxUClataQJyIiIjqPZoWbU6dOYfLkycjJyYHdbseVV16JwMBAvPjii7Db7Vi0aFFr19lhqTVqdB/YBd0HdvF1KURERJeEZh06ePjhhzF06FBUVFTAaDR6ll9//fXYuHFjqxVHRERE1FTNOnLz008/Yfv27dDpvCefS0xMRF5eXqsURkRERNQczTpyI8sy3G53veWnT59GYGDDk9YRERERtYdmhZurrroKr7/+uue5JEmorq7G/PnzMWXKlNaqjYiIiKjJmnUpeG5uLiZPngwhBI4fP46hQ4fi+PHjCA8Px9atWxEZGdkWtbaK9rwUnIiIiFpHU36/mz3PjcvlwooVK7B3715UV1dj8ODBuOOOO7wGGF+MGG6IiIg6njYNN06nE7169cI333yD3r17t6hQX2C4ISIi6nia8vvd5DE3Wq0WtbW1zS6OiIiIqC01a0DxQw89hBdffBEul6u16yEiIiJqkWbNc7Nz505s3LgR33//Pfr37w9/f3+v9atWrWqV4oiIiIiaqlnhJjg4GDfccENr10JERETUYk0KN7Is46WXXsKxY8fgcDhwxRVX4Omnn77or5AiIiKiS0eTxtw8//zz+Pvf/46AgADExcXhv//9Lx566KG2qo2IiIioyZoUbj766CO89dZbWL9+PdasWYOvv/4ay5YtgyzLbVUfERERUZM0Kdzk5OR43V4hJSUFkiQhPz+/1QsjIiIiao4mhRuXywWDweC1TKvVwul0tmpRRERERM3VpAHFQgjcfffd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PDzc8w/nhAkTcOrUKTzyyCOew9dA3aHtgQMHeu3j9ddfR2Jiouf5zp07ceWVVyI8PBwmkwnjx49Henp6W3aT6JI3Z84cpKWlYfny5di3bx9uuukmTJ48GcePH2+w/fvvv48ePXpg7NixTXodhhsi8rmVK1eiV69e6NmzJ+68804sXrwYZ297t3btWlx//fWYMmUK9uzZg40bN2L48OEAgFWrVqFTp0545plnPIewG6uqqgqzZs3Ctm3b8MsvvyApKQlTpkxBVVVVm/SR6FKXk5ODJUuW4LPPPsPYsWPRrVs3PProo7jsssuwZMmSeu1ra2uxbNmyJh+1AQBNaxRMRNQSH3zwAe68804AwOTJk2E2m7FlyxZMmDABzz//PG699VYsWLDA0z45ORkAEBoaCrVajcDAQERHRzfpNa+44gqv5++++y6Cg4OxZcsWXHPNNS3sERH90f79++F2u9GjRw+v5Xa7HWFhYfXar1692vOfkKZiuCEinzp69Ch27NiB1atXAwA0Gg1uueUWfPDBB5gwYQIyMjJw//33t/rrFhUV4Z///Cc2b96M4uJiuN1u2Gw25OTktPprEVHd6We1Wo3du3dDrVZ7rQsICKjX/v3338c111yDqKioJr8Www0R+dQHH3wAl8uF2NhYzzIhBPR6Pd58800YjcYm71OlUnlOa53ldDq9ns+aNQtlZWX4z3/+g4SEBOj1eowaNQoOh6N5HSGi8xo0aBDcbjeKi4svOIYmKysLmzZtwldffdWs12K4ISKfcblc+Oijj/DKK6/gqquu8lo3ffp0fPrppxgwYAA2btyI2bNnN7gPnU4Ht9vttSwiIgKFhYUQQngGGWdkZHi1+fnnn/HWW29hypQpAIDc3FyUlpa2Us+ILk3V1dU4ceKE53lWVhYyMjIQGhqKHj164I477sDMmTPxyiuvYNCgQSgpKcHGjRsxYMAAr2kgFi9ejJiYGFx99dXNqoPhhoh85ptvvkFFRQXuvfdemEwmr3U33HADPvjgA7z00kuYOHEiunXrhltvvRUulwvffvstHn/8cQB189xs3boVt956K/R6PcLDwzFhwgSUlJTg3//+N2688UasW7cO3333HYKCgjz7T0pKwscff4yhQ4fCYrHgsccea9ZRIiL6za5du3D55Zd7ns+dOxdA3ZHSpUuXYsmSJXjuuefwv//7v8jLy0N4eDhGjhzpNc5NlmUsXboUd999d73TV40miIh85JprrhFTpkxpcN2vv/4qAIi9e/eKL774QgwcOFDodDoRHh4uZsyY4WmXlpYmBgwYIPR6vfj9P2lvv/22iI+PF/7+/mLmzJni+eefFwkJCZ716enpYujQocJgMIikpCTx2WefiYSEBPHaa6952gAQq1evbu1uE1Ebk4T4w4lpIiIiog6M89wQERGRojDcEBERkaIw3BAREZGiMNwQERGRojDcEBERkaIw3BAREZGiMNwQERGRojDcEBERkaIw3BAREZGiMNwQERGRojDcEBERkaIw3BAREZGi/H90UJbSzh8H3QAAAABJRU5ErkJggg==",
|
|
"text/plain": [
|
|
"<Figure size 640x480 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"plt.scatter(y_test, y_pred, alpha=0.5, c=color_column_test, cmap='viridis')\n",
|
|
"plt.xlabel('Actual')\n",
|
|
"plt.ylabel('Predicted')\n",
|
|
"plt.title('Actual vs Predicted')\n",
|
|
"\n",
|
|
"# plt.xlim(0, max(max(y_test), max(y_pred)))\n",
|
|
"# plt.ylim(0, max(max(y_test), max(y_pred)))\n",
|
|
"\n",
|
|
"# plt.xlim(0, 3*10**7)\n",
|
|
"# plt.ylim(0, 3*10**7)\n",
|
|
"\n",
|
|
"# plt.xlim(0, 3*10**6)\n",
|
|
"# plt.ylim(0, 3*10**6)\n",
|
|
"\n",
|
|
"# plt.xlim(0, 3*10**5)\n",
|
|
"# plt.ylim(0, 3*10**5)\n",
|
|
"\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 84,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Gmina_wiejska 0.135239\n",
|
|
"Wojewodztwo_Dolnoslaskie 0.089233\n",
|
|
"Dochody_podatek_rolny 0.066759\n",
|
|
"Saldo_migracji_na_1000_ludnosci 0.059790\n",
|
|
"Zmiana_liczby_ludnosci 0.051100\n",
|
|
"Wojewodztwo_Warminsko_Mazurskie 0.047088\n",
|
|
"Wojewodztwo_Pomorskie 0.043228\n",
|
|
"Wojewodztwo_Opolskie 0.019902\n",
|
|
"Odleglosc_Warszawa 0.018391\n",
|
|
"Saldo_migracji 0.010109\n",
|
|
"Wojewodztwo_Mazowieckie 0.008000\n",
|
|
"Turysci_ogolem 0.007569\n",
|
|
"Turysci_zagraniczni 0.005412\n",
|
|
"Wojewodztwo_Podkarpackie -0.001333\n",
|
|
"Odleglosc_od_centrum_decyzyjnego -0.002845\n",
|
|
"Wplywy_z_oplaty_eksploatacyjnej -0.007789\n",
|
|
"Wojewodztwo_Swietokrzyskie -0.008502\n",
|
|
"Wojewodztwo_Zachodniopomorskie -0.009058\n",
|
|
"Powierzchnia -0.011699\n",
|
|
"Wojewodztwo_Slaskie -0.013926\n",
|
|
"Wojewodztwo_Lubelskie -0.014264\n",
|
|
"Obiekty_ogolem -0.015279\n",
|
|
"Wojewodztwo_Lubuskie -0.016251\n",
|
|
"Miejsca_noclegowe_ogolem -0.018215\n",
|
|
"Wojewodztwo_Podlaskie -0.019896\n",
|
|
"Dochody_podatek_PCC -0.020018\n",
|
|
"Dochody_podatek_od_spadkow -0.020339\n",
|
|
"Udzialy_w_podatkach_dochodowych_od_osob_prywatnych -0.020362\n",
|
|
"Name: Suma, dtype: float64\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"correlation_matrix = df_data.corr()\n",
|
|
"print(correlation_matrix['Suma'].sort_values(ascending=False)[1:29])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 85,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"|--- Wplywy_z_oplaty_eksploatacyjnej <= -7751.83\n",
|
|
"| |--- value: [132625880.92]\n",
|
|
"|--- Wplywy_z_oplaty_eksploatacyjnej > -7751.83\n",
|
|
"| |--- Wplywy_z_oplaty_skarbowej <= 4494.45\n",
|
|
"| | |--- Wplywy_z_oplaty_skarbowej <= 4164.20\n",
|
|
"| | | |--- Gestosc_zaludnienia <= 0.04\n",
|
|
"| | | | |--- Odleglosc_Warszawa <= 366.00\n",
|
|
"| | | | | |--- Ludnosc_kobiety_w_wieku_przedprodukcyjnym <= 160.50\n",
|
|
"| | | | | | |--- value: [4988446.69]\n",
|
|
"| | | | | |--- Ludnosc_kobiety_w_wieku_przedprodukcyjnym > 160.50\n",
|
|
"| | | | | | |--- Ludnosc_w_wieku_produkcyjnym <= 1453.50\n",
|
|
"| | | | | | | |--- value: [8029322.26]\n",
|
|
"| | | | | | |--- Ludnosc_w_wieku_produkcyjnym > 1453.50\n",
|
|
"| | | | | | | |--- value: [7792324.25]\n",
|
|
"| | | | |--- Odleglosc_Warszawa > 366.00\n",
|
|
"| | | | | |--- Dochody_podatek_lesny <= 283601.20\n",
|
|
"| | | | | | |--- value: [223720.88]\n",
|
|
"| | | | | |--- Dochody_podatek_lesny > 283601.20\n",
|
|
"| | | | | | |--- value: [147649.40]\n",
|
|
"| | | |--- Gestosc_zaludnienia > 0.04\n",
|
|
"| | | | |--- value: [40325441.22]\n",
|
|
"| | |--- Wplywy_z_oplaty_skarbowej > 4164.20\n",
|
|
"| | | |--- value: [106444841.13]\n",
|
|
"| |--- Wplywy_z_oplaty_skarbowej > 4494.45\n",
|
|
"| | |--- Wplywy_z_oplaty_skarbowej <= 12330.00\n",
|
|
"| | | |--- Dochody_podatek_lesny <= 1523.00\n",
|
|
"| | | | |--- value: [50040444.36]\n",
|
|
"| | | |--- Dochody_podatek_lesny > 1523.00\n",
|
|
"| | | | |--- Dochody_z_najmu_i_dzierzawy <= 339230.50\n",
|
|
"| | | | | |--- Bezrobotni_do_25_roku_zycia <= 41.25\n",
|
|
"| | | | | | |--- Dochody_podatek_od_srodkow_transportowych <= 136790.07\n",
|
|
"| | | | | | | |--- Zameldowania_ze_wsi_kobiety <= 5.50\n",
|
|
"| | | | | | | | |--- Dochody_razem <= 5335600.25\n",
|
|
"| | | | | | | | | |--- Wojewodztwo_Podkarpackie <= 0.50\n",
|
|
"| | | | | | | | | | |--- Dochody_z_majatku <= 98626.36\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 3\n",
|
|
"| | | | | | | | | | |--- Dochody_z_majatku > 98626.36\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 5\n",
|
|
"| | | | | | | | | |--- Wojewodztwo_Podkarpackie > 0.50\n",
|
|
"| | | | | | | | | | |--- Wynagrodzenie_w_relacji_do_sredniej <= 81.20\n",
|
|
"| | | | | | | | | | | |--- value: [1029930.53]\n",
|
|
"| | | | | | | | | | |--- Wynagrodzenie_w_relacji_do_sredniej > 81.20\n",
|
|
"| | | | | | | | | | | |--- value: [674809.87]\n",
|
|
"| | | | | | | | |--- Dochody_razem > 5335600.25\n",
|
|
"| | | | | | | | | |--- Wplywy_z_oplaty_skarbowej <= 10500.50\n",
|
|
"| | | | | | | | | | |--- Udzialy_w_podatkach_dochodowych_od_osob_fizycznych <= 2211601.00\n",
|
|
"| | | | | | | | | | | |--- value: [2852332.52]\n",
|
|
"| | | | | | | | | | |--- Udzialy_w_podatkach_dochodowych_od_osob_fizycznych > 2211601.00\n",
|
|
"| | | | | | | | | | | |--- value: [3787927.89]\n",
|
|
"| | | | | | | | | |--- Wplywy_z_oplaty_skarbowej > 10500.50\n",
|
|
"| | | | | | | | | | |--- Udzialy_w_podatkach_dochodowych_razem <= 1245524.19\n",
|
|
"| | | | | | | | | | | |--- value: [2301238.08]\n",
|
|
"| | | | | | | | | | |--- Udzialy_w_podatkach_dochodowych_razem > 1245524.19\n",
|
|
"| | | | | | | | | | | |--- value: [1142691.81]\n",
|
|
"| | | | | | | |--- Zameldowania_ze_wsi_kobiety > 5.50\n",
|
|
"| | | | | | | | |--- Dochody_podatek_lesny <= 16527.95\n",
|
|
"| | | | | | | | | |--- Dlugotrwale_bezrobotni <= 97.25\n",
|
|
"| | | | | | | | | | |--- Saldo_migracji_na_1000_ludnosci <= -1.20\n",
|
|
"| | | | | | | | | | | |--- value: [214308.91]\n",
|
|
"| | | | | | | | | | |--- Saldo_migracji_na_1000_ludnosci > -1.20\n",
|
|
"| | | | | | | | | | | |--- value: [248413.49]\n",
|
|
"| | | | | | | | | |--- Dlugotrwale_bezrobotni > 97.25\n",
|
|
"| | | | | | | | | | |--- Zameldowania_ze_wsi_ogolem <= 19.50\n",
|
|
"| | | | | | | | | | | |--- value: [886572.54]\n",
|
|
"| | | | | | | | | | |--- Zameldowania_ze_wsi_ogolem > 19.50\n",
|
|
"| | | | | | | | | | | |--- value: [1011703.86]\n",
|
|
"| | | | | | | | |--- Dochody_podatek_lesny > 16527.95\n",
|
|
"| | | | | | | | | |--- Zameldowania_ze_wsi_ogolem <= 9.00\n",
|
|
"| | | | | | | | | | |--- value: [621811.99]\n",
|
|
"| | | | | | | | | |--- Zameldowania_ze_wsi_ogolem > 9.00\n",
|
|
"| | | | | | | | | | |--- Bezrobotni_do_25_roku_zycia <= 13.75\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 3\n",
|
|
"| | | | | | | | | | |--- Bezrobotni_do_25_roku_zycia > 13.75\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 8\n",
|
|
"| | | | | | |--- Dochody_podatek_od_srodkow_transportowych > 136790.07\n",
|
|
"| | | | | | | |--- Wplywy_z_oplaty_skarbowej <= 9809.35\n",
|
|
"| | | | | | | | |--- Zameldowania_z_miast_ogolem <= 10.00\n",
|
|
"| | | | | | | | | |--- value: [1080165.70]\n",
|
|
"| | | | | | | | |--- Zameldowania_z_miast_ogolem > 10.00\n",
|
|
"| | | | | | | | | |--- Ludnosc_kobiety_w_wieku_przedprodukcyjnym <= 481.00\n",
|
|
"| | | | | | | | | | |--- Odleglosc_Warszawa <= 211.00\n",
|
|
"| | | | | | | | | | | |--- value: [3043529.06]\n",
|
|
"| | | | | | | | | | |--- Odleglosc_Warszawa > 211.00\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 2\n",
|
|
"| | | | | | | | | |--- Ludnosc_kobiety_w_wieku_przedprodukcyjnym > 481.00\n",
|
|
"| | | | | | | | | | |--- value: [4041277.35]\n",
|
|
"| | | | | | | |--- Wplywy_z_oplaty_skarbowej > 9809.35\n",
|
|
"| | | | | | | | |--- Zameldowania_z_miast_kobiety <= 7.50\n",
|
|
"| | | | | | | | | |--- Wymeldowania_do_miast_kobiety <= 10.00\n",
|
|
"| | | | | | | | | | |--- value: [46813.47]\n",
|
|
"| | | | | | | | | |--- Wymeldowania_do_miast_kobiety > 10.00\n",
|
|
"| | | | | | | | | | |--- value: [24882.08]\n",
|
|
"| | | | | | | | |--- Zameldowania_z_miast_kobiety > 7.50\n",
|
|
"| | | | | | | | | |--- value: [325058.08]\n",
|
|
"| | | | | |--- Bezrobotni_do_25_roku_zycia > 41.25\n",
|
|
"| | | | | | |--- Dochody_podatek_od_srodkow_transportowych <= 117939.96\n",
|
|
"| | | | | | | |--- Bezrobotne_kobiety <= 86.25\n",
|
|
"| | | | | | | | |--- value: [24414621.52]\n",
|
|
"| | | | | | | |--- Bezrobotne_kobiety > 86.25\n",
|
|
"| | | | | | | | |--- Wplywy_z_oplaty_skarbowej <= 12039.50\n",
|
|
"| | | | | | | | | |--- Dochody_z_majatku <= 214076.80\n",
|
|
"| | | | | | | | | | |--- Gestosc_zaludnienia <= 0.05\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 5\n",
|
|
"| | | | | | | | | | |--- Gestosc_zaludnienia > 0.05\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 2\n",
|
|
"| | | | | | | | | |--- Dochody_z_majatku > 214076.80\n",
|
|
"| | | | | | | | | | |--- Ludnosc_w_wieku_przedprodukcyjnym <= 949.50\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 2\n",
|
|
"| | | | | | | | | | |--- Ludnosc_w_wieku_przedprodukcyjnym > 949.50\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 3\n",
|
|
"| | | | | | | | |--- Wplywy_z_oplaty_skarbowej > 12039.50\n",
|
|
"| | | | | | | | | |--- Dochody_razem <= 3644725.12\n",
|
|
"| | | | | | | | | | |--- value: [5361057.90]\n",
|
|
"| | | | | | | | | |--- Dochody_razem > 3644725.12\n",
|
|
"| | | | | | | | | | |--- value: [18697761.43]\n",
|
|
"| | | | | | |--- Dochody_podatek_od_srodkow_transportowych > 117939.96\n",
|
|
"| | | | | | | |--- Dochody_podatek_od_spadkow <= 6327.20\n",
|
|
"| | | | | | | | |--- Wymeldowania_do_miast_ogolem <= 31.00\n",
|
|
"| | | | | | | | | |--- value: [6925131.43]\n",
|
|
"| | | | | | | | |--- Wymeldowania_do_miast_ogolem > 31.00\n",
|
|
"| | | | | | | | | |--- value: [5923600.26]\n",
|
|
"| | | | | | | |--- Dochody_podatek_od_spadkow > 6327.20\n",
|
|
"| | | | | | | | |--- Wplywy_z_oplaty_skarbowej <= 9480.40\n",
|
|
"| | | | | | | | | |--- value: [16479146.65]\n",
|
|
"| | | | | | | | |--- Wplywy_z_oplaty_skarbowej > 9480.40\n",
|
|
"| | | | | | | | | |--- Ludnosc_mezczyzni <= 2635.00\n",
|
|
"| | | | | | | | | | |--- value: [19699871.32]\n",
|
|
"| | | | | | | | | |--- Ludnosc_mezczyzni > 2635.00\n",
|
|
"| | | | | | | | | | |--- Ludnosc_w_wieku_produkcyjnym_mobilnym <= 2553.00\n",
|
|
"| | | | | | | | | | | |--- value: [22040295.43]\n",
|
|
"| | | | | | | | | | |--- Ludnosc_w_wieku_produkcyjnym_mobilnym > 2553.00\n",
|
|
"| | | | | | | | | | | |--- value: [21309790.37]\n",
|
|
"| | | | |--- Dochody_z_najmu_i_dzierzawy > 339230.50\n",
|
|
"| | | | | |--- Wojewodztwo_Dolnoslaskie <= 0.50\n",
|
|
"| | | | | | |--- Miejsca_noclegowe_caloroczne <= 660.50\n",
|
|
"| | | | | | | |--- value: [2072547.09]\n",
|
|
"| | | | | | |--- Miejsca_noclegowe_caloroczne > 660.50\n",
|
|
"| | | | | | | |--- value: [22537878.79]\n",
|
|
"| | | | | |--- Wojewodztwo_Dolnoslaskie > 0.50\n",
|
|
"| | | | | | |--- value: [64551082.93]\n",
|
|
"| | |--- Wplywy_z_oplaty_skarbowej > 12330.00\n",
|
|
"| | | |--- Wymeldowania_na_wies_ogolem <= 40.50\n",
|
|
"| | | | |--- Dochody_podatek_lesny <= 19.50\n",
|
|
"| | | | | |--- Udzialy_w_podatkach_dochodowych_razem <= 2733850.38\n",
|
|
"| | | | | | |--- value: [70149861.07]\n",
|
|
"| | | | | |--- Udzialy_w_podatkach_dochodowych_razem > 2733850.38\n",
|
|
"| | | | | | |--- value: [3008745.87]\n",
|
|
"| | | | |--- Dochody_podatek_lesny > 19.50\n",
|
|
"| | | | | |--- Saldo_migracji_na_1000_ludnosci <= 20.00\n",
|
|
"| | | | | | |--- Wplywy_z_oplaty_targowej <= 1082589.50\n",
|
|
"| | | | | | | |--- Wojewodztwo_Opolskie <= 0.50\n",
|
|
"| | | | | | | | |--- Turysci_zagraniczni <= 463.50\n",
|
|
"| | | | | | | | | |--- Gestosc_zaludnienia <= 0.21\n",
|
|
"| | | | | | | | | | |--- Bezrobotni_do_25_roku_zycia <= 136.00\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 44\n",
|
|
"| | | | | | | | | | |--- Bezrobotni_do_25_roku_zycia > 136.00\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 7\n",
|
|
"| | | | | | | | | |--- Gestosc_zaludnienia > 0.21\n",
|
|
"| | | | | | | | | | |--- Ludnosc_na_1_km2 <= 225.60\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 2\n",
|
|
"| | | | | | | | | | |--- Ludnosc_na_1_km2 > 225.60\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 15\n",
|
|
"| | | | | | | | |--- Turysci_zagraniczni > 463.50\n",
|
|
"| | | | | | | | | |--- Odleglosc_od_centrum_decyzyjnego <= 37.50\n",
|
|
"| | | | | | | | | | |--- Obiekty_ogolem <= 2.00\n",
|
|
"| | | | | | | | | | | |--- value: [3322716.84]\n",
|
|
"| | | | | | | | | | |--- Obiekty_ogolem > 2.00\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 4\n",
|
|
"| | | | | | | | | |--- Odleglosc_od_centrum_decyzyjnego > 37.50\n",
|
|
"| | | | | | | | | | |--- Dochody_razem <= 28685472.00\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 6\n",
|
|
"| | | | | | | | | | |--- Dochody_razem > 28685472.00\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 2\n",
|
|
"| | | | | | | |--- Wojewodztwo_Opolskie > 0.50\n",
|
|
"| | | | | | | | |--- Wplywy_z_oplaty_skarbowej <= 16267.00\n",
|
|
"| | | | | | | | | |--- value: [29647883.87]\n",
|
|
"| | | | | | | | |--- Wplywy_z_oplaty_skarbowej > 16267.00\n",
|
|
"| | | | | | | | | |--- Wynagrodzenie_ogolem <= 4434.15\n",
|
|
"| | | | | | | | | | |--- Wymeldowania_na_wies_ogolem <= 36.00\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 5\n",
|
|
"| | | | | | | | | | |--- Wymeldowania_na_wies_ogolem > 36.00\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 2\n",
|
|
"| | | | | | | | | |--- Wynagrodzenie_ogolem > 4434.15\n",
|
|
"| | | | | | | | | | |--- value: [11839160.68]\n",
|
|
"| | | | | | |--- Wplywy_z_oplaty_targowej > 1082589.50\n",
|
|
"| | | | | | | |--- value: [16775284.13]\n",
|
|
"| | | | | |--- Saldo_migracji_na_1000_ludnosci > 20.00\n",
|
|
"| | | | | | |--- Gestosc_zaludnienia <= 0.12\n",
|
|
"| | | | | | | |--- value: [68031871.39]\n",
|
|
"| | | | | | |--- Gestosc_zaludnienia > 0.12\n",
|
|
"| | | | | | | |--- Wymeldowania_na_wies_mezczyzni <= 14.50\n",
|
|
"| | | | | | | | |--- value: [464820.26]\n",
|
|
"| | | | | | | |--- Wymeldowania_na_wies_mezczyzni > 14.50\n",
|
|
"| | | | | | | | |--- Dochody_dofinansowanie_inwestycyjne <= 137616.73\n",
|
|
"| | | | | | | | | |--- Miejsca_noclegowe_ogolem <= 678.50\n",
|
|
"| | | | | | | | | | |--- value: [17985.39]\n",
|
|
"| | | | | | | | | |--- Miejsca_noclegowe_ogolem > 678.50\n",
|
|
"| | | | | | | | | | |--- value: [6263.24]\n",
|
|
"| | | | | | | | |--- Dochody_dofinansowanie_inwestycyjne > 137616.73\n",
|
|
"| | | | | | | | | |--- value: [121229.11]\n",
|
|
"| | | |--- Wymeldowania_na_wies_ogolem > 40.50\n",
|
|
"| | | | |--- Dochody_podatek_rolny <= 3770956.12\n",
|
|
"| | | | | |--- Turysci_ogolem <= 13.50\n",
|
|
"| | | | | | |--- Wynagrodzenie_w_relacji_do_sredniej <= 165.65\n",
|
|
"| | | | | | | |--- Ludnosc_w_wieku_poprodukcyjnym <= 5203.00\n",
|
|
"| | | | | | | | |--- Powierzchnia <= 65.50\n",
|
|
"| | | | | | | | | |--- Wplywy_z_oplaty_eksploatacyjnej <= 40867.03\n",
|
|
"| | | | | | | | | | |--- Wymeldowania_na_wies_kobiety <= 19.50\n",
|
|
"| | | | | | | | | | | |--- value: [6666654.80]\n",
|
|
"| | | | | | | | | | |--- Wymeldowania_na_wies_kobiety > 19.50\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 22\n",
|
|
"| | | | | | | | | |--- Wplywy_z_oplaty_eksploatacyjnej > 40867.03\n",
|
|
"| | | | | | | | | | |--- Zameldowania_ze_wsi_kobiety <= 43.00\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 3\n",
|
|
"| | | | | | | | | | |--- Zameldowania_ze_wsi_kobiety > 43.00\n",
|
|
"| | | | | | | | | | | |--- value: [11683460.24]\n",
|
|
"| | | | | | | | |--- Powierzchnia > 65.50\n",
|
|
"| | | | | | | | | |--- Wymeldowania_mezczyzni <= 29.50\n",
|
|
"| | | | | | | | | | |--- Wynagrodzenie_w_relacji_do_sredniej <= 93.20\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 9\n",
|
|
"| | | | | | | | | | |--- Wynagrodzenie_w_relacji_do_sredniej > 93.20\n",
|
|
"| | | | | | | | | | | |--- value: [4982057.07]\n",
|
|
"| | | | | | | | | |--- Wymeldowania_mezczyzni > 29.50\n",
|
|
"| | | | | | | | | | |--- Ludnosc_mezczyzni_w_wieku_poprodukcyjnym <= 378.00\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 7\n",
|
|
"| | | | | | | | | | |--- Ludnosc_mezczyzni_w_wieku_poprodukcyjnym > 378.00\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 33\n",
|
|
"| | | | | | | |--- Ludnosc_w_wieku_poprodukcyjnym > 5203.00\n",
|
|
"| | | | | | | | |--- Gestosc_zaludnienia <= 3.92\n",
|
|
"| | | | | | | | | |--- Dochody_podatek_od_spadkow <= 45949.58\n",
|
|
"| | | | | | | | | | |--- Zameldowania_ze_wsi_kobiety <= 63.50\n",
|
|
"| | | | | | | | | | | |--- value: [18388.43]\n",
|
|
"| | | | | | | | | | |--- Zameldowania_ze_wsi_kobiety > 63.50\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 3\n",
|
|
"| | | | | | | | | |--- Dochody_podatek_od_spadkow > 45949.58\n",
|
|
"| | | | | | | | | | |--- Wynagrodzenie_ogolem <= 3913.81\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 20\n",
|
|
"| | | | | | | | | | |--- Wynagrodzenie_ogolem > 3913.81\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 27\n",
|
|
"| | | | | | | | |--- Gestosc_zaludnienia > 3.92\n",
|
|
"| | | | | | | | | |--- value: [2622969.18]\n",
|
|
"| | | | | | |--- Wynagrodzenie_w_relacji_do_sredniej > 165.65\n",
|
|
"| | | | | | | |--- value: [8790189.40]\n",
|
|
"| | | | | |--- Turysci_ogolem > 13.50\n",
|
|
"| | | | | | |--- Udzialy_w_podatkach_dochodowych_od_osob_prywatnych <= 75710.72\n",
|
|
"| | | | | | | |--- Ludnosc_mezczyzni_w_wieku_produkcyjnym <= 5607.50\n",
|
|
"| | | | | | | | |--- Zmiana_liczby_ludnosci <= -0.40\n",
|
|
"| | | | | | | | | |--- Dochody_podatek_rolny <= 1097191.50\n",
|
|
"| | | | | | | | | | |--- Bezrobotni_mezczyzni <= 481.25\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 3\n",
|
|
"| | | | | | | | | | |--- Bezrobotni_mezczyzni > 481.25\n",
|
|
"| | | | | | | | | | | |--- value: [2808492.26]\n",
|
|
"| | | | | | | | | |--- Dochody_podatek_rolny > 1097191.50\n",
|
|
"| | | | | | | | | | |--- Dochody_z_majatku <= 1013837.62\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 2\n",
|
|
"| | | | | | | | | | |--- Dochody_z_majatku > 1013837.62\n",
|
|
"| | | | | | | | | | | |--- value: [1853128.66]\n",
|
|
"| | | | | | | | |--- Zmiana_liczby_ludnosci > -0.40\n",
|
|
"| | | | | | | | | |--- Zameldowania_ogolem <= 213.50\n",
|
|
"| | | | | | | | | | |--- Bezrobotni_do_25_roku_zycia <= 120.50\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 4\n",
|
|
"| | | | | | | | | | |--- Bezrobotni_do_25_roku_zycia > 120.50\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 5\n",
|
|
"| | | | | | | | | |--- Zameldowania_ogolem > 213.50\n",
|
|
"| | | | | | | | | | |--- value: [3185548.45]\n",
|
|
"| | | | | | | |--- Ludnosc_mezczyzni_w_wieku_produkcyjnym > 5607.50\n",
|
|
"| | | | | | | | |--- Udzialy_w_podatkach_dochodowych_razem <= 6892421.00\n",
|
|
"| | | | | | | | | |--- value: [9530029.04]\n",
|
|
"| | | | | | | | |--- Udzialy_w_podatkach_dochodowych_razem > 6892421.00\n",
|
|
"| | | | | | | | | |--- value: [14823401.88]\n",
|
|
"| | | | | | |--- Udzialy_w_podatkach_dochodowych_od_osob_prywatnych > 75710.72\n",
|
|
"| | | | | | | |--- Wojewodztwo_Opolskie <= 0.50\n",
|
|
"| | | | | | | | |--- Wplywy_z_innych_lokalnych_oplat <= 574419.50\n",
|
|
"| | | | | | | | | |--- Zmiana_liczby_ludnosci <= -6.70\n",
|
|
"| | | | | | | | | | |--- value: [13463381.79]\n",
|
|
"| | | | | | | | | |--- Zmiana_liczby_ludnosci > -6.70\n",
|
|
"| | | | | | | | | | |--- Wplywy_z_innych_lokalnych_oplat <= 532411.44\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 11\n",
|
|
"| | | | | | | | | | |--- Wplywy_z_innych_lokalnych_oplat > 532411.44\n",
|
|
"| | | | | | | | | | | |--- value: [8471241.04]\n",
|
|
"| | | | | | | | |--- Wplywy_z_innych_lokalnych_oplat > 574419.50\n",
|
|
"| | | | | | | | | |--- Dochody_dofinansowanie_inwestycyjne <= 5859619.00\n",
|
|
"| | | | | | | | | | |--- Wynagrodzenie_ogolem <= 2693.92\n",
|
|
"| | | | | | | | | | | |--- value: [4769144.63]\n",
|
|
"| | | | | | | | | | |--- Wynagrodzenie_ogolem > 2693.92\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 31\n",
|
|
"| | | | | | | | | |--- Dochody_dofinansowanie_inwestycyjne > 5859619.00\n",
|
|
"| | | | | | | | | | |--- Zameldowania_z_miast_ogolem <= 205.00\n",
|
|
"| | | | | | | | | | | |--- value: [12127521.41]\n",
|
|
"| | | | | | | | | | |--- Zameldowania_z_miast_ogolem > 205.00\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 6\n",
|
|
"| | | | | | | |--- Wojewodztwo_Opolskie > 0.50\n",
|
|
"| | | | | | | | |--- Odleglosc_Warszawa <= 240.50\n",
|
|
"| | | | | | | | | |--- value: [12432814.85]\n",
|
|
"| | | | | | | | |--- Odleglosc_Warszawa > 240.50\n",
|
|
"| | | | | | | | | |--- Wynagrodzenie_ogolem <= 3246.40\n",
|
|
"| | | | | | | | | | |--- Powierzchnia <= 190.50\n",
|
|
"| | | | | | | | | | | |--- value: [3308256.35]\n",
|
|
"| | | | | | | | | | |--- Powierzchnia > 190.50\n",
|
|
"| | | | | | | | | | | |--- value: [4817436.62]\n",
|
|
"| | | | | | | | | |--- Wynagrodzenie_ogolem > 3246.40\n",
|
|
"| | | | | | | | | | |--- Turysci_ogolem <= 35482.50\n",
|
|
"| | | | | | | | | | | |--- truncated branch of depth 3\n",
|
|
"| | | | | | | | | | |--- Turysci_ogolem > 35482.50\n",
|
|
"| | | | | | | | | | | |--- value: [2447933.22]\n",
|
|
"| | | | |--- Dochody_podatek_rolny > 3770956.12\n",
|
|
"| | | | | |--- value: [9110050.20]\n",
|
|
"\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"print(export_text(model, feature_names=feature_names))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 86,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"0.3143 — Wplywy_z_oplaty_eksploatacyjnej\n",
|
|
"0.2451 — Wplywy_z_oplaty_skarbowej\n",
|
|
"0.0879 — Gestosc_zaludnienia\n",
|
|
"0.0826 — Dochody_podatek_lesny\n",
|
|
"0.0430 — Dochody_z_najmu_i_dzierzawy\n",
|
|
"0.0413 — Udzialy_w_podatkach_dochodowych_razem\n",
|
|
"0.0330 — Wojewodztwo_Dolnoslaskie\n",
|
|
"0.0209 — Ludnosc_na_1_km2\n",
|
|
"0.0137 — Saldo_migracji_na_1000_ludnosci\n",
|
|
"0.0126 — Bezrobotni_do_25_roku_zycia\n",
|
|
"0.0106 — Dochody_podatek_od_srodkow_transportowych\n",
|
|
"0.0085 — Bezrobotne_kobiety\n",
|
|
"0.0081 — Wymeldowania_na_wies_ogolem\n",
|
|
"0.0052 — Odleglosc_od_centrum_decyzyjnego\n",
|
|
"0.0046 — Dochody_podatek_od_spadkow\n",
|
|
"0.0044 — Wplywy_z_oplaty_targowej\n",
|
|
"0.0043 — Wojewodztwo_Opolskie\n",
|
|
"0.0042 — Ludnosc_kobiety_w_wieku_przedprodukcyjnym\n",
|
|
"0.0040 — Dochody_podatek_od_dzialalnosci_gospodarczej\n",
|
|
"0.0039 — Ludnosc_mezczyzni_w_wieku_produkcyjnym\n",
|
|
"0.0038 — Miejsca_noclegowe_caloroczne\n",
|
|
"0.0037 — Odleglosc_Warszawa\n",
|
|
"0.0035 — Dochody_razem\n",
|
|
"0.0030 — Zmiana_liczby_ludnosci\n",
|
|
"0.0028 — Wynagrodzenie_ogolem\n",
|
|
"0.0026 — Dochody_podatek_rolny\n",
|
|
"0.0025 — Turysci_zagraniczni\n",
|
|
"0.0022 — Zameldowania_z_miast_ogolem\n",
|
|
"0.0020 — Wplywy_z_innych_lokalnych_oplat\n",
|
|
"0.0018 — Wynagrodzenie_w_relacji_do_sredniej\n",
|
|
"0.0015 — Udzialy_w_podatkach_dochodowych_od_osob_prywatnych\n",
|
|
"0.0015 — Turysci_ogolem\n",
|
|
"0.0014 — Powierzchnia\n",
|
|
"0.0013 — Obiekty_ogolem\n",
|
|
"0.0012 — Zameldowania_ze_wsi_kobiety\n",
|
|
"0.0012 — Zameldowania_mezczyzni\n",
|
|
"0.0010 — Dochody_z_majatku\n",
|
|
"0.0007 — Wymeldowania_na_wies_kobiety\n",
|
|
"0.0007 — Dlugotrwale_bezrobotni\n",
|
|
"0.0007 — Bezrobotni_ogolem\n",
|
|
"0.0006 — Ludnosc_w_wieku_poprodukcyjnym\n",
|
|
"0.0006 — Dochody_z_uslug\n",
|
|
"0.0005 — Wymeldowania_kobiety\n",
|
|
"0.0005 — Saldo_migracji\n",
|
|
"0.0005 — Wymeldowania_na_wies_mezczyzni\n",
|
|
"0.0004 — Obiekty_caloroczne\n",
|
|
"0.0004 — Wymeldowania_do_miast_kobiety\n",
|
|
"0.0004 — Wymeldowania_mezczyzni\n",
|
|
"0.0004 — Dochody_dofinansowanie_inwestycyjne\n",
|
|
"0.0004 — Ludnosc_kobiety_w_wieku_produkcyjnym\n",
|
|
"0.0003 — Zameldowania_z_miast_mezczyzni\n",
|
|
"0.0003 — Ludnosc_mezczyzni_w_wieku_poprodukcyjnym\n",
|
|
"0.0003 — Zameldowania_ogolem\n",
|
|
"0.0003 — Dochody_podatek_od_nieruchomosci\n",
|
|
"0.0003 — Zameldowania_z_miast_kobiety\n",
|
|
"0.0003 — Ludnosc_w_wieku_produkcyjnym_mobilnym\n",
|
|
"0.0002 — Dochody_podatek_odrebne_ustawy\n",
|
|
"0.0002 — Dochody_podatek_PCC\n",
|
|
"0.0001 — Ludnosc_w_wieku_produkcyjnym_niemobilnym\n",
|
|
"0.0001 — Zameldowania_ze_wsi_ogolem\n",
|
|
"0.0001 — Wymeldowania_ogolem\n",
|
|
"0.0001 — Wymeldowania_do_miast_mezczyzni\n",
|
|
"0.0001 — Wojewodztwo_Lubuskie\n",
|
|
"0.0001 — Wojewodztwo_Slaskie\n",
|
|
"0.0001 — Bezrobotni_powyzej_50_roku_zycia\n",
|
|
"0.0001 — Ludnosc_mezczyzni\n",
|
|
"0.0001 — Ludnosc_kobiety_w_wieku_poprodukcyjnym\n",
|
|
"0.0001 — Ludnosc_kobiety_w_wieku_produkcyjnym_mobilnym\n",
|
|
"0.0001 — Dochody_dofinansowanie_razem\n",
|
|
"0.0001 — Zameldowania_kobiety\n",
|
|
"0.0001 — Ludnosc_mezczyzni_w_wieku_produkcyjnym_mobilnym\n",
|
|
"0.0001 — Bezrobotni_mezczyzni\n",
|
|
"0.0001 — Ludnosc_w_wieku_przedprodukcyjnym\n",
|
|
"0.0001 — Gmina_miejsko_wiejska\n",
|
|
"0.0001 — Ludnosc_mezczyzni_w_wieku_produkcyjnym_niemobilnym\n",
|
|
"0.0001 — Wymeldowania_do_miast_ogolem\n",
|
|
"0.0000 — Wskaznik_urbanizacji\n",
|
|
"0.0000 — Udzialy_w_podatkach_dochodowych_od_osob_fizycznych\n",
|
|
"0.0000 — Zameldowania_ze_wsi_mezczyzni\n",
|
|
"0.0000 — Wojewodztwo_Lubelskie\n",
|
|
"0.0000 — Ludnosc_kobiety_w_wieku_produkcyjnym_niemobilnym\n",
|
|
"0.0000 — Wojewodztwo_Pomorskie\n",
|
|
"0.0000 — Ludnosc_ogolem\n",
|
|
"0.0000 — Miejsca_noclegowe_ogolem\n",
|
|
"0.0000 — Wojewodztwo_Swietokrzyskie\n",
|
|
"0.0000 — Wojewodztwo_Malopolskie\n",
|
|
"0.0000 — Ludnosc\n",
|
|
"0.0000 — Wojewodztwo_Podkarpackie\n",
|
|
"0.0000 — Ludnosc_kobiety\n",
|
|
"0.0000 — Wojewodztwo_Lodzkie\n",
|
|
"0.0000 — Wojewodztwo_Podlaskie\n",
|
|
"0.0000 — Ludnosc_mezczyzni_w_wieku_przedprodukcyjnym\n",
|
|
"0.0000 — Ludnosc_w_wieku_produkcyjnym\n",
|
|
"0.0000 — Wojewodztwo_Warminsko_Mazurskie\n",
|
|
"0.0000 — Wojewodztwo_Mazowieckie\n",
|
|
"0.0000 — Gmina_wiejska\n",
|
|
"0.0000 — Gmina_miejska\n",
|
|
"0.0000 — Wojewodztwo_Zachodniopomorskie\n",
|
|
"0.0000 — Wojewodztwo_Kujawsko_Pomorskie\n",
|
|
"0.0000 — Wojewodztwo_Wielkopolskie\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"feature_importance = dict(zip(feature_names, model.feature_importances_))\n",
|
|
"for feature, importance in sorted(feature_importance.items(), key=lambda x: x[1], reverse=True):\n",
|
|
" print(f'{importance:.4f} \\u2014 {feature}')"
|
|
]
|
|
}
|
|
],
|
|
"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.11.3"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|