AIM-PIbd-31-Potapov-N-S/lab_3/lab3.ipynb

1550 lines
246 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Вариант 2. Показатели сердечных заболеваний"
]
},
{
"cell_type": "code",
"execution_count": 228,
"metadata": {},
"outputs": [],
"source": [
"from typing import Any\n",
"from math import ceil\n",
"\n",
"import pandas as pd\n",
"from pandas import DataFrame, Series\n",
"from sklearn.model_selection import train_test_split\n",
"from imblearn.over_sampling import ADASYN, SMOTE\n",
"from imblearn.under_sampling import RandomUnderSampler\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Загрузим данные из датасета"
]
},
{
"cell_type": "code",
"execution_count": 229,
"metadata": {},
"outputs": [],
"source": [
"df = pd.read_csv('csv\\\\heart_2022_no_nans.csv')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Посмотрим общие сведения о датасете"
]
},
{
"cell_type": "code",
"execution_count": 230,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"RangeIndex: 246022 entries, 0 to 246021\n",
"Data columns (total 40 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 State 246022 non-null object \n",
" 1 Sex 246022 non-null object \n",
" 2 GeneralHealth 246022 non-null object \n",
" 3 PhysicalHealthDays 246022 non-null float64\n",
" 4 MentalHealthDays 246022 non-null float64\n",
" 5 LastCheckupTime 246022 non-null object \n",
" 6 PhysicalActivities 246022 non-null object \n",
" 7 SleepHours 246022 non-null float64\n",
" 8 RemovedTeeth 246022 non-null object \n",
" 9 HadHeartAttack 246022 non-null object \n",
" 10 HadAngina 246022 non-null object \n",
" 11 HadStroke 246022 non-null object \n",
" 12 HadAsthma 246022 non-null object \n",
" 13 HadSkinCancer 246022 non-null object \n",
" 14 HadCOPD 246022 non-null object \n",
" 15 HadDepressiveDisorder 246022 non-null object \n",
" 16 HadKidneyDisease 246022 non-null object \n",
" 17 HadArthritis 246022 non-null object \n",
" 18 HadDiabetes 246022 non-null object \n",
" 19 DeafOrHardOfHearing 246022 non-null object \n",
" 20 BlindOrVisionDifficulty 246022 non-null object \n",
" 21 DifficultyConcentrating 246022 non-null object \n",
" 22 DifficultyWalking 246022 non-null object \n",
" 23 DifficultyDressingBathing 246022 non-null object \n",
" 24 DifficultyErrands 246022 non-null object \n",
" 25 SmokerStatus 246022 non-null object \n",
" 26 ECigaretteUsage 246022 non-null object \n",
" 27 ChestScan 246022 non-null object \n",
" 28 RaceEthnicityCategory 246022 non-null object \n",
" 29 AgeCategory 246022 non-null object \n",
" 30 HeightInMeters 246022 non-null float64\n",
" 31 WeightInKilograms 246022 non-null float64\n",
" 32 BMI 246022 non-null float64\n",
" 33 AlcoholDrinkers 246022 non-null object \n",
" 34 HIVTesting 246022 non-null object \n",
" 35 FluVaxLast12 246022 non-null object \n",
" 36 PneumoVaxEver 246022 non-null object \n",
" 37 TetanusLast10Tdap 246022 non-null object \n",
" 38 HighRiskLastYear 246022 non-null object \n",
" 39 CovidPos 246022 non-null object \n",
"dtypes: float64(6), object(34)\n",
"memory usage: 75.1+ MB\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>count</th>\n",
" <th>mean</th>\n",
" <th>std</th>\n",
" <th>min</th>\n",
" <th>25%</th>\n",
" <th>50%</th>\n",
" <th>75%</th>\n",
" <th>max</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>PhysicalHealthDays</th>\n",
" <td>246022.0</td>\n",
" <td>4.119026</td>\n",
" <td>8.405844</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>3.00</td>\n",
" <td>30.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>MentalHealthDays</th>\n",
" <td>246022.0</td>\n",
" <td>4.167140</td>\n",
" <td>8.102687</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>4.00</td>\n",
" <td>30.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>SleepHours</th>\n",
" <td>246022.0</td>\n",
" <td>7.021331</td>\n",
" <td>1.440681</td>\n",
" <td>1.00</td>\n",
" <td>6.00</td>\n",
" <td>7.00</td>\n",
" <td>8.00</td>\n",
" <td>24.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>HeightInMeters</th>\n",
" <td>246022.0</td>\n",
" <td>1.705150</td>\n",
" <td>0.106654</td>\n",
" <td>0.91</td>\n",
" <td>1.63</td>\n",
" <td>1.70</td>\n",
" <td>1.78</td>\n",
" <td>2.41</td>\n",
" </tr>\n",
" <tr>\n",
" <th>WeightInKilograms</th>\n",
" <td>246022.0</td>\n",
" <td>83.615179</td>\n",
" <td>21.323156</td>\n",
" <td>28.12</td>\n",
" <td>68.04</td>\n",
" <td>81.65</td>\n",
" <td>95.25</td>\n",
" <td>292.57</td>\n",
" </tr>\n",
" <tr>\n",
" <th>BMI</th>\n",
" <td>246022.0</td>\n",
" <td>28.668136</td>\n",
" <td>6.513973</td>\n",
" <td>12.02</td>\n",
" <td>24.27</td>\n",
" <td>27.46</td>\n",
" <td>31.89</td>\n",
" <td>97.65</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" count mean std min 25% 50% \\\n",
"PhysicalHealthDays 246022.0 4.119026 8.405844 0.00 0.00 0.00 \n",
"MentalHealthDays 246022.0 4.167140 8.102687 0.00 0.00 0.00 \n",
"SleepHours 246022.0 7.021331 1.440681 1.00 6.00 7.00 \n",
"HeightInMeters 246022.0 1.705150 0.106654 0.91 1.63 1.70 \n",
"WeightInKilograms 246022.0 83.615179 21.323156 28.12 68.04 81.65 \n",
"BMI 246022.0 28.668136 6.513973 12.02 24.27 27.46 \n",
"\n",
" 75% max \n",
"PhysicalHealthDays 3.00 30.00 \n",
"MentalHealthDays 4.00 30.00 \n",
"SleepHours 8.00 24.00 \n",
"HeightInMeters 1.78 2.41 \n",
"WeightInKilograms 95.25 292.57 \n",
"BMI 31.89 97.65 "
]
},
"execution_count": 230,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.info()\n",
"df.describe().transpose()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Получим информацию о пустых значениях в колонках датасета"
]
},
{
"cell_type": "code",
"execution_count": 231,
"metadata": {},
"outputs": [],
"source": [
"def get_null_columns_info(df: DataFrame) -> DataFrame:\n",
" \"\"\"\n",
" Возвращает информацию о пропущенных значениях в колонках датасета\n",
" \"\"\"\n",
" w = []\n",
" df_len = len(df)\n",
"\n",
" for column in df.columns:\n",
" column_nulls = df[column].isnull()\n",
" w.append([column, column_nulls.any(), column_nulls.sum() / df_len])\n",
"\n",
" null_df = DataFrame(w).rename(columns={0: \"Column\", 1: \"Has Null\", 2: \"Null Percent\"})\n",
"\n",
" return null_df"
]
},
{
"cell_type": "code",
"execution_count": 232,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Column</th>\n",
" <th>Has Null</th>\n",
" <th>Null Percent</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>State</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Sex</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>GeneralHealth</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>PhysicalHealthDays</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>MentalHealthDays</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>LastCheckupTime</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>PhysicalActivities</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>SleepHours</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>RemovedTeeth</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>HadHeartAttack</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>HadAngina</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>HadStroke</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>HadAsthma</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>HadSkinCancer</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>HadCOPD</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>HadDepressiveDisorder</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>HadKidneyDisease</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>HadArthritis</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>HadDiabetes</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>DeafOrHardOfHearing</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>BlindOrVisionDifficulty</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>DifficultyConcentrating</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>DifficultyWalking</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>DifficultyDressingBathing</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>DifficultyErrands</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>SmokerStatus</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>ECigaretteUsage</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>ChestScan</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>RaceEthnicityCategory</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>AgeCategory</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>HeightInMeters</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>WeightInKilograms</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>BMI</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>AlcoholDrinkers</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td>HIVTesting</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35</th>\n",
" <td>FluVaxLast12</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36</th>\n",
" <td>PneumoVaxEver</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37</th>\n",
" <td>TetanusLast10Tdap</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>38</th>\n",
" <td>HighRiskLastYear</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>39</th>\n",
" <td>CovidPos</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Column Has Null Null Percent\n",
"0 State False 0.0\n",
"1 Sex False 0.0\n",
"2 GeneralHealth False 0.0\n",
"3 PhysicalHealthDays False 0.0\n",
"4 MentalHealthDays False 0.0\n",
"5 LastCheckupTime False 0.0\n",
"6 PhysicalActivities False 0.0\n",
"7 SleepHours False 0.0\n",
"8 RemovedTeeth False 0.0\n",
"9 HadHeartAttack False 0.0\n",
"10 HadAngina False 0.0\n",
"11 HadStroke False 0.0\n",
"12 HadAsthma False 0.0\n",
"13 HadSkinCancer False 0.0\n",
"14 HadCOPD False 0.0\n",
"15 HadDepressiveDisorder False 0.0\n",
"16 HadKidneyDisease False 0.0\n",
"17 HadArthritis False 0.0\n",
"18 HadDiabetes False 0.0\n",
"19 DeafOrHardOfHearing False 0.0\n",
"20 BlindOrVisionDifficulty False 0.0\n",
"21 DifficultyConcentrating False 0.0\n",
"22 DifficultyWalking False 0.0\n",
"23 DifficultyDressingBathing False 0.0\n",
"24 DifficultyErrands False 0.0\n",
"25 SmokerStatus False 0.0\n",
"26 ECigaretteUsage False 0.0\n",
"27 ChestScan False 0.0\n",
"28 RaceEthnicityCategory False 0.0\n",
"29 AgeCategory False 0.0\n",
"30 HeightInMeters False 0.0\n",
"31 WeightInKilograms False 0.0\n",
"32 BMI False 0.0\n",
"33 AlcoholDrinkers False 0.0\n",
"34 HIVTesting False 0.0\n",
"35 FluVaxLast12 False 0.0\n",
"36 PneumoVaxEver False 0.0\n",
"37 TetanusLast10Tdap False 0.0\n",
"38 HighRiskLastYear False 0.0\n",
"39 CovidPos False 0.0"
]
},
"execution_count": 232,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"get_null_columns_info(df)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Получим информацию о выбросах"
]
},
{
"cell_type": "code",
"execution_count": 233,
"metadata": {},
"outputs": [],
"source": [
"def get_numeric_columns(df: DataFrame) -> list[str]:\n",
" \"\"\"\n",
" Возвращает список числовых колонок\n",
" \"\"\"\n",
" return list(filter(lambda column: pd.api.types.is_numeric_dtype(df[column]), df.columns))"
]
},
{
"cell_type": "code",
"execution_count": 234,
"metadata": {},
"outputs": [],
"source": [
"def get_outliers_info(df: DataFrame) -> DataFrame:\n",
" \"\"\"\n",
" Возаращает информацию о выбросах в числовых колонках датасета\n",
" \"\"\"\n",
" data = {\n",
" \"Column\": [],\n",
" \"Has Outliers\": [],\n",
" \"Outliers Count\": [],\n",
" \"Min Value\": [],\n",
" \"Max Value\": [],\n",
" \"Q1\": [],\n",
" \"Q3\": []\n",
" }\n",
"\n",
" info = DataFrame(data)\n",
"\n",
" for column in get_numeric_columns(df):\n",
" Q1: float = df[column].quantile(0.25)\n",
" Q3: float = df[column].quantile(0.75)\n",
" IQR: float = Q3 - Q1\n",
"\n",
" lower_bound: float = Q1 - 1.5 * IQR\n",
" upper_bound: float = Q3 + 1.5 * IQR\n",
"\n",
" outliers: DataFrame = df[(df[column] < lower_bound) | (df[column] > upper_bound)]\n",
" outlier_count: int = outliers.shape[0]\n",
"\n",
" info.loc[len(info)] = [column, outlier_count > 0, outlier_count, df[column].min(), df[column].max(), Q1, Q3]\n",
"\n",
" return info"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Посмотрим данные по выбросам"
]
},
{
"cell_type": "code",
"execution_count": 235,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Column</th>\n",
" <th>Has Outliers</th>\n",
" <th>Outliers Count</th>\n",
" <th>Min Value</th>\n",
" <th>Max Value</th>\n",
" <th>Q1</th>\n",
" <th>Q3</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>PhysicalHealthDays</td>\n",
" <td>True</td>\n",
" <td>38810</td>\n",
" <td>0.00</td>\n",
" <td>30.00</td>\n",
" <td>0.00</td>\n",
" <td>3.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>MentalHealthDays</td>\n",
" <td>True</td>\n",
" <td>32714</td>\n",
" <td>0.00</td>\n",
" <td>30.00</td>\n",
" <td>0.00</td>\n",
" <td>4.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>SleepHours</td>\n",
" <td>True</td>\n",
" <td>3488</td>\n",
" <td>1.00</td>\n",
" <td>24.00</td>\n",
" <td>6.00</td>\n",
" <td>8.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>HeightInMeters</td>\n",
" <td>True</td>\n",
" <td>830</td>\n",
" <td>0.91</td>\n",
" <td>2.41</td>\n",
" <td>1.63</td>\n",
" <td>1.78</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>WeightInKilograms</td>\n",
" <td>True</td>\n",
" <td>5940</td>\n",
" <td>28.12</td>\n",
" <td>292.57</td>\n",
" <td>68.04</td>\n",
" <td>95.25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>BMI</td>\n",
" <td>True</td>\n",
" <td>7563</td>\n",
" <td>12.02</td>\n",
" <td>97.65</td>\n",
" <td>24.27</td>\n",
" <td>31.89</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Column Has Outliers Outliers Count Min Value Max Value \\\n",
"0 PhysicalHealthDays True 38810 0.00 30.00 \n",
"1 MentalHealthDays True 32714 0.00 30.00 \n",
"2 SleepHours True 3488 1.00 24.00 \n",
"3 HeightInMeters True 830 0.91 2.41 \n",
"4 WeightInKilograms True 5940 28.12 292.57 \n",
"5 BMI True 7563 12.02 97.65 \n",
"\n",
" Q1 Q3 \n",
"0 0.00 3.00 \n",
"1 0.00 4.00 \n",
"2 6.00 8.00 \n",
"3 1.63 1.78 \n",
"4 68.04 95.25 \n",
"5 24.27 31.89 "
]
},
"execution_count": 235,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"outliers_info = get_outliers_info(df)\n",
"outliers_info"
]
},
{
"cell_type": "code",
"execution_count": 236,
"metadata": {},
"outputs": [],
"source": [
"def visualize_outliers(df: DataFrame) -> None:\n",
" \"\"\"\n",
" Генерирует диаграммы BoxPlot для числовых колонок датасета\n",
" \"\"\"\n",
" columns = get_numeric_columns(df)\n",
" plt.figure(figsize=(15, 10))\n",
" rows: int = ceil(len(columns) / 3)\n",
" for index, column in enumerate(columns, 1):\n",
" plt.subplot(rows, 3, index)\n",
" plt.boxplot(df[column], vert=True, patch_artist=True)\n",
" plt.title(f\"Диаграмма размахов\\n\\\"{column}\\\"\")\n",
" plt.xlabel(column)\n",
" \n",
" plt.tight_layout()\n",
" plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Визуализируем выбросы с помощью диаграмм"
]
},
{
"cell_type": "code",
"execution_count": 237,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABdIAAAPeCAYAAAAI5OjmAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd3wU1f7/8fcmgTSS0BMiCVVpoiAqvShIiBRRkKrSrgUpAraLStUrYgMrlnsFpIgNUVApIsWCKCiiCEgVlN4SWkLJ+f3BL/PNJJtNQsrsLq/n47EPMzNnZ86smnfms2fOuIwxRgAAAAAAAAAAwK0ApzsAAAAAAAAAAIA3o5AOAAAAAAAAAIAHFNIBAAAAAAAAAPCAQjoAAAAAAAAAAB5QSAcAAAAAAAAAwAMK6QAAAAAAAAAAeEAhHQAAAAAAAAAADyikAwAAAAAAAADgAYV0AAAAAAAAAAA8oJAOAAAAAAAAAIAHFNLhsz766CO5XC63ryuvvNLp7gEAADfIbwAAfA/5DQBSkNMdAPLrscceU61atazl//znPw72BgAA5Ab5DQCA7yG/AVzKKKTD5910001q1aqVtfzf//5Xhw4dcq5DAAAgR+Q3AAC+h/wGcCljahf4rDNnzkiSAgJy/s942rRpcrlc2rlzp7UuLS1NV111lVwul6ZNm2atX79+vfr27auqVasqJCREMTEx6t+/vw4fPmzb59ixY93e1hYU9H/fT7Vq1UpXXnml1q5dqyZNmig0NFRVqlTRG2+8keVcRo8erQYNGigqKkrh4eFq3ry5li1bZmu3c+dO6zjz5s2zbUtJSVGpUqXkcrn0/PPPZ+ln+fLldfbsWdt73nvvPWt/Gf/4+fTTT9W+fXvFxsYqODhY1apV05NPPqnz58/n+FmnH2/Tpk3q1q2bIiMjVaZMGT3wwANKSUmxtZ06dapuvPFGlS9fXsHBwapdu7amTJmSZZ+33HKLKleurJCQEJUvX16dOnXSb7/9ZmuTfh6TJ0/O8v6aNWvK5XJp8ODB1rojR47ooYceUt26dVWiRAlFRkYqMTFRv/76q+29ffr0UUhIiDZu3Ghbn5CQoFKlSmnPnj3Wuu3bt+v2229X6dKlFRYWpkaNGunzzz+3vW/58uW2/16Cg4N1xRVXaMKECTLGeP5wAcAPkN/zbNvIb/IbAHwB+T3Pto38Jr9xaWJEOnxWepAHBwdf1PtnzJiRJQwkacmSJdq+fbv69eunmJgYbdiwQW+99ZY2bNigH374QS6Xy9Z+ypQpKlGihLWc+Q+Lo0eP6uabb1a3bt3Us2dPffDBBxo4cKCKFy+u/v37S5KSk5P13//+Vz179tTdd9+t48eP63//+58SEhL0448/ql69erZ9hoSEaOrUqercubO1bu7cuVmCMqPjx49rwYIFuvXWW611U6dOVUhISJb3TZs2TSVKlNCIESNUokQJff311xo9erSSk5P13HPPZXuMjLp166bKlStrwoQJ+uGHH/Tyyy/r6NGjevfdd22fXZ06ddSpUycFBQVp/vz5uv/++5WWlqZBgwbZ9nfPPfcoJiZGe/bs0auvvqo2bdpox44dCgsLy/K5DBs2zFr3/fff66+//srSv+3bt2vevHm6/fbbVaVKFe3fv19vvvmmWrZsqT/++EOxsbGSpJdeeklff/21+vTpo1WrVikwMFBvvvmmFi9erBkzZljt9u/fryZNmujUqVMaOnSoypQpo+nTp6tTp0766KOPbJ+79H+3RJ4+fVrvv/++HnvsMZUvX14DBgzI1ecLAL6K/Ca/yW8A8D3kN/lNfgOSDOCjJk+ebCSZX3/91ba+ZcuWpk6dOrZ1U6dONZLMjh07jDHGpKSkmPj4eJOYmGgkmalTp1ptT506leVY7733npFkVq5caa0bM2aMkWQOHjyYbR9btmxpJJkXXnjBWpeammrq1atnypcvb86cOWOMMebcuXMmNTXV9t6jR4+a6Oho079/f2vdjh07jCTTs2dPExQUZPbt22dta926tenVq5eRZJ577rks/ezZs6fp0KGDtf6vv/4yAQEBpmfPnlnOw91ncO+995qwsDCTkpKS7flmPF6nTp1s6++///4s/77cHSchIcFUrVrV4zE++OADI8msWbPGWifJdO3a1QQFBdnWDxgwwPpcBg0aZK1PSUkx58+ft+13x44dJjg42IwfP962ftGiRUaSeeqpp8z27dtNiRIlTOfOnW1thg0bZiSZb775xlp3/PhxU6VKFVO5cmXrWMuWLTOSzLJly2x9CQgIMPfff7/H8wYAf0B+k9/kNwD4HvKb/Ca/AWOY2gU+K/1Wr3LlyuX5va+99poOHz6sMWPGZNkWGhpq/ZySkqJDhw6pUaNGkqSff/45z8cKCgrSvffeay0XL15c9957rw4cOKC1a9dKkgIDA1W8eHFJF255O3LkiM6dO6drr73W7TGvueYa1alTRzNmzJAk/fXXX1q2bJn69u2bbT/69++vhQsXat++fZKk6dOnq3HjxrriiiuytM34GRw/flyHDh1S8+bNderUKW3atClX5535G+0hQ4ZIkr744gu3x0lKStKhQ4fUsmVLbd++XUlJSbb3nzp1SocOHdK6dev09ttvKzo6Okvfo6Oj1b59e02dOtV6zwcffKB+/fpl6V9wcLA1euH8+fM6fPiwSpQooRo1amT5zNu2bat7771X48eP12233aaQkBC9+eabtjZffPGFrr/+ejVr1sxaV6JECd1zzz3auXOn/vjjD1v79PPdtWuXnn32WaWlpenGG29080kCgH8hv8lv8hsAfA/5TX6T3wBzpMOH/fXXXwoKCspzkCclJenpp5/WiBEjFB0dnWX7kSNH9MADDyg6OlqhoaEqV66cqlSpYr03r2JjYxUeHm5blx5AGeeMmz59uq666iqFhISoTJkyKleunD7//PNsj9mvXz8rsKZNm6YmTZro8ssvz7Yf9erV05VXXql3331XxhhNmzbNbcBJ0oYNG3TrrbcqKipKkZGRKleunO644w5Juf8MMvelWrVqCggIsJ3zd999pzZt2ig8PFwlS5ZUuXLl9Nhjj7k9zvjx41WuXDnVr19fO3fu1PLlyxUREZHluP369dPs2bOVmpqqDz/8UKVKlXIbkGlpaZo0aZIuv/xyBQcHq2zZsipXrpzWr1/v9hyff/55lS5dWuvWrdPLL7+s8uXL27b/9ddfqlGjRpb3pT/RPvPtbZ07d1a5cuVUqVIljR07Vk888YS6dOmS5f0A4G/Ib/Kb/AYA30N+k9/kN0AhHT5s8+bNqlq1qu3hIrkxceJEBQQE6OGHH3a7vVu3bnr77bd13333ae7cuVq8eLEWLlwo6cIv/8Iwc+ZM9e3bV9WqVdP//vc/LVy4UEuWLNGNN96Y7THvuOMObd26VT/88IOmT5+ebShn1L9/f02dOlUrVqzQvn371K1btyxtjh07ppYtW+rXX3/V+PHjNX/+fC1ZskQTJ06UdPGfQea57bZt26bWrVvr0KFDevHFF/X5559ryZIlGj58uNvj/Otf/9LixYv1zjvvKCQkRF26dHEbuO3bt1fx4sU1b948TZ06VX36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7NixuW47ePDgwu0QAAAOqly5svr27et0N2zy8jdKets1a9YUfscAACgEO3fulMvl0rRp05zuCgAfQCEdPi39Ak6Sli9fbrvw69u3r1wul/WKjIzU1VdfrRdeeEGpqakO9toZlStXVocOHdxuS//sPvrooyLt0/fff6+xY8fq2LFjF72P9P8G0l8hISGKjY1VQkKCXn75ZR0/frzgOpwPrVq1soolffv2VatWrRztDwB4q9xke2RkpE6fPp3lvVu2bLHy4Pnnny/Ufn7xxRe5/nI4t3LKYye+/Jek119/Pd8FhlatWln/bgICAhQZGakaNWrozjvv1JIlSwqmo/mUXkxZvny5JFFYAQAv5+lvBkmaP3++WrZsqfLlyyssLExVq1ZVt27dtHDhQod6nLP0QXGHDh1yu93Tdb234NoX/oxCOvxacHCwZsyYoRkzZujpp59W6dKl9dBDD6lPnz6O9uvOO+/U6dOnValSJUf74bTvv/9e48aNy1chPd348eM1Y8YMTZkyRUOGDJEkDRs2THXr1tX69evzvX8AgHcICgrSqVOnNH/+/CzbZs2apZCQkCLpxxdffKFx48YVybGcVhCFdEmqWLGiZsyYoXfffVfPPfecOnXqpO+//15t27ZV9+7ddfbs2fx3FgAASc8//7w6deokl8ulkSNHatKkSerSpYu2bNmiOXPmON09AD4qyOkOAIUpKChId9xxh7V8//33q2HDhnr//ff14osvKjY21pF+BQYGKjAw0JFj+6vExERde+211vLIkSP19ddfq0OHDurUqZM2btyo0NBQB3sIACgIwcHBatq0qd577z1169bNtm327Nlq3769Pv74Y4d6B0+ioqJsf5dJ0jPPPKOhQ4fq9ddfV+XKlTVx4kSHegcA8Bfnzp3Tk08+qZtuukmLFy/Osv3AgQMO9Mq3nTx5UuHh4U53A3AcI9JxSQkICLBuK8o89+c///yjzp07q0SJEipXrpweeughnT9/XpJkjFHlypV1yy23ZNlnSkqKoqKidO+991rrXnnlFdWpU0dhYWEqVaqUrr32Ws2ePdvant38o19++aVatmypiIgIRUZG6rrrrrO975tvvtHtt9+u+Ph4BQcHKy4uTsOHD3d7e3tB+Oeff9S/f39FR0crODhYderU0TvvvGNrc+bMGY0ePVoNGjRQVFSUwsPD1bx5cy1btszjvseOHauHH35YklSlShXrdu/Mn8m8efN05ZVXWsfPy214N954o0aNGqW//vpLM2fOtNavX79effv2VdWqVRUSEqKYmBj1799fhw8fttosW7ZMLpdLn3zySZb9zp49Wy6XS6tWrZIk7du3T/369VPFihUVHBysChUq6JZbbim0OfAB4FLXq1cvffnll7Y7mn766Sdt2bJFvXr1cvueY8eOadiwYYqLi1NwcLCqV6+uiRMnKi0tzWqTPrXH888/r7feekvVqlVTcHCwrrvuOv30009Wu759++q1116TJNv0Yumef/55NWnSRGXKlFFoaKgaNGhQqNOnffnll2revLnCw8MVERGh9u3ba8OGDbY2uck+dypXrqwNGzZoxYoV1nlmvkU7NTVVI0aMULly5RQeHq5bb71VBw8ezFXfAwMD9fLLL6t27dp69dVXlZSUZG2bOnWqbrzxRpUvX17BwcGqXbu2pkyZYnt/nz59VLZsWbej2du2basaNWpYy0uWLFGzZs1UsmRJlShRQjVq1NBjjz2Wq34CAHzHoUOHlJycrKZNm7rdXr58+Rz3sWnTJnXt2lWlS5dWSEiIrr32Wn322WdZ2uX174tJkyapUqVKCg0NVcuWLfX7779f/In+fydPntSDDz5o9aFGjRp6/vnnZYzJ0gd3d5hlfpZZ+vQyf/zxh3r16qVSpUqpWbNmkrj2BRiRjkvOtm3bJEllypSx1p0/f14JCQlq2LChnn/+eX311Vd64YUXVK1aNQ0cOFAul0t33HGHnn32WR05ckSlS5e23jt//nwlJydbI6zefvttDR06VF27dtUDDzyglJQUrV+/XqtXr8724l66UFzv37+/6tSpo5EjR6pkyZL65ZdftHDhQut9H374oU6dOqWBAweqTJky+vHHH/XKK6/o77//1ocffpjjuZ89e9btXGsZL1rT7d+/X40aNbIe+lmuXDl9+eWXGjBggJKTkzVs2DBJUnJysv773/+qZ8+euvvuu3X8+HH973//U0JCgn788UfVq1fPbV9uu+02/fnnn3rvvfc0adIklS1bVpJUrlw5q823336ruXPn6v7771dERIRefvlldenSRbt27bL9+/Pkzjvv1GOPPabFixfr7rvvlnThQnr79u3q16+fYmJitGHDBr311lvasGGDfvjhB6tIEBcXp1mzZunWW2+17XPWrFmqVq2aGjduLEnq0qWLNmzYoCFDhqhy5co6cOCAlixZol27dqly5cq56icAIPduu+023XfffZo7d6769+8v6cKXnDVr1tQ111yTpf2pU6fUsmVL/fPPP7r33nsVHx+v77//XiNHjtTevXs1efJkW/vZs2fr+PHjuvfee+VyufTss8/qtttu0/bt21WsWDHde++92rNnj5YsWaIZM2ZkOd5LL72kTp06qXfv3jpz5ozmzJmj22+/XQsWLFD79u1zPL/jx4+7zWt3z3iZMWOG+vTpo4SEBE2cOFGnTp3SlClT1KxZM/3yyy9WDuUm+9yZPHmyhgwZohIlSujxxx+XJEVHR9vaDBkyRKVKldKYMWO0c+dOTZ48WYMHD9b777+f47lKF4rpPXv21KhRo/Ttt99an9GUKVNUp04dderUSUFBQZo/f77uv/9+paWladCgQZIu5Py7776rRYsW2eaM3bdvn77++muNGTNGkrRhwwZ16NBBV111lcaPH6/g4GBt3bpV3333Xa76CADwHeXLl1doaKjmz5+vIUOG2K7fc2PDhg1q2rSpLrvsMv373/9WeHi4PvjgA3Xu3Fkff/yxdX2Y178v3n33XR0/flyDBg1SSkqKXnrpJd1444367bffsmTrkSNH3PYtY4FeujDor1OnTlq2bJkGDBigevXqadGiRXr44Yf1zz//aNKkSXk694xuv/12XX755Xr66aetojzXvrjkGcBP9enTx4SHh5uDBw+agwcPmq1bt5qnn37auFwuc9VVV9naSTLjx4+3vb9+/fqmQYMG1vLmzZuNJDNlyhRbu06dOpnKlSubtLQ0Y4wxt9xyi6lTp47Hvk2dOtVIMjt27DDGGHPs2DETERFhGjZsaE6fPm1rm75fY4w5depUln1NmDDBuFwu89dff1nrxowZYzL/712pUiUjyePrww8/tNoPGDDAVKhQwRw6dMi2nx49epioqCirL+fOnTOpqam2NkePHjXR0dGmf//+tvWSzJgxY6zl5557zvY5ZG5bvHhxs3XrVmvdr7/+aiSZV155xVqX/ln+9NNPWfaRLioqytSvX99advc5vvfee0aSWblypbVu5MiRJjg42Bw7dsxad+DAARMUFGSdx9GjR40k89xzz2V7fABAwUjPdmOM6dq1q2ndurUxxpjz58+bmJgYM27cOLNjx44sv5effPJJEx4ebv7880/b/v7973+bwMBAs2vXLmOMsd5bpkwZc+TIEavdp59+aiSZ+fPnW+sGDRqUJWvTZc6ZM2fOmCuvvNLceOONtvWVKlUyffr0sZaXLVuWY1ann78xxhw/ftyULFnS3H333bb97tu3z0RFRdnW5zb7Mv+NYowxderUMS1btszy/vS2bdq0sf29Mnz4cBMYGGjLz5YtW3r8++iTTz4xksxLL73ksc8JCQmmatWq1vL58+dNxYoVTffu3W3tXnzxReNyucz27duNMcZMmjTJSDIHDx7Mtg8AAP8xevRoKzcTExPNf/7zH7N27dos7dKzf+rUqda61q1bm7p165qUlBRrXVpammnSpIm5/PLLrXV5/fsiNDTU/P3331a71atXG0lm+PDh1rr0a3lPr/bt21vt582bZySZp556ytaHrl27GpfLZV1PuzvPdJmv09P70LNnT1s7rn0BY5jaBX7t5MmTKleunMqVK6fq1avrscceU+PGjd1O13HffffZlps3b67t27dby1dccYUaNmyoWbNmWeuOHDmiL7/8Ur1797ZGcpUsWVJ///237RbwnCxZskTHjx/Xv//97ywPScs4QizjHN8nT57UoUOH1KRJExlj9Msvv+R4nIYNG2rJkiVZXs8//7ytnTFGH3/8sTp27ChjjA4dOmS9EhISlJSUpJ9//lnShVFkxYsXl3Th2/EjR47o3Llzuvbaa602F6tNmzaqVq2atXzVVVcpMjLS9u8lN0qUKKHjx49byxk/x5SUFB06dEiNGjWSJFuf77rrLqWmptpux3///fd17tw56w6E0NBQFS9eXMuXL9fRo0fzdoIAgIvWq1cvLV++3Bp5vG/fvmzv/Prwww/VvHlzlSpVypZpbdq00fnz57Vy5Upb++7du6tUqVLWcvPmzSUp1/mTMWeOHj2qpKQkNW/ePNe5OHr0aLd53bZtW1u7JUuW6NixY+rZs6ftvAIDA9WwYUPbNGu5zb6Lcc8999j+XmnevLnOnz+vv/76K9f7KFGihCRlm9dJSUk6dOiQWrZsqe3bt1t30wUEBKh379767LPPbO+dNWuWmjRpoipVqki68PeZJH366adZRvMBAPzPuHHjNHv2bNWvX1+LFi3S448/rgYNGuiaa67Rxo0bs33fkSNH9PXXX6tbt27WHWKHDh3S4cOHlZCQoC1btuiff/6RlPe/Lzp37qzLLrvMWr7++uvVsGFDffHFF1n68fHHH7v9WyDzyPUvvvhCgYGBGjp0qG39gw8+KGOMvvzyyzx/duky10i49gWY2gV+LiQkRPPnz5d04eFkVapUUcWKFd22yziliCSVKlUqSzjcddddGjx4sP766y9VqlRJH374oc6ePas777zTavPoo4/qq6++0vXXX6/q1aurbdu26tWrV7bzs0n/N93MlVde6fF8du3apdGjR+uzzz7L0jd307NkVrZsWbVp0ybL+qAg+6+CgwcP6tixY3rrrbf01ltvud1Xxge0TJ8+XS+88II2bdpkm6M0/eL1YsXHx2dZ5+7fS05OnDhhmwfvyJEjGjdunObMmZPlQTMZP8eaNWvquuuu06xZszRgwABJFy7MGzVqpOrVq0u68N/VxIkT9eCDDyo6OlqNGjVShw4ddNdddykmJiZP/QQA5N7NN9+siIgIvf/++1q3bp2uu+46Va9e3e0cnVu2bNH69euzZH26zFmQOX/Si+q5zZ8FCxboqaee0rp162zTsWQ3fUpmdevWdZvXGZ/3IV04L+nCM0HciYyMtH7ObfZdjPx+XtKFrJakiIgIa913332nMWPGaNWqVTp16pStfVJSkqKioiRd+Pts4sSJ+uSTT3TXXXdp8+bNWrt2rd544w2rfffu3fXf//5X//rXv/Tvf/9brVu31m233aauXbsqIICxRQDgj3r27KmePXsqOTlZq1ev1rRp0zR79mx17NhRv//+e5ZBbJK0detWGWM0atQojRo1yu1+Dxw4oMsuuyzPf19cfvnlWdpcccUV+uCDD7Ksb9GihTX9aUaZ+/zXX38pNjbWlp+SVKtWLWv7xcp8Pc+1L0AhHX4uMDDQ7YWou3a50aNHDw0fPlyzZs3SY489ppkzZ+raa6+1PciqVq1a2rx5sxYsWKCFCxfq448/1uuvv67Ro0dr3LhxF30u58+f10033aQjR47o0UcfVc2aNRUeHq5//vlHffv2LdDRVen7uuOOO9SnTx+3ba666ipJFy7q+/btq86dO+vhhx9W+fLlFRgYqAkTJlhfEFys7P69mAwPTcnJ33//raSkJKvwLUndunXT999/r4cfflj16tVTiRIllJaWpnbt2mX5HO+66y498MAD+vvvv5WamqoffvhBr776qq3NsGHD1LFjR82bN0+LFi3SqFGjNGHCBH399deqX79+Hs4YAJBbwcHBuu222zR9+nRt377d9pCszNLS0nTTTTfpkUcecbv9iiuusC3nJ3+++eYbderUSS1atNDrr7+uChUqqFixYpo6dartAeIFIT2zZsyY4fYCNuMX5XnJvrwqiLxOf9hael5v27ZNrVu3Vs2aNfXiiy8qLi5OxYsX1xdffKFJkybZ+ly7dm01aNBAM2fO1F133aWZM2eqePHi6tatm9UmNDRUK1eu1LJly/T5559r4cKFev/993XjjTdq8eLFuf5bEADgeyIjI3XTTTfppptuUrFixTR9+nStXr1aLVu2zNI2PV8eeughJSQkuN1felbl9e8LJ2X3Zf758+ezfU/GO8PSce2LSx2FdCAPSpcurfbt22vWrFnq3bu3vvvuuywPEJGk8PBwde/eXd27d9eZM2d022236T//+Y9Gjhzp9lvv9OlLfv/9d1vBN6PffvtNf/75p6ZPn6677rrLWr9kyZKCObkMypUrp4iICJ0/fz7HLyI++ugjVa1aVXPnzrWFc/rDvTzJ7ci8/Eh/CFz6H0FHjx7V0qVLNW7cOI0ePdpqlz6qL7MePXpoxIgReu+993T69GkVK1ZM3bt3z9KuWrVqevDBB/Xggw9qy5Ytqlevnl544YUsowcBAAWnV69eeueddxQQEKAePXpk265atWo6ceJErr5cz63sMuzjjz9WSEiIFi1apODgYGv91KlTC+zY6dL/fihfvrzHc8tr9mVW2Hl9/vx5zZ49W2FhYWrWrJmkCw9zT01N1WeffWYb8Z5xupqM7rrrLo0YMUJ79+7V7Nmz1b59e9v0PNKFaWBat26t1q1b68UXX9TTTz+txx9/XMuWLSvQ/zYAAN7r2muv1fTp07V3716326tWrSpJKlasWI7ZkNe/L9zl7p9//pmvh3RWqlRJX331lY4fP24blb5p0yZru/R/d4sdO3bM9v6LGbHOtS8uZdzHCOTRnXfeqT/++EMPP/ywAgMDs1y4Hz582LZcvHhx1a5dW8YY27QnGbVt21YRERGaMGGCUlJSbNvSR3Olj5TKOLrLGKOXXnop3+eUWWBgoLp06aKPP/7YGiGW0cGDB21tM/dr9erVWrVqVY7HCQ8Pl5Q1zAvK119/rSeffFJVqlRR7969JbnvryS3X4hIF6bDSUxM1MyZMzVr1iy1a9fOdovdqVOnsvw7q1atmiIiImy38wMACt4NN9ygJ598Uq+++qrHW4q7deumVatWadGiRVm2HTt2TOfOncvzsbPLsMDAQLlcLtsIr507d2revHl5PkZOEhISFBkZqaefftrt3xjpeZ3X7MssPDy80LL6/PnzGjp0qDZu3KihQ4da09G463NSUlK2X0j07NlTLpdLDzzwgLZv3249yyTdkSNHsrynXr16kkReA4CfOXXqVLbXo+lzhme8qzyj8uXLq1WrVnrzzTfdFtszXgvn9e+LefPmWfOrS9KPP/6o1atXKzExMeeTysbNN9+s8+fPZ7lretKkSXK5XNa+IyMjVbZs2Szztr/++uu5PhbXvgAj0oE8a9++vcqUKaMPP/xQiYmJtrm3pQtF8ZiYGDVt2lTR0dHauHGjXn31VbVv3z7LvGXpIiMjNWnSJP3rX//Sddddp169eqlUqVL69ddfderUKU2fPl01a9ZUtWrV9NBDD+mff/5RZGSkPv7440J7yMczzzyjZcuWqWHDhrr77rtVu3ZtHTlyRD///LO++uor64K0Q4cOmjt3rm699Va1b99eO3bs0BtvvKHatWtb851mp0GDBpKkxx9/XD169FCxYsXUsWNHqziRF19++aU2bdqkc+fOaf/+/fr666+1ZMkSVapUSZ999pl1J0BkZKRatGihZ599VmfPntVll12mxYsXa8eOHdnu+6677lLXrl0lSU8++aRt259//qnWrVurW7duql27toKCgvTJJ59o//79HkdHAgDyLyAgQE888USO7R5++GF99tln6tChg/r27asGDRro5MmT+u233/TRRx9p586dbuch9SQ9w4YOHaqEhATry/X27dvrxRdfVLt27dSrVy8dOHBAr732mqpXr67169df1HlmJzIyUlOmTNGdd96pa665Rj169FC5cuW0a9cuff7552ratKleffXVi8q+zOc6ZcoUPfXUU6pevbrKly+f7bzsniQlJVmj1U6dOqWtW7dq7ty52rZtm3r06GHL2LZt26p48eLq2LGj7r33Xp04cUJvv/22ypcv77awUa5cObVr104ffvihSpYsqfbt29u2jx8/XitXrlT79u1VqVIlHThwQK+//roqVqxojYIHAPiHU6dOqUmTJmrUqJHatWunuLg4HTt2TPPmzdM333yjzp07e5yG5LXXXlOzZs1Ut25d3X333apatar279+vVatW6e+//9avv/4qKe9/X1SvXl3NmjXTwIEDlZqaqsmTJ6tMmTLZTg2TGx07dtQNN9ygxx9/XDt37tTVV1+txYsX69NPP9WwYcOsu9ck6V//+peeeeYZ/etf/9K1116rlStX6s8//8z1sbj2BSikA3lWvHhxde/eXa+//rrtIaPp7r33Xs2aNUsvvviiTpw4oYoVK2ro0KE5XugPGDBA5cuX1zPPPKMnn3xSxYoVU82aNTV8+HBJF24tmz9/voYOHaoJEyYoJCREt956qwYPHqyrr766wM8zOjpaP/74o8aPH6+5c+fq9ddfV5kyZVSnTh1NnDjRate3b1/t27dPb775phYtWqTatWtr5syZ+vDDD7V8+XKPx7juuuv05JNP6o033tDChQuVlpamHTt2XFQhPf1W9eLFi6t06dKqW7euJk+erH79+mX5AmP27NkaMmSIXnvtNRlj1LZtW3355ZeKjY11u++OHTuqVKlSSktLU6dOnWzb4uLi1LNnTy1dulQzZsxQUFCQatasqQ8++EBdunTJ83kAAApeWFiYVqxYoaeffloffvih3n33XUVGRuqKK67QuHHjrIdW5sVtt92mIUOGaM6cOZo5c6aMMerRo4duvPFG/e9//9MzzzyjYcOGqUqVKpo4caJ27txZ4IV06cL0NrGxsXrmmWf03HPPKTU1VZdddpmaN2+ufv36We3ymn0ZjR49Wn/99ZeeffZZHT9+XC1btryoQvrff/9t/e1UokQJVahQQY0bN9aUKVN000032drWqFFDH330kZ544gk99NBDiomJ0cCBA1WuXDn179/f7f7vuusuLViwQN26dbNNqyNJnTp10s6dO/XOO+/o0KFDKlu2rFq2bHnR//4BAN6rZMmSevvtt/X5559r6tSp2rdvnwIDA1WjRg0999xzGjp0qMf3165dW2vWrNG4ceM0bdo0HT58WOXLl1f9+vVtU6Tl9e+Lu+66SwEBAZo8ebIOHDig66+/Xq+++qoqVKhw0ecaEBCgzz77TKNHj9b777+vqVOnqnLlynruuef04IMP2tqOHj1aBw8e1EcffaQPPvhAiYmJ+vLLL7MMDswO176A5DJ5eQoQAEnS8OHD9b///U/79u1TWFiY091BITt37pxiY2PVsWNH/e9//3O6OwAAwI1PP/1UnTt31sqVK9W8eXOnuwMA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zjjdBcCrUUgH3Ej/NrpSpUoaOHCg2rRpo88++8zavmjRItWqVUslSpSwiu6StHLlShUrVkz79u2z7W/YsGFq3ry5JOmvv/5Sx44dVapUKYWHh6tOnTr64osvJLmf2uW7775Tq1atFBYWplKlSikhIUFHjx6VJC1cuFDNmjVTyZIlVaZMGXXo0EHbtm0rkM8gNTVVDz30kC677DKFh4erYcOGWr58ubX98OHD6tmzpy677DKFhYWpbt26eu+997LdX6tWrfTXX39p+PDh1mi1jLL7TNMFBQUpJiZGsbGxqlu3roYMGaIVK1bo999/18SJE612M2bM0LXXXquIiAjFxMSoV69eOnDggCTJGKPq1avr+eeft+173bp1crlc2rp1q4wxGjt2rDUqITY2VkOHDr3YjxEA4LBrrrlGcXFxtlHRc+fOVXx8vOrXr2+tS0tL04QJE1SlShWFhobq6quv1kcffWRtT8/opUuX6tprr1VYWJiaNGmizZs3S7owinzcuHH69ddfrZybNm2aJOnFF19U3bp1FR4erri4ON1///06ceJEgZzf7t271a1bN5UsWVKlS5fWLbfcop07d1rbf/rpJ910000qW7asoqKi1LJlS/3888/Z7q9KlSqSpPr168vlcqlVq1a27c8//7wqVKigMmXKaNCgQTp79qxte1hYmGJiYlSxYkU1atRIEydO1Jtvvqm3335bX331ldXu0Ucf1RVXXKGwsDBVrVpVo0aNsva1c+dOBQQEaM2aNbZ9T548WZUqVVJaWpqOHj2q3r17q1y5cgoNDdXll1+uqVOnXsxHCAC4BB07dkzffPONJk6cqBtuuEGVKlXS9ddfr5EjR6pTp05u35NT5krSf//7X9WqVUshISGqWbOmXn/9dWtb+mjzOXPmqEmTJgoJCdGVV16pFStWXNQ5HD16VHfddZdKlSqlsLAwJSYmasuWLdZ2d3fKTZ48WZUrV7aW06du+89//qPY2FjVqFFDkvT666/r8ssvV0hIiKKjo9W1a9eL6iPgbyikA7kQGhpqfTN76tQpPf/885oxY4ZWrlypXbt26aGHHpIktWjRQlWrVtWMGTOs9549e1azZs1S//79JV24lTw1NVUrV67Ub7/9pokTJ6pEiRJuj7tu3Tq1bt1atWvX1qpVq/Ttt9+qY8eOOn/+vCTp5MmTGjFihNasWaOlS5cqICBAt956q9LS0vJ9zoMHD9aqVas0Z84crV+/XrfffrvatWtnBXNKSooaNGigzz//XL///rvuuece3Xnnnfrxxx/d7m/u3LmqWLGixo8fr71799oK5Z4+U09q1qypxMREW3Hk7NmzevLJJ/Xrr79q3rx52rlzp3XbvsvlUv/+/bNcaE+dOlUtWrRQ9erV9fHHH2vSpEl68803tWXLFs2bN09169bN68cHAPAimX/3v/POO+rXr5+tzYQJE/Tuu+/qjTfe0IYNGzR8+HDdcccdWS5uH3/8cb3wwgtas2aNgoKCrHzv3r27HnzwQesOqr1796p79+6SpICAAL388svasGGDpk+frq+//lqPPPJIvs/r7NmzSkhIUEREhL755ht999131hfS6X+3HD9+XH369NG3336rH374QZdffrluvvnmbO/mSs/xr776Snv37rVl7LJly7Rt2zYtW7ZM06dP17Rp06wvCzzp06ePSpUqZdtXRESEpk2bpj/++EMvvfSS3n77bU2aNEnShang2rRp4zav+/btq4CAAI0aNUp//PGHvvzyS23cuFFTpkxR2bJl8/T5AQAuXSVKlFCJEiU0b968XE0XmpvMnTVrlkaPHq3//Oc/2rhxo55++mmNGjVK06dPt+3r4Ycf1oMPPqhffvlFjRs3VseOHS9qFHzfvn21Zs0affbZZ1q1apWMMbr55puzfMmdk6VLl2rz5s1asmSJFixYoDVr1mjo0KEaP368Nm/erIULF6pFixZ57h/glwwAmz59+phbbrnFGGNMWlqaWbJkiQkODjYPPfSQmTp1qpFktm7darV/7bXXTHR0tLU8ceJEU6tWLWv5448/NiVKlDAnTpwwxhhTt25dM3bsWLfHXrZsmZFkjh49aowxpmfPnqZp06a57vvBgweNJPPbb78ZY4zZsWOHkWR++eUX23JoaKgJDw+3vQICAswDDzxgjDHmr7/+MoGBgeaff/6x7b9169Zm5MiR2R6/ffv25sEHH7SWW7Zsae3TGGMqVapkJk2aZHtPbj7TMWPGmKuvvtrtMR999FETGhqabZ9++uknI8kcP37cGGPMP//8YwIDA83q1auNMcacOXPGlC1b1kybNs0YY8wLL7xgrrjiCnPmzJls9wkA8A3pmX7gwAETHBxsdu7caXbu3GlCQkLMwYMHzS233GL69OljUlJSTFhYmPn+++9t7x8wYIDp2bOn+X/s3Xd4FFXbx/HfJiGNFEgkCaEEpHcECwkCQZDepEkTUFSqCFIURBAsERBBRUBRg4WAggGlGEQk1IAYRXpvIhB6Qksgm3n/4Mm8LCkQTNgEvp/r2uvZOeeemXv2UU/23jNnDOP/x+hff/3V7F+yZIkhybhy5YphGJmPVzeaN2+e4evra26Hh4cb3t7eNtuS0ozV+fPnNyQZCxYsMAzDML755hujXLlyRkpKirlvUlKS4ebmZixbtizdc1utVsPT09NYtGiR2XbjMW/+2+HGzzIoKMhITk422zp06GA8/fTT5vbN4/6NHnvsMaNp06YZfiYTJ040atasaW5/9913RsGCBY3ExETDMAwjNjbWsFgsxsGDBw3DMIyWLVsazz77bIbHAwDgVubPn28ULFjQcHV1NUJCQowRI0YYf//9t9mf1TG3VKlSRkREhM053nrrLSM4ONgwjP8fY9977z2z/9q1a0bRokWN8ePH28Tc6jv7nj17DEnGunXrzGOdPn3acHNzM77//nvDMNL/u2Ty5MlGUFCQud2jRw/D39/fSEpKMtt++OEHw8vLy0hISMjKxwncF5iRDqRj8eLF8vDwkKurq5o2baqnn35ab775pqTrtyyXKlXKjC1cuLC5dIh0/Vfhffv2acOGDZKu3+rdsWNH5c+fX5I0cOBAvf3226pdu7bGjBmjLVu2ZJhH6oz0jOzdu1edO3fWgw8+KC8vL/MWrSNHjmR6fd999502b95s83r44YfN/q1bt8pqtaps2bLmL/UeHh5atWqVuXSM1WrVW2+9pSpVqsjHx0ceHh5atmzZLc+dnlt9ppkxDMNmmZjY2Fi1bNlSxYsXl6enp+rVqyfp/z+TwMBANW/eXF9++aUkadGiRUpKSlKHDh0kSR06dNCVK1f04IMP6oUXXtCCBQvuyoNmAQA5p1ChQmrevLlmzZql8PBwNW/e3Gb28r59+3T58mU9+eSTNuPe119/nWbJtKpVq5rvCxcuLEm3HLN+/fVXNWjQQEWKFJGnp6eeeeYZnTlzRpcvX85wH09PzzRj9c0PHvv777+1b98+eXp6mjn7+PgoMTHRzDsuLk4vvPCCypQpI29vb3l5eenixYt3NF5XqlRJjo6ONtd/p+P1d999p9q1aysgIEAeHh4aNWqUTU5t2rSRo6OjFixYIOn631P169c3/9bp27ev5s6dq+rVq2v48OFav359lq8HAHB/a9eunY4dO6affvpJTZo0UXR0tGrUqJHu3Va3GnMvXbqk/fv3q1evXjZ/S7z99ttp/pYIDg423zs5Oenhhx/Wzp07bWJu9Z19586dcnJy0mOPPWa2+fr6qly5cmmOdStVqlSRs7Ozuf3kk08qKChIDz74oJ555hnNnj07079ZgPuJk70TAHKj+vXra/r06XJ2dlZgYKCcnP7/X5V8+fLZxFosFhmGYW77+fmpZcuWCg8PV8mSJfXzzz/brC3+/PPPq3HjxlqyZIl++eUXhYWFadKkSXrppZfS5OHm5pZpni1btlRQUJBmzpypwMBApaSkqHLlyrd8QEixYsVUunTpDM918eJFOTo6KjY21uYLsyRzGZqJEyfqww8/1JQpU8x1XwcNGnRHDye51WeamZ07d5rruV66dEmNGzdW48aNNXv2bBUqVEhHjhxR48aNbfJ6/vnn9cwzz2jy5MkKDw/X008/LXd3d0nXP5vdu3fr119/1fLly9WvXz9NnDhRq1atSpMnACDveO655zRgwABJ0ieffGLTl7pe+ZIlS1SkSBGbPhcXF5vtG8eC1MJwZkuqHTp0SC1atFDfvn31zjvvyMfHR2vXrlWvXr109epVc/y5mYODQ5qx+mYXL15UzZo1NXv27DR9hQoVknR9WZUzZ87oww8/VFBQkFxcXBQcHJxt4/XtLCdntVq1d+9ePfLII5KkmJgYde3aVWPHjlXjxo3l7e2tuXPnatKkSeY+zs7O6t69u8LDw9W2bVtFREToww8/NPubNm2qw4cPa+nSpVq+fLkaNGig/v37p3kOCgAAmXF1ddWTTz6pJ598Um+88Yaef/55jRkzxlweNNWtxtzUvyVmzpxpU9yWlOY79e241Xf22+Hg4JDme3V6y76kTvpL5enpqT///FPR0dH65ZdfNHr0aL355pvatGmTChQokKUcgHsNhXQgHfnz57/ll9fMPP/88+rcubOKFi2qUqVKqXbt2jb9xYoVU58+fdSnTx+NGDFCM2fOTLeQXrVqVa1YsUJjx45N03fmzBnt3r1bM2fONB9kunbt2jvO+UYPPfSQrFarTp48aR77ZuvWrVPr1q3VrVs3SdeLCHv27FHFihUzPK6zs7O5vnt22LVrl6KiojRixAhz+8yZM3rvvfdUrFgxSUrzoDJJatasmfLnz6/p06crKipKq1evtul3c3NTy5Yt1bJlS/Xv31/ly5fX1q1bVaNGjWzLHQBwd6WuYWqxWNS4cWObvooVK8rFxUVHjhwx72S6E+mNc7GxsUpJSdGkSZPk4HD9ZtDvv//+js9xoxo1aui7776Tn5+fvLy80o1Zt26dpk2bpmbNmkm6/qC006dPZ3oNkrJ1vP7qq6907tw5tWvXTpK0fv16BQUF6fXXXzdjDh8+nGa/559/XpUrV9a0adOUnJystm3b2vQXKlRIPXr0UI8ePVSnTh0NGzaMQjoA4D+pWLGiFi5cmKb9VmOut7e3AgMDdeDAAXXt2jXTc2zYsMFcczw5OVmxsbHmj/23q0KFCkpOTtbGjRsVEhIi6f9rBKnfyQsVKqQTJ07Y3BV2891tGXFyclLDhg3VsGFDjRkzRgUKFNBvv/2WZiwG7jcU0oEc0LhxY3l5eentt9/WuHHjbPoGDRqkpk2bqmzZsjp37pxWrlypChUqpHucESNGqEqVKurXr5/69OkjZ2dnrVy5Uh06dJCPj498fX312WefqXDhwjpy5Ihee+21bMm/bNmy6tq1q7p3765JkybpoYce0qlTp7RixQpVrVpVzZs3V5kyZTR//nytX79eBQsW1AcffKC4uLhMC+klSpTQ6tWr1alTJ7m4uGTpoWDJyck6ceKEUlJSdObMGUVHR+vtt99W9erVNWzYMElS8eLF5ezsrI8//lh9+vTRtm3b9NZbb6U5lqOjo3r27KkRI0aoTJkyNrfWzZo1S1arVY899pjc3d317bffys3NTUFBQVn4BAEAuY2jo6N5q/PNM8M8PT01dOhQDR48WCkpKXr88ccVHx+vdevWycvLSz169Litc5QoUUIHDx7U5s2bVbRoUXl6eqp06dK6du2aPv74Y7Vs2VLr1q3TjBkzsuWaunbtqokTJ6p169YaN26cihYtqsOHDysyMlLDhw9X0aJFVaZMGX3zzTd6+OGHlZCQoGHDhmU6o83Pz09ubm6KiopS0aJF5erqKm9v79vO6fLlyzpx4oSSk5N19OhRLViwQJMnT1bfvn1Vv359SVKZMmV05MgRzZ07V4888oiWLFliLuFyowoVKqhWrVp69dVX9dxzz9nkPXr0aNWsWVOVKlVSUlKSFi9enOHfUwAA3OzMmTPq0KGDnnvuOVWtWlWenp76448/NGHCBLVu3TpN/O2MuWPHjtXAgQPl7e2tJk2aKCkpSX/88YfOnTunV155xTzWJ598ojJlyqhChQqaPHmyzp07Zz68/HaVKVNGrVu31gsvvKBPP/1Unp6eeu2111SkSBEz/9DQUJ06dUoTJkxQ+/btFRUVpZ9//jnDH99TLV68WAcOHFDdunVVsGBBLV26VCkpKSpXrlyWcgTuRayRDuQABwcH9ezZU1arVd27d7fps1qt6t+/vypUqKAmTZqobNmymjZtWrrHKVu2rH755Rf9/fffevTRRxUcHKwff/xRTk5OcnBw0Ny5cxUbG6vKlStr8ODBmjhxYrZdQ3h4uLp3764hQ4aoXLlyatOmjTZt2qTixYtLkkaNGqUaNWqocePGCg0NVUBAgNq0aZPpMceNG6dDhw6pVKlS5i3nt2v79u0qXLiwihcvrtDQUH3//fcaMWKE1qxZYy43U6hQIc2aNUvz5s1TxYoV9d5772U4My31lvpnn33Wpr1AgQKaOXOmateurapVq+rXX3/VokWL5Ovrm6V8AQC5j5eXV4ZfHt966y298cYbCgsLM8foJUuWmMuH3Y527dqpSZMmql+/vgoVKqQ5c+aoWrVq+uCDDzR+/HhVrlxZs2fPVlhYWLZcj7u7u1avXq3ixYurbdu2qlChgnr16qXExETzOr/44gudO3dONWrU0DPPPKOBAwfKz88vw2M6OTnpo48+0qeffqrAwMB0iwmZmTlzpgoXLqxSpUqpbdu22rFjh7777jubv3VatWqlwYMHa8CAAapevbrWr1+vN954I93jpY7XNxcYnJ2dNWLECFWtWlV169aVo6Oj5s6dm6VcAQD3Lw8PDz322GOaPHmy6tatq8qVK+uNN97QCy+8oKlTp6aJv50x9/nnn9fnn3+u8PBwValSRfXq1dOsWbPS/C3x3nvv6b333lO1atW0du1a/fTTT1maZJYqPDxcNWvWVIsWLRQcHCzDMLR06VJzKbYKFSpo2rRp+uSTT1StWjX9/vvvGjp06C2PW6BAAUVGRuqJJ55QhQoVNGPGDM2ZM0eVKlXKco7AvcZi3O5CxACypFevXjp16pR++ukne6eCdKxZs0YNGjTQP//8I39/f3unAwAA0vHWW29p3rx5mT6cHQCAvODQoUMqWbKk/vrrL1WvXt3e6QC4AyztAmSz+Ph4bd26VRERERTRc6GkpCSdOnVKb775pjp06EARHQCAXOjixYs6dOiQpk6dqrffftve6QAAAAAs7QJkt9atW6tRo0bq06ePnnzySXung5vMmTNHQUFBOn/+vCZMmGDvdAAAQDoGDBigmjVrKjQ0NMvrxgIAAAA5gaVdAAAAAAAAAADIBDPSAQAAAAAAAADIBIV0AAAAAAAAAAAyQSEdAAAAAAAAAIBMUEgHAAAAAAAAACATFNIBAAAAAAAAAMgEhXQAAAAAAAAAADJBIR0AAAAAAAAAgExQSAcAAAAAAAAAIBMU0gEAAAAAAAAAyASFdAAAAAAAAAAAMkEhHQAAAAAAAACATFBIBwAAAAAAAAAgExTSAQAAAAAAAADIBIV0AAAAAAAAAAAyQSEdAAAAAAAAAIBMUEhHnjV//nxZLJZ0X5UrV7Z3egAAIB2M3wAA5D2M3wAgOdk7AeC/GjlypCpUqGBuv/POO3bMBgAA3A7GbwAA8h7GbwD3MwrpyPOefPJJhYaGmtuff/65Tp8+bb+EAADALTF+AwCQ9zB+A7ifsbQL8qyrV69Kkhwcbv2P8axZs2SxWHTo0CGzLSUlRVWrVpXFYtGsWbPM9i1btqhnz5568MEH5erqqoCAAD333HM6c+aMzTHffPPNdG9rc3L6/9+nQkNDVblyZcXGxiokJERubm4qWbKkZsyYkeZaRo8erZo1a8rb21v58+dXnTp1tHLlSpu4Q4cOmedZuHChTV9iYqIKFiwoi8Wi999/P02efn5+unbtms0+c+bMMY934x8/P/74o5o3b67AwEC5uLioVKlSeuutt2S1Wm/5Waeeb9euXerYsaO8vLzk6+url19+WYmJiTax4eHheuKJJ+Tn5ycXFxdVrFhR06dPT3PM1q1bq0SJEnJ1dZWfn59atWqlrVu32sSkXseUKVPS7F++fHlZLBYNGDDAbDt79qyGDh2qKlWqyMPDQ15eXmratKn+/vtvm3179OghV1dX7dy506a9cePGKliwoI4dO2a2HThwQB06dJCPj4/c3d1Vq1YtLVmyxGa/6Ohom39eXFxcVLZsWYWFhckwjMw/XAC4BzB+L7TpY/xm/AaAvIDxe6FNH+M34zfuT8xIR56VOpC7uLjc0f7ffPNNmsFAkpYvX64DBw7o2WefVUBAgLZv367PPvtM27dv14YNG2SxWGzip0+fLg8PD3P75j8szp07p2bNmqljx47q3Lmzvv/+e/Xt21fOzs567rnnJEkJCQn6/PPP1blzZ73wwgu6cOGCvvjiCzVu3Fi///67qlevbnNMV1dXhYeHq02bNmZbZGRkmoHyRhcuXNDixYv11FNPmW3h4eFydXVNs9+sWbPk4eGhV155RR4eHvrtt980evRoJSQkaOLEiRme40YdO3ZUiRIlFBYWpg0bNuijjz7SuXPn9PXXX9t8dpUqVVKrVq3k5OSkRYsWqV+/fkpJSVH//v1tjvfiiy8qICBAx44d09SpU9WwYUMdPHhQ7u7uaT6XQYMGmW3r16/X4cOH0+R34MABLVy4UB06dFDJkiUVFxenTz/9VPXq1dOOHTsUGBgoSfrwww/122+/qUePHoqJiZGjo6M+/fRT/fLLL/rmm2/MuLi4OIWEhOjy5csaOHCgfH199dVXX6lVq1aaP3++zecu/f8tkVeuXNF3332nkSNHys/PT7169bqtzxcA8irGb8Zvxm8AyHsYvxm/Gb8BSQaQR02ZMsWQZPz999827fXq1TMqVapk0xYeHm5IMg4ePGgYhmEkJiYaxYsXN5o2bWpIMsLDw83Yy5cvpznXnDlzDEnG6tWrzbYxY8YYkoxTp05lmGO9evUMScakSZPMtqSkJKN69eqGn5+fcfXqVcMwDCM5OdlISkqy2ffcuXOGv7+/8dxzz5ltBw8eNCQZnTt3NpycnIwTJ06YfQ0aNDC6dOliSDImTpyYJs/OnTsbLVq0MNsPHz5sODg4GJ07d05zHel9Br179zbc3d2NxMTEDK/3xvO1atXKpr1fv35p/v9K7zyNGzc2HnzwwUzP8f333xuSjD/++MNsk2S0b9/ecHJysmnv1auX+bn079/fbE9MTDSsVqvNcQ8ePGi4uLgY48aNs2lftmyZIcl4++23jQMHDhgeHh5GmzZtbGIGDRpkSDLWrFljtl24cMEoWbKkUaJECfNcK1euNCQZK1eutMnFwcHB6NevX6bXDQD3AsZvxm/GbwDIexi/Gb8ZvwHDYGkX5Fmpt3oVKlQoy/t+8sknOnPmjMaMGZOmz83NzXyfmJio06dPq1atWpKkP//8M8vncnJyUu/evc1tZ2dn9e7dWydPnlRsbKwkydHRUc7OzpKu3/J29uxZJScn6+GHH073nDVq1FClSpX0zTffSJIOHz6slStXqmfPnhnm8dxzzykqKkonTpyQJH311VcKDg5W2bJl08Te+BlcuHBBp0+fVp06dXT58mXt2rXrtq775l+0X3rpJUnS0qVL0z1PfHy8Tp8+rXr16unAgQOKj4+32f/y5cs6ffq0Nm/erJkzZ8rf3z9N7v7+/mrevLnCw8PNfb7//ns9++yzafJzcXExZy9YrVadOXNGHh4eKleuXJrPvFGjRurdu7fGjRuntm3bytXVVZ9++qlNzNKlS/Xoo4/q8ccfN9s8PDz04osv6tChQ9qxY4dNfOr1HjlyRBMmTFBKSoqeeOKJdD5JALi3MH4zfjN+A0Dew/jN+M34DbBGOvKww4cPy8nJKcsDeXx8vN5991298sor8vf3T9N/9uxZvfzyy/L395ebm5sKFSqkkiVLmvtmVWBgoPLnz2/TljoA3bhm3FdffaWqVavK1dVVvr6+KlSokJYsWZLhOZ999llzwJo1a5ZCQkJUpkyZDPOoXr26KleurK+//lqGYWjWrFnpDnCStH37dj311FPy9vaWl5eXChUqpG7dukm6/c/g5lxKlSolBwcHm2tet26dGjZsqPz586tAgQIqVKiQRo4cme55xo0bp0KFCumhhx7SoUOHFB0dLU9PzzTnffbZZxUREaGkpCTNmzdPBQsWTHeATElJ0eTJk1WmTBm5uLjogQceUKFChbRly5Z0r/H999+Xj4+PNm/erI8++kh+fn42/YcPH1a5cuXS7Jf6RPubb29r06aNChUqpKCgIL355psaNWqU2rVrl2Z/ALjXMH4zfjN+A0Dew/jN+M34DVBIRx62e/duPfjggzYPF7kd48ePl4ODg4YNG5Zuf8eOHTVz5kz16dNHkZGR+uWXXxQVFSXp+n/8c8K3336rnj17qlSpUvriiy8UFRWl5cuX64knnsjwnN26ddO+ffu0YcMGffXVVxkOyjd67rnnFB4erlWrVunEiRPq2LFjmpjz58+rXr16+vvvvzVu3DgtWrRIy5cv1/jx4yXd+Wdw89p2+/fvV4MGDXT69Gl98MEHWrJkiZYvX67Bgwene57nn39ev/zyi7788ku5urqqXbt26Q64zZs3l7OzsxYuXKjw8HD16NEj3QfipP4xV7duXX377bdatmyZli9frkqVKqV7jX/99ZdOnjwpSemu7ZdV77//vpYvX66lS5dqzJgxGj9+vMaOHfufjwsAuR3jN+M34zcA5D2M34zfjN8ADxtFHpWUlKTNmzfbPOzjdhw7dkwffvihwsLC5OnpmeZJ4OfOndOKFSs0duxYjR492mzfu3fvHed67NgxXbp0yeZX8T179kiSSpQoIUmaP3++HnzwQUVGRtoMeOnd+pbK19dXrVq1Mm9T69ixo82Tv9PTtWtXDRs2TC+//LLat2+f7i/K0dHROnPmjCIjI1W3bl2z/eDBg7d1van27t1rziSQpH379iklJcW85kWLFikpKUk//fSTihcvbsbd/KT0VKVLl1bp0qUlSQ0bNlTx4sUVERGhvn372sQ5OTnpmWee0TvvvKPt27fryy+/TPd48+fPV/369fXFF1/YtJ8/f14PPPCATdulS5f07LPPqmLFigoJCdGECRP01FNP6ZFHHjFjgoKCtHv37jTnSb0VLygoyKa9Zs2aCg0NlSQ1bdpU//77r8aPH6833ngj3T88AOBewPjN+M34DQB5D+M34zfjN3Ad/7QgT0q9dahBgwZZ2m/s2LHy9/dXnz590u13dHSUJBmGYdM+ZcqUO8pTkpKTk23W87p69ao+/fRTFSpUSDVr1szwvBs3blRMTEymx37uuee0ZcsWdejQwebJ5Rnx8fFR69attWXLFvOJ5TdLL5erV69q2rRptzz+jT755BOb7Y8//ljS9UEro/PEx8ebt8tlJvUPlqSkpHT7n3vuOW3dulV169bVgw8+mG6Mo6Njmv+f582bp3///TdN7KuvvqojR47oq6++0gcffKASJUqoR48eNudv1qyZfv/9d5v/zy5duqTPPvtMJUqUUMWKFTO9pitXrig5OVnJycmZxgFAXsb4fR3jN+M3AOQljN/XMX4zfgPMSEeecunSJX388ccaN26c+R/ib7/91iYmLi5OFy9e1Lfffqsnn3zSZh22X375RbNnzzYfLHIzLy8v1a1bVxMmTNC1a9dUpEgR/fLLL1n+NfhGgYGBGj9+vA4dOqSyZcvqu+++0+bNm/XZZ58pX758kqQWLVooMjJSTz31lJo3b66DBw9qxowZqlixoi5evJjhsZs0aaJTp07d1iCeatasWfrkk0/S/OqbKiQkRAULFlSPHj00cOBAWSwWffPNN2kGvVs5ePCgWrVqpSZNmigmJkbffvutunTpomrVqkm6/gARZ2dntWzZUr1799bFixc1c+ZM+fn56fjx4+Zxli5dqs8//1whISHy8fHRgQMHNHPmTOXPn19PPfVUuueuUKGCTp8+bfMwlZu1aNFC48aN07PPPquQkBBt3bpVs2fPTjPw//bbb5o2bZrGjBmjGjVqSJLCw8MVGhqqN954QxMmTJAkvfbaa5ozZ46aNm2qgQMHysfHR1999ZUOHjyoH374Ic2v3MuXL9fRo0d17do1bdq0SbNnz1arVq0y/GcTAPIyxm9bjN+M3wCQFzB+22L8ZvwGZAB5yMGDBw1Jt/1auXKlYRiGER4ebkgyqlevbqSkpKQ5Xnh4uNl29OhR46mnnjIKFChgeHt7Gx06dDCOHTtmSDLGjBljxo0ZM8aQZJw6dSrDfOvVq2dUqlTJ+OOPP4zg4GDD1dXVCAoKMqZOnWoTl5KSYrz77rtGUFCQ4eLiYjz00EPG4sWLjR49ehhBQUFp8p04cWKmn8+N/bfKM73+devWGbVq1TLc3NyMwMBAY/jw4cayZctsPtOMpB5vx44dRvv27Q1PT0+jYMGCxoABA4wrV67YxP70009G1apVDVdXV6NEiRLG+PHjjS+//NKQZBw8eNAwDMPYtm2b0ahRI8PX19dwdnY2ihUrZnTq1MnYsmWLzbEkGf37988wr5v7ExMTjSFDhhiFCxc23NzcjNq1axsxMTFGvXr1jHr16hmGYRgJCQlGUFCQUaNGDePatWs2xxs8eLDh4OBgxMTEmG379+832rdvbxQoUMBwdXU1Hn30UWPx4sU2+61cudLmn1EnJycjKCjIGDhwoHHu3LlMP1sAyKsYvxm/Gb8BIO9h/Gb8ZvwGbFkMI4s/cwF2dOjQIZUsWVIrV64017f6L3E5LTQ0VKdPn9a2bdvslsPd9uabb2rs2LE6depUhr+6AwDuL4zfuR/jNwDgZozfuR/jN3B3sUY6AAAAAAAAAACZoJCOPMXDw0Ndu3a1WXftv8QBAICcx/gNAEDew/gNALZ42CjylAceeCDNw03+SxwAAMh5jN8AAOQ9jN8AYIs10gEAAAAAAAAAyARLuwAAAAAAAAAAkAkK6QAAAAAAAAAAZIJCOmBnJUqUUM+ePe943xYtWmRvQgAA3KfulzH5zTfflMVisWn7L9cOAAAA3A8opAP/M2vWLPNLZXR0tCwWiw4dOiRJ6tmzpzw8PDLc12KxaMCAAXcjzTuyY8cOvfnmm+b13Cg0NFSVK1e+o+OmfmYWi0Vr165N028YhooVKyaLxXLHxYVp06Zp1qxZd7RvdsjsnwsAQPbJ6L+3/fr1k4ODg86ePWsTf/bsWTk4OMjFxUWJiYk2fQcOHJDFYtHIkSPvWv63K6fH5D/++MOmPT4+Xo8++qhcXV0VFRV1R8e+3/Ts2VOhoaGSrv/oUKJECbvmAwDInW5VQ0j9rmyxWOTk5KRixYqpU6dO2rFjh81xUve1WCwZPrS1du3aslgsaf5OSO+HfIvFYn6HLlGihN58883/frEAJFFIB+xu9+7dmjlzZo6eY8eOHRo7dmyOFYBdXV0VERGRpn3VqlU6evSoXFxc7vjY9i6kAwDs6/HHH5dhGFq3bp1N+/r16+Xg4KBr166lKR6nxj7++ONZOte9MCbfKCEhQY0aNdKWLVu0YMECNWnSRJI0atQoXblyJcfPDwDA/czFxUXffPONvvnmG33++efq2bOnVqxYoZCQEB07dixNfEbfqw8dOqT169fL1dX1bqQNIBMU0gE7c3FxUb58+eydxn/SrFkzzZs3T8nJyTbtERERqlmzpgICAuyUWfqSk5N19epVe6cBALgNqcXwm+98WrdunapWrapy5cql6Vu7dq0cHBwUEhKSpXPdC2NyqgsXLqhx48bavHmzfvjhBzVt2tTsc3JyyjVfxi9fvmzvFAAAyBFOTk7q1q2bunXrpp49e+qtt97SrFmzFB8fryVLlqSJb9asmZYvX67Tp0/btEdERMjf318PP/zw3UodQAYopAM5JCkpSWPGjFHp0qXl4uKiYsWKafjw4UpKSrKJS29N0i1btqhevXpyc3NT0aJF9fbbbys8PDzDZUXWrl1r3rb94IMP6uuvvzb7Zs2apQ4dOkiS6tevb94yFh0dnWHuqUvVLFy4UJUrV5aLi4sqVaqU4S3hnTt31pkzZ7R8+XKz7erVq5o/f766dOmS7j4pKSmaMmWKKlWqJFdXV/n7+6t37946d+6czWezfft2rVq1ysw79VZrSTp//rwGDRqkYsWKycXFRaVLl9b48eOVkpJixhw6dEgWi0Xvv/++pkyZolKlSsnFxcW8ne7jjz9WpUqV5O7uroIFC+rhhx9OdxYAAMA+ihcvrmLFiqWZkb5u3TrVrl1bISEh6fZVqlRJBQoUkHR/jcmSdPHiRTVp0kR//vmnfvjhBzVv3tymP7010tNz4MABdejQQT4+PnJ3d1etWrXS/eJ/+PBhtWrVSvnz55efn58GDx6sZcuWpbm21KVrYmNjVbduXbm7u5vL7/z4449q3ry5AgMD5eLiolKlSumtt96S1Wq1OVfqMVL/f3F3d1fp0qU1f/58Sdfvhnvsscfk5uamcuXK6ddff7XZ/8KFCxo0aJBKlCghFxcX+fn56cknn9Sff/55y88DAID/KnWSmZOTU5q+1q1by8XFRfPmzbNpj4iIUMeOHeXo6HhXcgSQsbT/5gLI0M2/DGckJSVFrVq10tq1a/Xiiy+qQoUK2rp1qyZPnqw9e/Zo4cKFGe7777//ml+uR4wYofz58+vzzz/PcHmUffv2qX379urVq5d69OihL7/8Uj179lTNmjVVqVIl1a1bVwMHDtRHH32kkSNHqkKFCpJk/m9G1q5dq8jISPXr10+enp766KOP1K5dOx05ckS+vr42sSVKlFBwcLDmzJljznj7+eefFR8fr06dOumjjz5Kc/zevXtr1qxZevbZZzVw4EAdPHhQU6dO1V9//aV169YpX758mjJlil566SV5eHjo9ddflyT5+/tLuj6DrV69evr333/Vu3dvFS9eXOvXr9eIESN0/PhxTZkyxeZ84eHhSkxM1IsvvigXFxf5+Pho5syZGjhwoNq3b6+XX35ZiYmJ2rJlizZu3JjhDwAAgLvv8ccfV2RkpJKSkuTi4qKrV69q06ZN6tu3ry5fvqzhw4fLMAxZLBadO3dOO3bsUJ8+fSTdf2PypUuX1LRpU23atEnz58+/42eUxMXFKSQkRJcvX9bAgQPl6+urr776Sq1atdL8+fP11FNPmed74okndPz4cb388ssKCAhQRESEVq5cme5xz5w5o6ZNm6pTp07q1q2bOa7PmjVLHh4eeuWVV+Th4aHffvtNo0ePVkJCgiZOnGhzjHPnzqlFixbq1KmTOnTooOnTp6tTp06aPXu2Bg0apD59+qhLly6aOHGi2rdvr3/++Ueenp6SpD59+mj+/PkaMGCAKlasqDNnzmjt2rXauXOnatSocUefFQAAGUmtIVitVh04cECvvvqqfH190x2f3d3d1bp1a82ZM0d9+/aVJP3999/avn27Pv/8c23ZsuWu5g4gHQaAW+rRo4chKdNX//79zfhvvvnGcHBwMNasWWNznBkzZhiSjHXr1pltQUFBRo8ePcztl156ybBYLMZff/1ltp05c8bw8fExJBkHDx602VeSsXr1arPt5MmThouLizFkyBCzbd68eYYkY+XKlWmurV69ekalSpVs2iQZzs7Oxr59+8y2v//+25BkfPzxx2ZbeHi4IcnYtGmTMXXqVMPT09O4fPmyYRiG0aFDB6N+/fpmns2bNzf3W7NmjSHJmD17ts15o6Ki0rRXqlTJqFevXpq833rrLSN//vzGnj17bNpfe+01w9HR0Thy5IhhGIZx8OBBQ5Lh5eVlnDx50ia2devWaa4dAJD7fPLJJ4Ykc1yNiYkxJBmHDx82duzYYUgytm/fbhiGYSxevNhmLLnfxuSgoCAjX758xsKFCzP6OI0xY8YYN38NuPnaBw0aZPOZG4ZhXLhwwShZsqRRokQJw2q1GoZhGJMmTTIk2ZzvypUrRvny5dNcZ7169QxJxowZM9LklPr3w4169+5tuLu7G4mJiWmOERERYbbt2rXLkGQ4ODgYGzZsMNuXLVtmSDLCw8PNNm9vb5u/2QAAyAkZ1RCKFClixMbG2sSuXLnSkGTMmzfPWLx4sWGxWMzvs8OGDTMefPBBwzDS/zvh5u/aAHIWS7sAt8nV1VXLly9P93WzefPmqUKFCipfvrxOnz5tvp544glJynCWliRFRUUpODhY1atXN9t8fHzUtWvXdOMrVqyoOnXqmNuFChVSuXLldODAgTu80usaNmyoUqVKmdtVq1aVl5dXhsft2LGjrly5osWLF+vChQtavHhxhrO6582bJ29vbz355JM2n0/NmjXl4eGR6edz4zHq1KmjggUL2hyjYcOGslqtWr16tU18u3btVKhQIZu2AgUK6OjRo9q0adMtzwcAsJ+b10lft26dihQpouLFi6t8+fLy8fExl3e5+UGj99uYHBcXJ1dXVxUrVuw/nXPp0qV69NFHbR7Y6uHhoRdffFGHDh0yl0iLiopSkSJF1KpVKzPO1dVVL7zwQrrHdXFx0bPPPpum3c3NzXx/4cIFnT59WnXq1NHly5e1a9cum1gPDw916tTJ3C5XrpwKFCigChUq6LHHHjPbU9/f+DkVKFBAGzduTPchbwAAZKcbawjLli3Tp59+Kg8PDzVr1kx79uxJd59GjRrJx8dHc+fOlWEYmjt3rjp37nyXMweQEZZ2AW6To6OjGjZseFuxe/fu1c6dO9MUblOdPHkyw30PHz6s4ODgNO2lS5dON7548eJp2goWLGiz1vidyOpxCxUqpIYNGyoiIkKXL1+W1WpV+/bt043du3ev4uPj5efnl25/Zp/PjcfYsmXLbX/GJUuWTBPz6quv6tdff9Wjjz6q0qVLq1GjRurSpYtq1659y/MDAO6eypUrq0CBAjbF8tT/VlssFgUHB2vdunV64YUXtG7dOhUrVswcx+63MfnTTz/VK6+8oiZNmmjNmjUqV67cHZ3z8OHDNkXpVKnL0Bw+fFiVK1fW4cOHVapUqTRrrmf0GRUpUkTOzs5p2rdv365Ro0bpt99+U0JCgk1ffHy8zXbRokXTnM/b2zvNjwfe3t6SZPM5TZgwQT169FCxYsVUs2ZNNWvWTN27d9eDDz6Ybr4AANyp9GoIzZo1U5kyZTRixAj98MMPafbJly+fOnTooIiICD366KP6559/WHYUyEUopAM5ICUlRVWqVNEHH3yQbv9/nSV2o4weOGIYxl0/bpcuXfTCCy/oxIkTatq0qfmQt5ulpKTIz89Ps2fPTrc/o2LHzcd48sknNXz48HT7y5Yta7N940y3VBUqVNDu3bu1ePFiRUVF6YcfftC0adM0evRojR079pY5AADuDgcHBwUHB2v9+vUyDEPr1q0zH1IpSSEhIfryyy/NtdPbtGlj9t1vY3LFihW1dOlSNWjQQE8++aT5w0Jukd54fP78edWrV09eXl4aN26cSpUqJVdXV/3555969dVXbR4iLmX8edzO59SxY0fVqVNHCxYs0C+//KKJEydq/PjxioyMNJ/zAgBATilatKjKlSuX5g7qG3Xp0kUzZszQm2++qWrVqqlixYp3MUMAmaGQDuSAUqVK6e+//1aDBg3SzJi6laCgIO3bty9Ne3pttyurOdypp556Sr1799aGDRv03XffZRhXqlQp/frrr6pdu3a6X6hvlFHupUqV0sWLF2/7LoGM5M+fX08//bSefvppXb16VW3bttU777yjESNGyNXV9T8dGwCQfR5//HH9/PPP+umnn3Ty5Embu4dCQkL0+uuva+nSpbpy5YrNciT345j86KOPauHChWrevLmefPJJrVmz5rZ+pL5RUFCQdu/enaY9dZmVoKAg83937NhhPuw1VVY+o+joaJ05c0aRkZGqW7eu2X7w4MEs5Xy7ChcurH79+qlfv346efKkatSooXfeeYdCOgDgrkhOTtbFixcz7H/88cdVvHhxRUdHa/z48XcxMwC3whrpQA7o2LGj/v33X82cOTNN35UrV3Tp0qUM923cuLFiYmK0efNms+3s2bMZzt6+Hfnz55d0fcZXTvLw8ND06dP15ptvqmXLlhnGdezYUVarVW+99VaavuTkZJs88+fPn27eHTt2VExMjJYtW5am7/z580pOTr5lvmfOnLHZdnZ2VsWKFWUYhq5du3bL/QEAd09qcXz8+PFyd3e3Wbf80UcflZOTkyZMmGATK92/Y3KDBg00Z84c7du3T02aNEmzXMqtNGvWTL///rtiYmLMtkuXLumzzz5TiRIlzNlxjRs31r///quffvrJjEtMTEz3885I6kzyG2eOX716VdOmTctSzrditVrTLBPj5+enwMBAJSUlZeu5AABIz549e7R7925Vq1YtwxiLxaKPPvpIY8aM0TPPPHMXswNwK8xIB3LAM888o++//159+vTRypUrVbt2bVmtVu3atUvff/+9li1bpocffjjdfYcPH65vv/1WTz75pF566SXlz59fn3/+uYoXL66zZ8/e0Uy26tWry9HRUePHj1d8fLxcXFz0xBNPZLhG+X/Ro0ePW8bUq1dPvXv3VlhYmDZv3qxGjRopX7582rt3r+bNm6cPP/zQXF+9Zs2amj59ut5++22VLl1afn5+euKJJzRs2DD99NNPatGihXr27KmaNWvq0qVL2rp1q+bPn69Dhw7pgQceyDSPRo0aKSAgQLVr15a/v7927typqVOnqnnz5vL09MyWzwMAkD0effRROTs7KyYmRqGhoXJy+v8/Y93d3VWtWjXFxMSoQIECqly5stl3P4/JTz31lGbOnKnnnntOrVq1UlRU1G3fbfXaa69pzpw5atq0qQYOHCgfHx999dVXOnjwoH744Qc5OFyfj9O7d29NnTpVnTt31ssvv6zChQtr9uzZ5nlu5zMKCQlRwYIF1aNHDw0cOFAWi0XffPPNf14S52YXLlxQ0aJF1b59e1WrVk0eHh769ddftWnTJk2aNClbzwUAQHJysr799ltJ15eaO3TokGbMmKGUlBSNGTMm031bt26t1q1b3400AWQBhXQgBzg4OGjhwoWaPHmyvv76ay1YsEDu7u568MEH9fLLL6dZv/tGxYoV08qVKzVw4EC9++67KlSokPr376/8+fNr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Q4eycgoAdlSqVClt3bpVjz32mBITE832s2fPytfX13x2Ab+IA3lLfHy8JMnHx8emffbs2fr2228VEBCgli1b6o033jBnpcfExKhKlSry9/c34xs3bqy+fftq+/bteuihh+7eBQDI1KJFi8y/04sWLart27erZcuWkqRixYrpn3/+kWEYWrRokdq0aWPHTAEAQKqNGzdKkpKTk3X06FGbvhu3N27cmOZucQD2kaUZ6QDubd98840kmUX0WrVqacWKFapVq5YkKSkpySYOQO6XkpKiQYMGqXbt2qpcubLZ3qVLF3377bdauXKlRowYoW+++UbdunUz+0+cOGFTRJdkbqcu03azpKQkJSQk2LwA5LyXXnpJkvTII4/o0KFDWrlypSIiIrRy5UodPHhQNWvWtIkDAAD29++//2ZrHICcx9PCAJhuXq6hVKlSKlCggEqVKqUNGzZkGAcg9+rfv7+2bdumtWvX2rS/+OKL5vsqVaqocOHCatCggfbv33/Hd52EhYVp7Nix/ylfAFmXetdJ6rNObta1a1fFxsaacQAAwP5unoX+X+MA5DxmpAMw1atXT9L/P3Bw9uzZqlmzpvnwstT21DgAuduAAQO0ePFirVy5UkWLFs009rHHHpMk7du3T5IUEBCguLg4m5jU7YCAgHSPMWLECMXHx5uvf/75579eAoDbULx4cUnSa6+9ptKlS6t+/frq0qWL6tevr9KlS2vUqFE2cQAAwP5++eUX872vr69CQ0NVr149hYaGytfXN904APZFIR2A6dixY5Kur7V64cIFtWnTRlWqVFGbNm104cIFRUZG2sQByJ0Mw9CAAQO0YMEC/fbbbypZsuQt99m8ebMkqXDhwpKk4OBgbd26VSdPnjRjli9fLi8vL1WsWDHdY7i4uMjLy8vmBSDnrV69WpJ0+fJlHT582Kbv8OHDunz5sk0cAACwvxsnnZw5c0bR0dFatWqVoqOjdebMmXTjANgXS7sAMAUGBurs2bN6/fXXFRMTowULFtj0jx492owDkHv1799fERER+vHHH+Xp6Wmuae7t7S03Nzft379fERERatasmXx9fbVlyxYNHjxYdevWVdWqVSVJjRo1UsWKFfXMM89owoQJOnHihEaNGqX+/fubDx4GkDt4e3vLYrHIMAzzoaOpUrctFou8vb3tkR4AAABwT2BGOgDTqlWrJEkb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lSRp+/bt6tOnj1555RU1a9ZM27dvV8eOHc04AAAAAACagpycHLXvEKOTxSesTkVDhgyxOgV5enlr184siunAOSikAzBNmzbN/FxRNJek/Px8p/Vp06bp9ddfr9fcAAAAAAC4FI4cOaKTxScUdNtjcg+KsCQH41SpThXkyy0gRDY3D0tykKSyowd1NHW6jhw5QiEdOAeFdACmPXv21GkcAAAAAACNhXtQhOyhbaxLoOWV1p0bwAW5WJ0AgIYjJCTE/Lx7925FRUXJx8dHUVFR2r17d5VxAAAAAAAAQFPHiHQAplWrVpmf09LStH//fknS8ePHlZaWVmUcAAAAAAAA0NQxIh2A6ZdffjE/33///U7bzl4/Ow4AAAAAAABo6iikAzA1a9asTuMAAAAAAACApoBCOgDT+PHjzc/z589XcnKyfv/73ys5OVnz58+vMg4AAAAAAABo6iikAzCNHTvW/HzvvfcqNTVVw4YNU2pqqu69994q4wAAAAAAAICmjpeNAjivAwcOaPDgwVanAQAAAAAAAFiq1oX09evX68UXX9T27duVm5urJUuWKCkp6bzxH330kd544w1lZmaqpKREV111laZMmaKEhISLyRsAAABokEJ9berocUjuNlerU7FMmcchyddmdRoAAABAnal1If348ePq1KmThg8frgEDBlwwfv369erbt6+ef/55NWvWTHPnztXtt9+ujIwMde7c+VclDeDS+Pe//63hw4eb60OHDtW4ceP00ksvacGCBU5xAACgag909dCU8FlWp2GtcGlKVw+rswAAAADqTK0L6f369VO/fv1qHP/qq686rT///PNatmyZPvnkEwrpQANz1113ORXSFyxYoEWLFqmsrKxSHAAAqNqb20u1qd3Dcg+KsDoVy5QdPagd21/UHVYnAgAAANSRep8jvby8XEVFRQoMDDxvTElJiUpKSsz1wsLC+kgNuOwNHTq0Utu5RfSKuCVLltRHSgAANDp5DkMqDZfdiLY6FcuUlJ4+83cAAAAAmgiX+j7hSy+9JIfDoUGDBp03ZurUqQoICDCXiIjLdzQPUJ/27dtXp3EAAAAAAABAU1CvhfSFCxfq6aef1uLFi9WiRYvzxk2YMEEFBQXmcvDgwXrMErh8tWrVqsrPF9oGAAAAAAAANGX1NrXLokWLNHLkSL3//vvq06dPtbF2u112u72e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TNddd12dxgFouKZMmSKbzea0dOjQwdzO/KoAADRs5eXleuSRR9SzZ09dffXVkqS8vDx5eHioWbNmTrEhISHKy8s777FKSkpUWFjotAAAAGcU0gFUaefOnerZs6ciIiLUs2dP7dy50+qUANSxq666Srm5uebyxRdfmNuYXxUAgIYtOTlZ3377rRYtWnTRx5o6daoCAgLMJSIiog4yBACgaWGOdABVSkxM1P79+yVJBw8eVGJiorUJAahzbm5uCg0NrdTO/KoAADRso0ePVmpqqtavX6+WLVua7aGhoSotLdUvv/ziNCo9Pz+/yj6/woQJEzR27FhzvbCwkGI6AADnYEQ6gCpFRERoxowZ+ve//60ZM2bwRRpogvbs2aPw8HBdccUVGjx4sHJyciQxvyoAAA2VYRgaPXq0lixZos8//1zR0dFO27t27Sp3d3etWbPGbNu1a5dycnIUGxt73uPa7Xb5+/s7LQAAwBkj0gGY3N3dVVZWJknasGGDNmzYcN44AI1b9+7dlZKSovbt2ys3N1dPP/20evXqpW+//fai5lctKSkx15lfFQCAupWcnKyFCxdq2bJl8vPzM/vlgIAAeXl5KSAgQCNGjNDYsWMVGBgof39/PfTQQ4qNjeWJMgAALhKFdACm2bNn689//nON4gA0bv369TM/X3PNNerevbtatWqlxYsXy8vL61cdc+rUqXr66afrKkUAAHCON954Q5IUFxfn1D537lzze/wrr7wiFxcXDRw4UCUlJUpISNDMmTPrOVMAAJoepnYBYHJzq9lvazWNA9B4NGvWTO3atdPevXud5lc9W03mVy0oKDCXgwcPXuKsAQC4vBiGUeVy9mAYT09PzZgxQ8eOHdPx48f10UcfVdt/AwCAmqGQDsB0+PDhOo0D0Hg4HA7t27dPYWFhzK8KAAAAAMA5al1IX79+vW6//XaFh4fLZrNp6dKlF9wnLS1NXbp0kd1uV5s2bZSSkvIrUgVwqQUHB0s6M+XDjh075OJy5n8RLi4u2rFjhzkVREUcgMZr3LhxWrdunfbv369Nmzapf//+cnV11d133+00v+ratWu1fft23XfffcyvCgAAAAC4bNV6fobjx4+rU6dOGj58uAYMGHDB+OzsbN1666168MEH9e6772rNmjUaOXKkwsLClJCQ8KuSBnBp/Pa3v5UkrVixQitXrpRhGJKk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nYqOjnYa7ZWWlqb4+HiVl5dr6tSpio6OlpeXlzp16qQPPvjAKe7cJ8tmz56tiIgIeXt7q3///nr55ZerfPJrwYIFioqKUkBAgP70pz+pqKhI0pk+bN26dXrttdfM/u/sPu7cc69Zs0bXXXedvL291aNHD+3atavK6//888918803a8SIEZo9e7ZcXM585b/QVDMlJSUaM2aMWrRoIU9PT914443aunWrU8zHH39s9q/x8fGaN2+e09+lYmT8xx9/rCuvvFJ2u105OTnaunWr+vbtq+bNmysgIEC9e/fWl19+6XRsm82mN998U7fddpu8vb0VExOj9PR07d27V3FxcfLx8VGPHj2cnh74+uuvFR8fLz8/P/n7+6tr165OP6AAANAQ2O12hYaGKjQ0VNdee63+9re/6eDBgzp8+LAZU5v7awDWoJAOWGDfvn1KTEzUwIED9c033+g///mPvvjiC40ePbrK+NOnTyspKUne3t7KyMjQW2+9pYkTJ1YZO3HiRI0bN06ZmZlq166d7r77bp06dUo9evTQq6++Kn9/f/OX8HHjxp03x+nTp+u6667TV199pb/+9a/6y1/+UumGvWvXroqKitKHH34oScrJydH69es1dOhQp7iysjIlJCTIz89PGzZs0MaNG+Xr66vExETzUfNBgwY5/Urfo0ePC+5XYc2aNdq1a5dWr16t1NRUbdu2TWPGjNEzzzyjXbt2aeXKlbrppptq9N8GANA0xMfHa+3ateb62rVrFRcXp969e5vtxcXFysjIUHx8vKZOnar58+dr1qxZ+u677/Too49qyJAhWrduXZXH37hxox588EE9/PDDyszMVN++ffXcc89Vitu3b5+WLl2q1NRUpaamat26dXrhhRckSa+99ppiY2M1atQos/+LiIg47zVNnDhR06dP17Zt2+Tm5qbhw4dXilmyZIluvfVWTZo0Sf/4xz9q9Td74okn9OGHH2revHn68ssv1aZNGyUkJOjYsWOSpOzsbP3hD39QUlKSvv76az3wwANVfh85ceKE/vGPf2jOnDn67rvv1KJFCxUVFWnYsGH64osvtHnzZrVt21a33HKL+aNChb///e+69957lZmZqQ4dOuiee+7RAw88oAkTJmjbtm0yDMPp+9LgwYPVsmVLbd26Vdu3b9ff/vY3ubu71+q6AQCoTw6HQ++8847atGnj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",
"text/plain": [
"<Figure size 1500x1000 with 6 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"visualize_outliers(df)"
]
},
{
"cell_type": "code",
"execution_count": 238,
"metadata": {},
"outputs": [],
"source": [
"def remove_outliers(df: DataFrame, columns: list[str]) -> DataFrame:\n",
" \"\"\"\n",
" Устраняет выбросы в заданных колонках:\n",
" задает значениям выше максимального значение максимума, ниже минимального - значение минимума\n",
" \"\"\"\n",
" for column in columns:\n",
" Q1: float = df[column].quantile(0.25)\n",
" Q3: float = df[column].quantile(0.75)\n",
" IQR: float = Q3 - Q1\n",
"\n",
" lower_bound: float = Q1 - 1.5 * IQR\n",
" upper_bound: float = Q3 + 1.5 * IQR\n",
"\n",
" df[column] = df[column].apply(lambda x: lower_bound if x < lower_bound else upper_bound if x > upper_bound else x)\n",
" \n",
" return df"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Удаляем выбросы"
]
},
{
"cell_type": "code",
"execution_count": 239,
"metadata": {},
"outputs": [],
"source": [
"outliers_columns = list(outliers_info[outliers_info[\"Has Outliers\"] == True][\"Column\"])\n",
"df = remove_outliers(df, outliers_columns)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Снова получим данные о выбросах"
]
},
{
"cell_type": "code",
"execution_count": 240,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Column</th>\n",
" <th>Has Outliers</th>\n",
" <th>Outliers Count</th>\n",
" <th>Min Value</th>\n",
" <th>Max Value</th>\n",
" <th>Q1</th>\n",
" <th>Q3</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>PhysicalHealthDays</td>\n",
" <td>False</td>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" <td>7.500</td>\n",
" <td>0.00</td>\n",
" <td>3.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>MentalHealthDays</td>\n",
" <td>False</td>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" <td>10.000</td>\n",
" <td>0.00</td>\n",
" <td>4.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>SleepHours</td>\n",
" <td>False</td>\n",
" <td>0</td>\n",
" <td>3.000</td>\n",
" <td>11.000</td>\n",
" <td>6.00</td>\n",
" <td>8.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>HeightInMeters</td>\n",
" <td>False</td>\n",
" <td>0</td>\n",
" <td>1.405</td>\n",
" <td>2.005</td>\n",
" <td>1.63</td>\n",
" <td>1.78</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>WeightInKilograms</td>\n",
" <td>False</td>\n",
" <td>0</td>\n",
" <td>28.120</td>\n",
" <td>136.065</td>\n",
" <td>68.04</td>\n",
" <td>95.25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>BMI</td>\n",
" <td>False</td>\n",
" <td>0</td>\n",
" <td>12.840</td>\n",
" <td>43.320</td>\n",
" <td>24.27</td>\n",
" <td>31.89</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Column Has Outliers Outliers Count Min Value Max Value \\\n",
"0 PhysicalHealthDays False 0 0.000 7.500 \n",
"1 MentalHealthDays False 0 0.000 10.000 \n",
"2 SleepHours False 0 3.000 11.000 \n",
"3 HeightInMeters False 0 1.405 2.005 \n",
"4 WeightInKilograms False 0 28.120 136.065 \n",
"5 BMI False 0 12.840 43.320 \n",
"\n",
" Q1 Q3 \n",
"0 0.00 3.00 \n",
"1 0.00 4.00 \n",
"2 6.00 8.00 \n",
"3 1.63 1.78 \n",
"4 68.04 95.25 \n",
"5 24.27 31.89 "
]
},
"execution_count": 240,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"get_outliers_info(df)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Видим, что выбросов не осталось - проверим через диаграммы"
]
},
{
"cell_type": "code",
"execution_count": 241,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABdEAAAPeCAYAAADj01PlAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAADoXklEQVR4nOzdd3gUVdvH8d8mIZuQRggJEEihd6SKdJASYwhgoQkSQFERRUBQo9KV0AQsgMijCVKkg4ACglJUioAiRaRIlR5KQg2QzPsHb1aWZOjJkvD9XNdcj3PmzJx7Fh7unXtnzlgMwzAEAAAAAAAAAADScHJ0AAAAAAAAAAAAPKgoogMAAAAAAAAAYIIiOgAAAAAAAAAAJiiiAwAAAAAAAABggiI6AAAAAAAAAAAmKKIDAAAAAAAAAGCCIjoAAAAAAAAAACYoogMAAAAAAAAAYIIiOgAAAAAAAAAAJiiiAwAAAAAAAABggiI6sqxZs2bJYrGku5QtW9bR4QEAgHSQvwEAyHrI3wAedi6ODgC4V++++65KlSplW//www8dGA0AALgd5G8AALIe8jeAhxVFdGR5jRo1Ur169Wzr//vf/xQfH++4gAAAwC2RvwEAyHrI3wAeVkzngizr8uXLkiQnp1v/NY6Li5PFYtG+fftsbSkpKSpfvrwsFovi4uJs7Zs3b1aHDh1UuHBhubm5KV++fOrUqZNOnjxpd8z+/fun+yibi8t/v03Vq1dPZcuW1caNG1WjRg25u7urUKFC+vzzz9OcS9++fVW5cmX5+PjIw8NDtWvX1vLly+367du3zzbOvHnz7LZdunRJvr6+slgsGjFiRJo4AwICdOXKFbt9vvnmG9vxrv/i8+233yoiIkKBgYGyWq0qUqSIBg0apOTk5Ft+1qnj/f3332rZsqW8vb3l5+enN954Q5cuXbLrGxsbq8cff1wBAQGyWq0qXbq0xo0bl+aYzZo1U2hoqNzc3BQQEKCmTZtqy5Ytdn1Sz2P06NFp9i9ZsqQsFotee+01W9upU6fUq1cvlStXTp6envL29lZ4eLj+/PNPu32joqLk5uam7du327WHhYXJ19dXhw8ftrXt2bNHLVq0UO7cuZUzZ0499thj+u677+z2W7Fihd3fF6vVquLFiysmJkaGYdz8wwWAbID8Pc9uG/mb/A0AWQH5e57dNvI3+RsPH+5ER5aVmsStVutd7T9p0qQ0iUCSli5dqj179qhjx47Kly+ftm3bpi+++ELbtm3T2rVrZbFY7PqPGzdOnp6etvUbv1ScPn1aTz75pFq2bKk2bdpoxowZ6tKli1xdXdWpUydJUmJiov73v/+pTZs26ty5s86ePasvv/xSYWFh+u2331ShQgW7Y7q5uSk2NlbNmze3tc2ZMydNkrze2bNntXDhQj311FO2ttjYWLm5uaXZLy4uTp6enurZs6c8PT31008/qW/fvkpMTNTw4cNNx7hey5YtFRoaqpiYGK1du1affPKJTp8+ra+//trusytTpoyaNm0qFxcXLViwQK+++qpSUlLUtWtXu+O99NJLypcvnw4fPqzPPvtMDRs21N69e5UzZ840n0v37t1tbatXr9b+/fvTxLdnzx7NmzdPLVq0UKFChXTs2DGNHz9edevW1V9//aXAwEBJ0scff6yffvpJUVFRWrNmjZydnTV+/Hj98MMPmjRpkq3fsWPHVKNGDV24cEHdunWTn5+fJk6cqKZNm2rWrFl2n7v032OQFy9e1PTp0/Xuu+8qICBAL7zwwm19vgCQVZG/yd/kbwDIesjf5G/yNx56BpBFjR492pBk/Pnnn3btdevWNcqUKWPXFhsba0gy9u7daxiGYVy6dMkIDg42wsPDDUlGbGysre+FCxfSjPXNN98YkoxVq1bZ2vr162dIMk6cOGEaY926dQ1JxkcffWRrS0pKMipUqGAEBAQYly9fNgzDMK5evWokJSXZ7Xv69Gkjb968RqdOnWxte/fuNSQZbdq0MVxcXIyjR4/atjVo0MB47rnnDEnG8OHD08TZpk0bo0mTJrb2/fv3G05OTkabNm3SnEd6n8HLL79s5MyZ07h06ZLp+V4/XtOmTe3aX3311TR/XumNExYWZhQuXPimY8yYMcOQZGzYsMHWJsl49tlnDRcXF7v2F154wfa5dO3a1dZ+6dIlIzk52e64e/fuNaxWqzFw4EC79iVLlhiSjA8++MDYs2eP4enpaTRv3tyuT/fu3Q1Jxs8//2xrO3v2rFGoUCEjNDTUNtby5csNScby5cvtYnFycjJeffXVm543AGQH5G/yN/kbALIe8jf5m/yNhx3TuSDLSn28y9/f/473HTNmjE6ePKl+/fql2ebu7m7770uXLik+Pl6PPfaYJOn333+/47FcXFz08ssv29ZdXV318ssv6/jx49q4caMkydnZWa6urpKuPeZ26tQpXb16VVWqVEl3zEqVKqlMmTKaNGmSJGn//v1avny5OnToYBpHp06dtHjxYh09elSSNHHiRFWvXl3FixdP0/f6z+Ds2bOKj49X7dq1deHCBf3999+3dd43/pL9+uuvS5K+//77dMdJSEhQfHy86tatqz179ighIcFu/wsXLig+Pl6bNm3ShAkTlDdv3jSx582bVxEREYqNjbXtM2PGDHXs2DFNfFar1XbXQnJysk6ePClPT0+VKFEizWfeuHFjvfzyyxo4cKCefvppubm5afz48XZ9vv/+ez366KOqVauWrc3T01MvvfSS9u3bp7/++suuf+r5HjhwQMOGDVNKSooef/zxdD5JAMheyN/kb/I3AGQ95G/yN/kbDzuK6Miy9u/fLxcXlztO4gkJCRo8eLB69uypvHnzptl+6tQpvfHGG8qbN6/c3d3l7++vQoUK2fa9U4GBgfLw8LBrS00+188RN3HiRJUvX15ubm7y8/OTv7+/vvvuO9MxO3bsaEtWcXFxqlGjhooVK2YaR4UKFVS2bFl9/fXXMgxDcXFx6SY3Sdq2bZueeuop+fj4yNvbW/7+/mrXrp2k2/8MboylSJEicnJysjvnX3/9VQ0bNpSHh4dy5colf39/vfvuu+mOM3DgQPn7+6tixYrat2+fVqxYIS8vrzTjduzYUVOnTlVSUpJmzpwpX1/fdJNjSkqKRo0apWLFislqtSpPnjzy9/fX5s2b0z3HESNGKHfu3Nq0aZM++eQTBQQE2G3fv3+/SpQokWa/1DfX3/hIW/PmzeXv76+QkBD1799f77//vp555pk0+wNAdkP+Jn+TvwEg6yF/k7/J33jYUURHlrVjxw4VLlzY7kUit2Po0KFycnJS7969093esmVLTZgwQa+88ormzJmjH374QYsXL5Z07R/+jDB58mR16NBBRYoU0ZdffqnFixdr6dKlevzxx03HbNeunXbv3q21a9dq4sSJpgn5ep06dVJsbKxWrlypo0ePqmXLlmn6nDlzRnXr1tWff/6pgQMHasGCBVq6dKmGDh0q6e4/gxvnsvvnn3/UoEEDxcfHa+TIkfruu++0dOlS9ejRI91xXnzxRf3www/66quv5ObmpmeeeSbdZBsRESFXV1fNmzdPsbGxioqKSvflN6lf5OrUqaPJ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hWyPeN/4mcybN09ly5a1jX8nj949/vjj6tOnj/bv36/Jkyfb2jdv3qwOHTqocOHCcnNzU758+dSpUyedPHnS1mf58uWyWCyaO3dumuNOnTpVFotFa9askSQdPXpUHTt2VMGCBWW1WpU/f341a9Ysw+a8B4CH3XPPPadFixbZPcm0fv167dq1S88991y6+5w5c0bdu3dXUFCQrFarihYtqqFDhyolJcXWJ3U6jxEjRuiLL75QkSJFZLVaVbVqVa1fv97Wr0OHDhozZowk2U0plmrEiBGqUaOG/Pz85O7ursqVK2folGmLFi1S7dq15eHhIS8vL0VERGjbtm12fW4n96UnNDRU27Zt08qVK23neeNj2UlJSerZs6f8/f3l4eGhp556SidOnLit2J2dnfXJJ5+odOnS+uyzz5SQkGDbFhsbq8cff1wBAQGyWq0qXbq0xo0bZ7d/VFSU8uTJk+5d7I0bN1aJEiVs60uXLlWtWrWUK1cueXp6qkSJEnr33XdvK04AQNYRHx+vxMRE1axZM93tAQEBtzzG33//rWeffVa5c+eWm5ubqlSpovnz56fpd6ffL0aNGqWQkBC5u7urbt262rp1692f6P87f/683nzzTVsMJUqU0IgRI2QYRpoY0nuy7MZ3l6VOKfPXX3/pueeek6+vr2rVqiWJa1883LgTHQ+df/75R5Lk5+dna0tOTlZYWJiqVaumESNGaNmyZfroo49UpEgRdenSRRaLRe3atdOwYcN06tQp5c6d27bvggULlJiYaLuzasKECerWrZueffZZvfHGG7p06ZI2b96sdevWmV7YS9cK6506dVKZMmUUHR2tXLly6Y8//tDixYtt+82cOVMXLlxQly5d5Ofnp99++02ffvqp/v33X82cOfOW537lypV051a7/oI11bFjx/TYY4/ZXvDp7++vRYsW6YUXXlBiYqK6d+8uSUpMTNT//vc/tWnTRp07d9bZs2f15ZdfKiwsTL/99psqVKiQbixPP/20du7cqW+++UajRo1Snjx5JEn+/v62Pr/88ovmzJmjV199VV5eXvrkk0/0zDPP6MCBA3Z/fjfz/PPP691339UPP/ygzp07S7p2Eb1nzx517NhR+fLl07Zt2/TFF19o27ZtWrt2ra1AEBQUpClTpuipp56yO+aUKVNUpEgRVa9eXZL0zDPPaNu2bXr99dcVGhqq48ePa+nSpTpw4IBCQ0NvK04AwO17+umn9corr2jOnDnq1KmTpGs/cJYsWVKVKlVK0//ChQuqW7euDh06pJdfflnBwcFavXq1oqOjdeTIEY0ePdqu/9SpU3X27Fm9/PLLslgsGjZsmJ5++mnt2bNHOXLk0Msvv6zDhw9r6dKlmjRpUprxPv74YzVt2lRt27bV5cuXNW3aNLVo0UILFy5URETELc/v7Nmz6ebr9N7pMmnSJEVFRSksLExDhw7VhQsXNG7cONWqVUt//PGHLQ/dTu5Lz+jRo/X666/L09NT7733niQpb968dn1ef/11+fr6ql+/ftq3b59Gjx6t1157TdOnT7/luUrXCult2rRRnz599Msvv9g+o3HjxqlMmTJq2rSpXFxctGDBAr366qtKSUlR165dJV3L819//bWWLFliN0fs0aNH9dNPP6lfv36SpG3btqlJkyYqX768Bg4cKKvVqt27d+vXX3+9rRgBAFlHQECA3N3dtWDBAr3++ut21++3Y9u2bapZs6YKFCigd955Rx4eHpoxY4aaN2+u2bNn264P7/T7xddff62zZ8+qa9euunTpkj7++GM9/vjj2rJlS5rceurUqXRju744L1274a9p06Zavny5XnjhBVWoUEFLlixR7969dejQIY0aNeqOzv16LVq0ULFixTR48GBbQZ5rXzzUDCCbioqKMjw8PIwTJ04YJ06cMHbv3m0MHjzYsFgsRvny5e36STIGDhxot3/FihWNypUr29Z37NhhSDLGjRtn169p06ZGaGiokZKSYhiGYTRr1swoU6bMTWOLjY01JBl79+41DMMwzpw5Y3h5eRnVqlUzLl68aNc39biGYRgXLlxIc6yYmBjDYrEY+/fvt7X169fPuPH/3iEhIYakmy4zZ8609X/hhReM/PnzG/Hx8XbHad26teHj42OL5erVq0ZSUpJdn9OnTxt58+Y1OnXqZNcuyejXr59tffjw4Xafw419XV1djd27d9va/vzzT0OS8emnn9raUj/L9evXpzlGKh8fH6NixYq29fQ+x2+++caQZKxatcrWFh0dbVitVuPMmTO2tuPHjxsuLi628zh9+rQhyRg+fLjp+ACA+yM1txuGYTz77LNGgwYNDMMwjOTkZCNfvnzGgAEDjL1796b5d3nQoEGGh4eHsXPnTrvjvfPOO4azs7Nx4MABwzAM275+fn7GqVOnbP2+/fZbQ5KxYMECW1vXrl3T5NpUN+aZy5cvG2XLljUef/xxu/aQkBAjKirKtr58+fJb5urU8zcMwzh79qyRK1cuo3PnznbHPXr0qOHj42PXfru578bvKIZhGGXKlDHq1q2bZv/Uvg0bNrT7vtKjRw/D2dnZLn/WrVv3pt+P5s6da0gyPv7445vGHBYWZhQuXNi2npycbBQsWNBo1aqVXb+RI0caFovF2LNnj2EYhjFq1ChDknHixAnTGAAA2Uffvn1teTM8PNz48MMPjY0bN6bpl5r7Y2NjbW0NGjQwypUrZ1y6dMnWlpKSYtSoUcMoVqyYre1Ov1+4u7sb//77r63funXrDElGjx49bG2p1/I3WyIiImz9582bZ0gyPvjgA7sYnn32WcNisdiup9M7z1Q3XqenxtCmTRu7flz74mHHdC7I1s6fPy9/f3/5+/uraNGievfdd1W9evV0p+h45ZVX7NZr166tPXv22NaLFy+uatWqacqUKba2U6dOadGiRWrbtq3tDq5cuXLp33//tXvs+1aWLl2qs2fP6p133knzQrTr7wy7fk7v8+fPKz4+XjVq1JBhGPrjjz9uOU61atW0dOnSNMuIESPs+hmGodmzZysyMlKGYSg+Pt62hIWFKSEhQb///ruka3ePubq6Srr2q/ipU6d09epVValSxdbnbjVs2FBFihSxrZcvX17e3t52fy63w9PTU2fPnrWtX/85Xrp0SfHx8XrsscckyS7m9u3bKykpye4R/OnTp+vq1au2Jw/c3d3l6uqqFStW6PTp03d2ggCAu/bcc89pxYoVtjuOjx49avrE18yZM1W7dm35+vra5bSGDRsqOTlZq1atsuvfqlUr+fr62tZr164tSbedf67PM6dPn1ZCQoJq165923mxb9++6ebrxo0b2/VbunSpzpw5ozZt2tidl7Ozs6pVq2Y3tdrt5r678dJLL9l9X6ldu7aSk5O1f//+2z6Gp6enJJnm64SEBMXHx6tu3bras2eP7Sk6JycntW3bVvPnz7fbd8qUKapRo4YKFSok6dr3M0n69ttv09zFBwDIfgYMGKCpU6eqYsWKWrJkid577z1VrlxZlSpV0vbt2033O3XqlH766Se1bNnS9mRYfHy8Tp48qbCwMO3atUuHDh2SdOffL5o3b64CBQrY1h999FFVq1ZN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RAfuQFxcnHLlypVhx1+xYoUsFovOnDlzX463b98+WSwWbdq06b4c707Vq1dP3bt3v2mfjP5MAQB40Dk6F1osFs2bN++mfTp06KDmzZtnSjwAADwIbic/Anh4UEQHbtChQwdZLBZZLBa5urqqaNGiGjhwoK5evZrhY9eoUUNHjhyRj49Phhz/ZkX12yl436vQ0FCNHj36jvfr37+/7c/ExcVFefLkUZ06dTR69GglJSXd/0ABANlCak5/5ZVX0mzr2rWrLBaLOnTocN/G69+/vypUqHDPx7lZUT2jL+jv5Qf4evXq2fK11WpVgQIFFBkZqTlz5tz/QAEAuEcnTpxQly5dFBwcLKvVqnz58iksLEy//vqrw2Jy9DU7AHMU0YF0PPHEEzpy5Ih27dqlN998U/3799fw4cMzfFxXV1fly5dPFoslw8fKasqUKaMjR47owIEDWr58uVq0aKGYmBjVqFFDZ8+edXR4AIAHVFBQkKZNm6aLFy/a2i5duqSpU6cqODjYgZFlT507d9aRI0f0zz//aPbs2SpdurRat26tl156ydGhAQBg55lnntEff/yhiRMnaufOnZo/f77q1aunkydPOjo0h7l8+bKjQwAeWBTRgXSk/godEhKiLl26qGHDhpo/f75t+5IlS1SqVCl5enraCu6StGrVKuXIkUNHjx61O1737t1Vu3ZtSdL+/fsVGRkpX19feXh4qEyZMvr+++8lpT+dy6+//qp69eopZ86c8vX1VVhYmE6fPi1JWrx4sWrVqqVcuXLJz89PTZo00T///HNfPoOkpCT16tVLBQoUkIeHh6pVq6YVK1bYtp88eVJt2rRRgQIFlDNnTpUrV07ffPON6fHq1aun/fv3q0ePHra71K5n9pmmcnFxUb58+RQYGKhy5crp9ddf18qVK7V161YNHTrU1m/SpEmqUqWKvLy8lC9fPj333HM6fvy4JMkwDBUtWlQjRoywO/amTZtksVi0e/duGYah/v372+5GCAwMVLdu3e72YwQAOFilSpUUFBRkdzf0nDlzFBwcrIoVK9raUlJSFBMTo0KFCsnd3V2PPPKIZs2aZduemqN//PFHValSRTlz5lSNGjW0Y8cOSdfuHh8wYID+/PNPW56Li4uTJI0cOVLlypWTh4eHgoKC9Oqrr+rcuXP35fwOHjyoli1bKleuXMqdO7eaNWumffv22bavX79ejRo1Up48eeTj46O6devq999/Nz1eoUKFJEkVK1aUxWJRvXr17LaPGDFC+fPnl5+fn7p27aorV67Ybc+ZM6fy5cunggUL6rHHHtPQoUM1fvx4TZgwQcuWLbP1e/vtt1W8eHHlzJlThQsXVp8+fWzH2rdvn5ycnLRhwwa7Y48ePVohISFKSUnR6dOn1bZtW/n7+8vd3V3FihVTbGzs3XyEAICH0JkzZ/Tzzz9r6NChql+/vkJCQvToo48qOjpaTZs2TXefW+VcSfrf//6nUqVKyc3NTSVLltTYsWNt21LvMp82bZpq1KghNzc3lS1bVitXrryrczh9+rTat28vX19f5cyZU+Hh4dq1a5dte3pPyI0ePVqhoaG29dTp2j788EMFBgaqRIkSkqSxY8eqWLFicnNzU968efXss8/eVYxAdkIRHbgN7u7utl9kL1y4oBEjRmjSpElatWqVDhw4oF69ekmS6tSpo8KFC2vSpEm2fa9cuaIpU6aoU6dOkq49Pp6UlKRVq1Zpy5YtGjp0qDw9PdMdd9OmTWrQoIFKly6tNWvW6JdfflFkZKSSk5MlSefPn1fPnj21YcMG/fjjj3JyctJTTz2llJSUez7n1157TWvWrNG0adO0efNmtWjRQk888YQtKV+6dEmVK1fWd999p61bt+qll17S888/r99++y3d482ZM0cFCxbUwIEDdeTIEbsi+c0+05spWbKkwsPD7QojV65c0aBBg/Tnn39q3rx52rdvn+1RfYvFok6dOqW5yI6NjVWdOnVUtGhRzZ49W6NGjdL48eO1a9cuzZs3T+XKlbvTjw8A8AC58d/+r776Sh07drTrExMTo6+//lqff/65tm3bph49eqhdu3ZpLmzfe+89ffTRR9qwYYNcXFxs+b1Vq1Z68803bU9OHTlyRK1atZIkOTk56ZNPPtG2bds0ceJE/fTTT3rrrbfu+byuXLmisLAweXl56eeff9avv/5q+zE69XvL2bNnFRUVpV9++UVr165VsWLF9OSTT5o+xZWax5ctW6YjR47Y5djly5frn3/+0fLlyzVx4kTFxcXZfii4maioKPn6+tody8vLS3Fxcfrrr7/08ccfa8KECRo1apSka9O/NWzYMN183aFDBzk5OalPnz7666+/tGjRIm3fvl3jxo1Tnjx57ujzAwA8vDw9PeXp6al58+bd1hSht5Nzp0yZor59++rDDz/U9u3bNXjwYPXp00cTJ060O1bv3r315ptv6o8//lD16tUVGRl5V3e/d+jQQRs2bND8+fO1Zs0aGYahJ598Ms0P3Lfy448/aseOHVq6dKkWLlyoDRs2qFu3bho4cKB27NihxYsXq06dOnccH5DtGADsREVFGc2aNTMMwzBSUlKMpUuXGlar1ejVq5cRGxtrSDJ2795t6z9mzBgjb968tvWhQ4capUqVsq3Pnj3b8PT0NM6dO2cYhmGUK1fO6N+/f7pjL1++3JBknD592jAMw2jTpo1Rs2bN2479xIkThiRjy5YthmEYxt69ew1Jxh9//GG37u7ubnh4eNgtTk5OxhtvvGEYhmHs37/fcHZ2Ng4dOmR3/AYNGhjR0dGm40dERBhvvvmmbb1u3bq2YxqGYYSEhBijRo2y2+d2PtN+/foZjzzySLpjvv3224a7u7tpTOvXrzckGWfPnjUMwzAOHTpkODs7G+vWrTMMwzAuX75s5MmTx4iLizMMwzA++ugjo3jx4sbly5dNjwkAyBpSc/rx48cNq9Vq7Nu3z9i3b5/h5uZmnDhxwmjWrJkRFRVlXLp0yciZM6exevVqu/1feOEFo02bNoZh/Jejly1bZtv+3XffGZKMixcvGoZx83x1vZkzZxp+fn629djYWMPHx8duXVKaXO3h4WFIMubOnWsYhmFMmjTJKFGihJGSkmLbNykpyXB3dzeWLFmS7tjJycmGl5eXsWDBAlvb9ce88bvD9Z9lSEiIcfXqVVtbixYtjFatWtnWb8z716tWrZoRHh5u+pkMHz7cqFy5sm19+vTphq+vr3Hp0iXDMAxj48aNhsViMfbu3WsYhmFERkYaHTt2ND0eAAC3MmvWLMPX19dwc3MzatSoYURHRxt//vmnbfud5twiRYoYU6dOtRtj0KBBRvXq1Q3D+C/HDhkyxLb9ypUrRsGCBY2hQ4fa9bnVNfvOnTsNScavv/5qO1Z8fLzh7u5uzJgxwzCM9L+XjBo1yggJCbGtR0VFGXnz5jWSkpJsbbNnzza8vb2NxMTEO/k4gWyPO9GBdCxcuFCenp5yc3NTeHi4WrVqpf79+0u69phykSJFbH3z589vmy5EuvZr8O7du7V27VpJ1x7vbtmypTw8PCRJ3bp10wcffKCaNWuqX79+2rx5s2kcqXeim9m1a5fatGmjwoULy9vb2/ZY1oEDB256ftOnT9emTZvslipVqti2b9myRcnJySpevLjtF3pPT0+tXLnSNl1McnKyBg0apHLlyil37tzy9PTUkiVLbjl2em71md6MYRh2U8Ns3LhRkZGRCg4OlpeXl+rWrSvpv88kMDBQERER+uqrryRJCxYsUFJSklq0aCFJatGihS5evKjChQurc+fOmjt3bqa8VBYAkHH8/f0VERGhuLg4xcbGKiIiwu6u5d27d+vChQtq1KiRXd77+uuv00yTVr58edt/58+fX5JumbOWLVumBg0aqECBAvLy8tLzzz+vkydP6sKFC6b7eHl5pcnVN75k7M8//9Tu3bvl5eVlizl37ty6dOmSLe5jx46pc+fOKlasmHx8fOTt7a1z587dVb4uU6aMnJ2d7c7/bvP19OnTVbNmTeXLl0+enp56//337WJq3ry5nJ2dNXfuXEnXvk/Vr1/f9l2nS5cumjZtmipUqKC33npLq1evvuPzAQA83J555hkdPnxY8+fP1xNPPKEVK1aoUqVK6T5ldauce/78ef3zzz964YUX7L5LfPDBB2m+S1SvXt323y4uLqpSpYq2b99u1+dW1+zbt2+Xi4uLqlWrZmvz8/NTiRIl0hzrVsqVKydXV1fbeqNGjRQSEqLChQvr+eef15QpU276nQV4WLg4OgDgQVS/fn2NGzdOrq6uCgwMlIvLf/9XyZEjh11fi8UiwzBs6wEBAYqMjFRsbKwKFSqkRYsW2c0l/uKLLyosLEzfffedfvjhB8XExOijjz7S66+/niYOd3f3m8YZGRmpkJAQTZgwQYGBgUpJSVHZsmVv+TKQoKAgFS1a1HSsc+fOydnZWRs3brS7WJZkm3pm+PDh+vjjjzV69GjbPK/du3e/qxeR3OozvZnt27fb5m89f/68wsLCFBYWpilTpsjf318HDhxQWFiYXVwvvviinn/+eY0aNUqxsbFq1aqVcubMKenaZ7Njxw4tW7ZMS5cu1auvvqrhw4dr5cqVaeIEAGQdnTp10muvvSZJGjNmjN221PnJv/vuOxUoUMBum9VqtVu/PhekFoVvNo3avn371KRJE3Xp0kUffvihcufOrV9++UUvvPCCLl++bMs/N3JyckqTq2907tw5Va5cWVOmTEmzzd/fX9K1qVROnjypjz/+WCEhIbJarapevfp9y9e3M4Vc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JVW2bFm9+uqrOZ5n4sSJKlu2rOrWravDhw8rLi5Onp6e2c7br18/xcbGKjMzU4sXL1apUqVyTI5ZWVl6//33VaVKFZnNZpUpU0Zly5bVrl27crzG//znP/Lx8VFCQoKmTp0qX19fq+NHjhxR1apVs427/ub6G3/S1qVLF5UtW1YVKlTQ+PHjNWbMGHXr1i3beAC415C/yd/kbwBwPORv8jf5G0UdRXQ4rP379+v++++3epFIbkyaNElOTk566aWXcjzeo0cPzZ49W88++6yWLl2q77//XitXrpT093/488Onn36qvn37qlKlSpo7d65Wrlyp1atXq2XLljbP2adPHx04cEBbtmzRvHnzbCbkf+rfv7+io6O1fv16JScnq0ePHtn6nD9/Xs2bN9cvv/yiiRMn6uuvv9bq1as1adIkSbf/Gdy4lt3BgwfVqlUrnT59Wu+9956++eYbrV69WiNHjszxPP/3f/+n77//Xp988olcXV3VrVu3HJNthw4d5OLiouXLlys6OloRERE5vvzm+l/kmjVrpk8//VSrVq3S6tWrVaNGjRyv8eeff9apU6ckKce1/PLqP//5j1avXq1vv/1W48aN06RJkzRhwoQ7nhcACjvyN/mb/A0Ajof8Tf4mf6Oo48WicEiZmZlKSEiwerFHbhw/flwffPCBoqKi5Onpme2N3+fOndOaNWs0YcIEjR071tL+xx9/3Hasx48fV3p6utW34b///rskKTg4WJK0ZMkS3X///Vq6dKlVssvp527XlS5dWo899pjlp2k9evSwesN3Tnr37q2XXnpJL7zwgp544okcv0mOi4vTmTNntHTpUjVr1szSnpiYmKvrve6PP/6wPEEgSQcOHFBWVpblmr/++mtlZmbqq6++UlBQkKXfjW9Ev65y5cqqXLmyJKl169YKCgpSbGysnnvuOat+zs7Oevrpp/XWW29p9+7d+uSTT3Kcb8mSJWrRooXmzp1r1X7+/HmVKVPGqi09PV39+vVT9erV1bhxY02ePFmPP/64HnroIUufChUqaP/+/dnOc/3ndxUqVLBqr1+/vsLCwiRJ4eHhOnbsmCZNmqTXX389V2+8BwBHRP4mf5O/AcDxkL/J3+RvgCfR4aCu/1yoVatWeRo3YcIE+fn56dlnn83xeLFixSRJhmFYtU+ZMuW24pSkq1evWq3fdfnyZc2cOVNly5ZV/fr1bZ5369atio+Pv+nc/fv3165du9S9e3erN5Tb4uPjo86dO2vXrl2WN5PfKKdYLl++rI8//viW8//TtGnTrPY//PBDSX8nLFvnSUlJsfxE7mau/2UlMzMzx+P9+/fXr7/+qmbNmun+++/PsU+xYsWy/XNevHixjh07lq3v6NGjdfToUc2bN0/vvfeegoODFRERYXX+9u3b66effrL6Z5aenq5Zs2YpODhY1atXv+k1Xbp0SVevXtXVq1dv2g8AHBn5+2/kb/I3ADgS8vffyN/kbxRtPIkOh5Kenq4PP/xQEydOtPxH+NNPP7Xqc/LkSaWlpenTTz9VmzZtrNZd+/7777Vw4ULLS0Ru5OXlpWbNmmny5Mm6cuWK7rvvPn3//fd5/hb4nwICAjRp0iQdPnxYDzzwgP773/8qISFBs2bNUvHixSVJHTt21NKlS/X444+rQ4cOSkxM1IwZM1S9enWlpaXZnLtdu3b666+/cpXAr4uJidG0adOyfdt7XePGjVWqVClFRERo+PDhMplMWrBgQbaEdyuJiYl67LHH1K5dO8XHx+vTTz9Vr169VLt2bUl/vyzExcVFnTp10uDBg5WWlqbZs2fL19dXJ06csMzz7bffas6cOWrcuLF8fHx06NAhzZ49WyVKlNDjjz+e47lDQkJ0+vRpqxen3Khjx46aOHGi+vXrp8aNG+vXX3/VwoULsyX9tWvX6uOPP9a4ceNUr149SVJ0dLTCwsL0+uuva/LkyZKkV155RZ999pnCw8M1fPhw+fj4aN68eUpMTNQXX3yR7dvt1atX688//9SVK1e0bds2LVy4UI899pjNfzcBwJGRv62Rv8nfAOAIyN/WyN/kbxRxBuBAEhMTDUm53tatW2cYhmFER0cbkow6deoYWVlZ2eaLjo62tP3555/G448/bpQsWdLw9vY2unfvbhw/ftyQZIwbN87Sb9y4cYYk46+//rIZb/PmzY0aNWoY27dvN0JDQw1XV1ejQoUKxkcffWTVLysry3j77beNChUqGGaz2ahbt66xYsUKIyIiwqhQoUK2eP/973/f9PP55/FbxZnT8U2bNhkPP/yw4ebmZgQEBBgvv/yysWrVKqvP1Jbr8+3Zs8d44oknDE9PT6NUqVLG0KFDjUuXLln1/eqrr4xatWoZrq6uRnBwsDFp0iTjk08+MSQZiYmJhmEYxm+//WY8+uijRunSpQ0XFxcjMDDQ6Nmzp7Fr1y6ruSQZQ4YMsRnXjcczMjKMf/3rX0a5cuUMNzc3o0mTJkZ8fLzRvHlzo3nz5oZhGEZqaqpRoUIFo169esaVK1es5hs5cqTh5ORkxMfHW9oOHjxoPPHEE0bJkiUNV1dXo2HDhsaKFSusxq1bt87q31FnZ2ejQoUKxvDhw41z587d9LMFAEdF/iZ/k78BwPGQv8nf5G/gf0yGkcevtwA7Onz4sCpWrKh169ZZ1rO6k375LSwsTKdPn9Zvv/1mtxgK2vjx4zVhwgT99ddfNr9tBwAULeTvwo/8DQC4Efm78CN/AwWHNdEBAAAAAAAAALCBIjocioeHh3r37m21ztqd9AMAAPmP/A0AgOMhfwPA//BiUTiUMmXKZHuRyZ30AwAA+Y/8DQCA4yF/A8D/sCY6AAAAAAAAAAA2sJwLAAAAAAAAAAA2UEQHAAAAAAAAAMAGiuiAnQUHB6tv3763PbZjx453NyAAAIqoopKTx48fL5PJZNV2J9cOAAAA3OsoogP/X0xMjOWGMi4uTiaTSYcPH5Yk9e3bVx4eHjbHmkwmDR06tCDCvC179uzR+PHjLdfzT2FhYapZs+ZtzXv9MzOZTNq4cWO244ZhKDAwUCaT6bYLCx9//LFiYmJua+zdcLN/LwAAd4+t/94+//zzcnJy0tmzZ636nz17Vk5OTjKbzcrIyLA6dujQIZlMJr366qsFFn9u5XdO3r59u1V7SkqKGjZsKFdXV61cufK25i5q+vbtq7CwMEl/f+EQHBxs13gAAIXTrWoI1++VTSaTnJ2dFRgYqJ49e2rPnj1W81wfazKZbL6gtUmTJjKZTNn+npDTl/gmk8lyDx0cHKzx48ff+cUCoIgO2Nv+/fs1e/bsfD3Hnj17NGHChHwr/rq6uio2NjZb+/r16/Xnn3/KbDbf9tz2LqIDAOyradOmMgxDmzZtsmrfvHmznJycdOXKlWyF4+t9mzZtmqdz3Qs5+Z9SU1P16KOPateuXVq2bJnatWsnSRozZowuXbqU7+cHAKAoM5vNWrBggRYsWKA5c+aob9++WrNmjRo3bqzjx49n62/rvvrw4cPavHmzXF1dCyJsADZQRAfszGw2q3jx4vYO4460b99eixcv1tWrV63aY2NjVb9+ffn7+9spspxdvXpVly9ftncYAIBcuF4Iv/EXT5s2bVKtWrVUtWrVbMc2btwoJycnNW7cOE/nuhdy8nUXLlxQ27ZtlZCQoC+++ELh4eGWY87OzoXmRvzixYv2DgEAgHzh7OysPn36qE+fPurbt6/eeOMNxcTEKCUlRd988022/u3bt9fq1at1+vRpq/bY2Fj5+fmpQYMGBRU6gBxQRAfySWZmpsaNG6fKlSvLbDYrMDBQL7/8sjIzM6365bQG6a5du9S8eXO5ubmpfPnyevPNNxUdHW1zKZGNGzdafqp9//33a/78+ZZjMTEx6t69uySpRYsWlp+JxcXF2Yz9+vI0y5cvV82aNWU2m1WjRg2bPwN/6qmndObMGa1evdrSdvnyZS1ZskS9evXKcUxWVpamTJmiGjVqyNXVVX5+fho8eLDOnTtn9dns3r1b69evt8R9/efVknT+/HmNGDFCgYGBMpvNqly5siZNmqSsrCxLn8OHD8tkMuk///mPpkyZokqVKslsNlt+Qvfhhx+qRo0acnd3V6lSpdSgQYMcv/0HANhHUFCQAgMDsz2JvmnTJjVp0kSNGzfO8ViNGjVUsmRJSUUrJ0tSWlqa2rVrp507d+qLL75Qhw4drI7ntCZ6Tg4dOqTu3bvLx8dH7u7uevjhh3O86T9y5Igee+wxlShRQr6+vho5cqRWrVqV7dquL1ezY8cONWvWTO7u7pYld7788kt16NBBAQEBMpvNqlSpkt544w1du3bN6lzX57j+z8Xd3V2VK1fWkiVLJP39K7hGjRrJzc1NVatW1Q8//GA1/sKFCxoxYoSCg4NlNpvl6+urNm3aaOfOnbf8PAAAuFPXHzBzdnbOdqxz584ym81avHixVXtsbKx69OihYsWKFUiMAHKW/f+1AGy68RthW7KysvTYY49p48aNGjRokEJCQvTrr7/q/fff1++//67ly5fbHHvs2DHLjXVkZKRKlCihOXPm2FwS5cCBA3riiSc0YMAARURE6JNPPlHfvn1Vv3591ahRQ82aNdPw4cM1depUvfrqqwoJCZEky//asnHjRi1dulTPP/+8PD09NXXqVHXr1k1Hjx5V6dKlrfoGBwcrNDRUn332meVJt++++04pKSnq2bOnpk6dmm3+wYMHKyYmRv369dPw4cOVmJiojz76SD///LM2bdqk4sWLa8qUKRo2bJg8PDz02muvSZL8/Pwk/f3kWvPmzXXs2DENHjxYQUFB2rx5syIjI3XixAlNmTLF6nzR0dHKyMjQoEGDZDab5ePjo9mzZ2v48OF64okn9MILLygjI0O7du3S1q1bbRb/AQAFr2nTplq6dKkyMzNlNpt1+fJlbdu2Tc8995wuXryol19+WYZhyGQy6dy5c9qzZ4+effZZSUUvJ6enpys8PFzbtm3TkiVLbvudJCdPnlTjxo118eJFDR8+XKVLl9a8efP02GOPacmSJXr88cct52vZsqVOnDihF154Qf7+/oqNjdW6detynPfMmTMKDw9Xz5491adPH0tej4mJkYeHh0aNGiUPDw+tXbtWY8eOVWpqqv79739bzXHu3Dl17NhRPXv2VPfu3TV9+nT17NlTCxcu1IgRI/Tss8+qV69e+ve//60nnnhCSUlJ8vT0lCQ9++yzWrJkiYYOHarq1avrzJkz2rhxo/bu3at69erd1mcFAIAt12sI165d06FDhzR69GiVLl06x/zs7u6uzp0767PPPtNzzz0nSfrll1+0e/duzZkzR7t27SrQ2AHcwABwSxEREYakm25Dhgyx9F+wYIHh5ORk/Pjjj1bzzJgxw5BkbNq0ydJWoUIFIyIiwrI/bNgww2QyGT///LOl7cyZM4aPj48hyUhMTLQaK8nYsGGDpe3UqVOG2Ww2/vWvf1naFi9ebEgy1q1bl+3amjdvbtSoUcOqTZLh4uJiHDhwwNL2yy+/GJKMDz/80NIWHR1tSDK2bdtmfPTRR4anp6dx8eJFwzAMo3v37kaLFi0scXbo0MEy7scffzQkGQsXLrQ678qVK7O116hRw2jevHm2uN944w2jRIkSxu+//27V/sorrxjFihUzjh49ahiGYSQmJhqSDC8vL+PUqVNWfTt37pzt2gEAhc+0adMMSZa8Gh8fb0gyjhw5YuzZs8eQZOzevdswDMNYsWKFVS4pajm5QoUKRvHixY3ly5fb+jiNcePGGTfeBtx47SNGjLD6zA3DMC5cuGBUrFjRCA4ONq5du2YYhmG8++67hiSr8126dMmoVq1atuts3ry5IcmYMWNGtpiu//3hnwYPHmy4u7sbGRkZ2eaIjY21tO3bt8+QZDg5ORlbtmyxtK9atcqQZERHR1vavL29rf7OBgBAfrBVQ7jvvvuMHTt2WPVdt26dIclYvHixsWLFCsNkMlnuZ1966SXj/vvvNwwj578n3HivDSD/sJwLkEuurq5avXp1jtuNFi9erJCQEFWrVk2nT5+2bC1btpQkm09nSdLKlSsVGhqqOnXqWNp8fHzUu3fvHPtXr15djzzyiGW/bNmyqlq1qg4dOnSbV/q31q1bq1KlSpb9WrVqycvLy+a8PXr00KVLl7RixQpduHBBK1assPk09+LFi+Xt7a02bdpYfT7169eXh4fHTT+ff87xyCOPqFSpUlZztG7dWteuXdOGDRus+nfr1k1ly5a1aitZsqT+/PNPbdu27ZbnAwDYz43rom/atEn33XefgoKCVK1aNfn4+FiWdLnxpaJFLSefPHlSrq6uCgwMvKNzfvvtt2rYsKHVy1k9PDw0aNAgHT582LIs2sqVK3Xffffpscces/RzdXXVwIEDc5zXbDarX79+2drd3Nwsf75w4YJOnz6tRx55RBcvXtS+ffus+np4eKhnz56W/apVq6pkyZIKCQlRo0aNLO3X//zPz6lkyZLaunVrji90AwDgbvpnDWHVqlWaOXOmPDw81L59e/3+++85jnn00Ufl4+OjRYsWyTAMLVq0SE899VQBRw4gJyznAuRSsWLF1Lp161z1/eOPP7R3795sRdvrTp06ZXPskSNHFBoamq29cuXKOfYPCgrK1laqVCmrtcVvR17nLVu2rFq3bq3Y2FhdvHhR165d0xNPPJFj3z/++EMpKSny9fXN8fjNPp9/zrFr165cf8YVK1bM1mf06NH64Ycf1LBhQ1WuXFmPPvqoevXqpSZNmtzy/ACAglOzZk2VLFnSqlB+/b/VJpNJoaGh2rRpkwYOHKhNmzYpMDDQkseKWk6eOXOmRo0apXbt2unHH39U1apVb+ucR44csSpIX3d96ZkjR46oZs2aOnLkiCpVqpRtjXVbn9F9990nFxeXbO27d+/WmDFjtHbtWqWmplodS0lJsdovX758tvN5e3tn++LA29tbkqw+p8mTJysiIkKBgYGqX7++2rdvr2eeeUb3339/jvECAHC7cqohtG/fXlWqVFFkZKS++OKLbGOKFy+u7t27KzY2Vg0bNlRSUhJLjQKFBEV0IB9kZWXpwQcf1HvvvZfj8Tt9OuyfbL1cxDCMAp+3V69eGjhwoJKTkxUeHm55oduNsrKy5Ovrq4ULF+Z43Fah48Y52rRpo5dffjnH4w888IDV/j+fcLsuJCRE+/fv14oVK7Ry5Up98cUX+vjjjzV27FhNmDDhljEAAAqGk5OTQkNDtXnzZhmGoU2bNlleSClJjRs31ieffGJZK71Lly6WY0UtJ1evXl3ffvutWrVqpTZt2li+VCgscsrH58+fV/PmzeXl5aWJEyeqUqVKcnV11c6dOzV69GirF4ZLtj+P3HxOPXr00COPPKJly5bp+++/17///W9NmjRJS5cutbzXBQCA/FK+fHlVrVo12y+n/6lXr16aMWOGxo8fr9q1a6t69eoFGCEAWyiiA/mgUqVK+uWXX9SqVatsT0rdSoUKFXTgwIFs7Tm15VZeY7hdjz/+uAYPHqwtW7bov//9r81+lSpV0g8//KAmTZrkeDP9T7Zir1SpktLS0nL96wBbSpQooSeffFJPPvmkLl++rK5du+qtt95SZGSkXF1d72huAMDd07RpU3333Xf66quvdOrUKatfDTVu3Fivvfaavv32W126dMlqCZKimJMbNmyo5cuXq0OHDmrTpo1+/PHHXH1B/U8VKlTQ/v37s7VfX1qlQoUKlv/ds2eP5cWu1+XlM4qLi9OZM2e0dOlSNWvWzNKemJiYp5hzq1y5cnr++ef1/PPP69SpU6pXr57eeustiugAgAJx9epVpaWl2TzetGlTBQUFKS4uTpMmTSrAyADcDGuiA/mgR48eOnbsmGbPnp3t2KVLl5Senm5zbNu2bRUfH6+EhARL29mzZ20+tZ0bJUqUkPT3k175ycPDQ9OnT9f48ePVqVMnm/169Oiha9eu6Y033sh27OrVq1ZxlihRIse4e/Toofj4eK1atSrbsfPnz+vq1au3jPfMmTNW+y4uLqpevboMw9CVK1duOR4AUHCuF8YnTZokd3d3q3XKGzZsKGdnZ02ePNmqr1R0c3KrVq302Wef6cCBA2rXrl22JVJupX379vrpp58UHx9vaUtPT9esWbMUHBxseSqubdu2OnbsmL766itLv4yMjBw/b1uuP0H+zyfGL1++rI8//jhPMd/KtWvXsi0N4+vrq4CAAGVmZt7VcwEAkJPff/9d+/fvV+3atW32MZlMmjp1qsaNG6enn366AKMDcDM8iQ7kg6efflqff/65nn32Wa1bt05NmjTRtWvXtG/fPn3++edatWqVGjRokOPYl19+WZ9++qnatGmjYcOGqUSJEpozZ46CgoJ09uzZ23qCrU6dOipWrJgmTZqklJQUmc1mtWzZ0uaa5HciIiLiln2aN2+uwYMHKyoqSgkJCXr00UdVvHhx/fHHH1q8eLE++OADy3rq9evX1/Tp0/Xmm2+qcuXK8vX1VcuWLfXSSy/pq6++UseOHdW3b1/Vr19f6enp+vXXX7VkyRIdPnxYZcqUuWkcjz76qPz9/dWkSRP5+flp7969+uijj9ShQwd5enrelc8DAHB3NGzYUC4uLoqPj1dYWJicnf/311h3d3fVrl1b8fHxKlmypGrWrGk5VpRz8uOPP67Zs2erf//+euyxx7Ry5cpc/8rqlVde0Weffabw8HANHz5cPj4+mjdvnhITE/XFF1/IyenvZ3EGDx6sjz76SE899ZReeOEFlStXTgsXLrScJzefUePGjVWqVClFRERo+PDhMplMWrBgwR0vg3OjCxcuqHz58nriiSdUu3ZteXh46IcfftC2bdv07rvv3tVzAQBw9epVffrpp5L+Xl7u8OHDmjFjhrKysjRu3Libju3cubM6d+5cEGECyCWK6EA+cHJy0vLly/X+++9r/vz5WrZsmdzd3XX//ffrhRdeyLZe9z8FBgZq3bp1Gj58uN5++22VLVtWQ4YMUYkSJTR8+PDbWmLE399fM2bMUFRUlAYMGKBr165p3bp1+XLDnlszZsxQ/fr1NXPmTL366qtydnZWcHCw+vTpY/UT/bFjx+rIkSOaPHmyLly4oObNm6tly5Zyd3fX+vXr9fbbb2vx4sWaP3++vLy89MADD2jChAmWl4ndzODBg7Vw4UK99957SktLU/ny5TV8+HCNGTMmPy8dAHAbXF1dVb9+fcXHx6tx48bZjjdp0kQ7duxQaGiopcArkZP79euns2fP6sUXX1T37t21bNmyXI3z8/PT5s2bNXr0aH344YfKyMhQrVq19PXXX6tDhw6Wfh4eHlq7dq2GDRumDz74QB4eHnrmmWfUuHFjdevWLVefUenSpbVixQr961//0pgxY1SqVCn16dNHrVq1Utu2bW/72m/k7u6u559/Xt9//72WLl2qrKwsVa5cWR9//LGee+65u3YeAAAkKTMz0+pJci8vLz300ENasGCBWrVqZcfIANwOk3G3H/EAkC9GjBihmTNnKi0tzeaLswAAQP4jJ9/alClTNHLkSP3555+677777B0OAAAAcEcoogOF0KVLl6xeuHnmzBk98MADqlevnlav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7969eZr74MGDunLlipo0aWJpK168uBo2bGiZa//+/XrooYesxuV0zS4uLlaxStLJkyc1cOBAValSRd7e3vLy8lJaWpqOHj1q8xr9/Pwk/Z3n/9mWkZGh1NRUSdKoUaP0f//3f2rdurXeeeedW74gFgAAe/hnjeCnn35S27ZtFR4eriNHjlj1y839NQD7cLZ3AMC9qESJEqpcubJV259//mn5c1pamgYPHqzhw4dnGxsUFHRH5/7nT5ivv/zsdl7odeNPoU0mU47zlC5dWh07dtSAAQOUkZGh8PDwbD/NTktLU/369bVw4cJs48uWLWszhtyOK1GihNUxT09P7dy5U3Fxcfr+++81duxYjR8/Xtu2bctxrVoAwL2ncuXKKl++vNatW6dz586pefPmkqSAgAAFBgZq8+bNWrdunVq2bKm0tDRJ0jfffKP77rvPah6z2XxHceQ2n+Z1rpxyfLFixbR8+XJ17drVspxNSEjIbZ3rTri5uWV7AWtERITOnDmjDz74QBUqVJDZbFZoaGi2F4LndI03u+7x48erV69e+uabb/Tdd99p3LhxWrRokR5//PF8uTYAAG7HjTWCOXPmyNvbW7Nnz9abb75pac/N/TUA++BJdMAO6tWrpz179qhy5crZtn8+UX1d1apVlZSUpJMnT1rabnzRV264uLjo2rVrdxR7Tvr376+4uDg988wzKlasWLbj9erV0x9//CFfX99s1+vt7W0zttyMs8XZ2VmtW7fW5MmTtWvXLh0+fFhr1669excNACj0WrRoobi4OMXFxSksLMzS3qxZM3333Xf66aef1KJFC6sXYN6Yb2ytUV61atVsubgw5Gaz2aylS5fqoYceUosWLbRnz55cjatUqZJcXFy0adMmS9uVK1e0bds2Va9eXdLf13zjSztze82bNm3S8OHD1b59e9WoUUNms1mnT5/O5VXd3AMPPKCRI0fq+++/V9euXRUdHX1X5gUAIL+YTCY5OTlZvUT0ulvdXwOwD4rogB2MHj1amzdv1tChQ5WQkKA//vhDX375pc0Xi7Zp00aVKlVSRESEdu3apU2bNmnMmDGSlO1Jr5sJDg5WWlqa1qxZo9OnT9+1JU7atWunv/76SxMnTszxeO/evVWmTBl17txZP/74oxITExUXF6fhw4dbntAPDg7Wrl27tH//fp0+fVpXrlzJ1bicrFixQlOnTlVCQoKOHDmi+fPnKysrS1WrVr0r1wsAcAwtWrTQxo0blZCQYHkSXZKaN2+umTNn6vLly2rRooU8PT314osvauTIkZo3b54OHjyonTt36sMPP9S8efNynHvYsGH69ttv9d577+mPP/7QzJkz9d133+UpL0t/57+tW7fq8OHDOn369G0/pf5PZrNZX3zxhRo1aqQWLVpo9+7dtxxTokQJPffcc3rppZe0cuVK7dmzRwMHDtTFixc1YMAASdLgwYO1b98+jR49Wr///rs+//xzxcTESLr130eqVKmiBQsWaO/evdq6dat69+4tNze3O7rOS5cuaejQoYqLi9ORI0e0adMmbdu2zS5P3wMAcDOZmZlKTk5WcnKy9u7dq2HDhiktLU2dOnXK1vdW99cA7IMiOmAHtWrV0vr16/X777/rkUceUd26dTV27FgFBATk2P/6z7PT0tL00EMP6f/+7//02muvSZJcXV1zfd7GjRvr2Wef1ZNPPqmyZctq8uTJd+V6TCaTypQpk+NT9JLk7u6uDRs2KCgoSF27dlVISIjl52leXl6SpIEDB6pq1apq0KCBypYtq02bNuVqXE5KliyppUuXqmXLlgoJCdGMGTP02WefqUaNGnflegEAjqFFixa6dOmSKleubFlfW/q7iH7hwgVVrVrVsrb4G2+8oddff11RUVEKCQlRu3bt9M0336hixYo5zt2kSRPNmDFD7/2/9u7WJdY0DgPwvQgWLeIHTBFUNBgUBkRQi6DBLNjGpFURBTEKCuLHCYbRYjArGh2zTNFqEJykWQ3+AW7ahWUZ5OxZdzh7rqs/L/ebnve54f09375leHg4lUolKysr37UvJ8na2lqampoyODiYzs7Ov80I/6eam5tzfn6esbGxTE5O5v7+/tM1Ozs7mZ2dTalUSrFYTK1Wy/X1ddra2pIkPT09OT8/z8XFRYaGhnJ0dPTn98hnY29OTk7y9vaWYrGYUqmUpaWldHV1/dA7NjU15eXlJfPz8xkYGMjc3FxmZmayubn5Q88FgH9bpVJJoVBIoVDI6Oho7u7ucnZ29pc/5f7w2fkaaIzfPj4+PhodAvh+1Wo1ExMTqdVq6evra3QcAPjlLS4u5uHhITc3N42O8p/Z3t7O8fFxnp+fGx0FAAC+jItF4SdxeXmZ1tbW9Pf3p1arZXl5OePj4wp0AGiQ/f39TE9Pp6WlJVdXVzk9PU25XG50rC9VLpczMjKS9vb2VKvV7O3t1R1HBwAA/xdKdPhJvL+/Z319PU9PT+no6MjU1FQODg4aHQsAflm3t7fZ3d3N+/t7ent7c3h4mIWFhUbH+lKPj4/Z2trK6+truru7s7q6mo2NjUbHAgCAL2WcCwAAAAAA1OFiUQAAAAAAqEOJDgAAAAAAdSjRAQAAAACgDiU6AAAAAADUoUQHAAAAAIA6lOgAAAAAAFCHEh0AAAAAAOpQogMAAAAAQB1KdAAAAAAAqON302nrvRc+MMgAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 1500x1000 with 6 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"visualize_outliers(df)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Нормализация числовых признаков"
]
},
{
"cell_type": "code",
"execution_count": 242,
"metadata": {},
"outputs": [],
"source": [
"from sklearn import preprocessing"
]
},
{
"cell_type": "code",
"execution_count": 247,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>count</th>\n",
" <th>mean</th>\n",
" <th>std</th>\n",
" <th>min</th>\n",
" <th>25%</th>\n",
" <th>50%</th>\n",
" <th>75%</th>\n",
" <th>max</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>PhysicalHealthDaysNorm</th>\n",
" <td>246022.0</td>\n",
" <td>0.253306</td>\n",
" <td>0.385378</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.400000</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>MentalHealthDaysNorm</th>\n",
" <td>246022.0</td>\n",
" <td>0.244973</td>\n",
" <td>0.378598</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.400000</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>SleepHoursNorm</th>\n",
" <td>246022.0</td>\n",
" <td>0.501124</td>\n",
" <td>0.165569</td>\n",
" <td>0.0</td>\n",
" <td>0.375000</td>\n",
" <td>0.500000</td>\n",
" <td>0.625000</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>HeightInMetersNorm</th>\n",
" <td>246022.0</td>\n",
" <td>0.500401</td>\n",
" <td>0.176240</td>\n",
" <td>0.0</td>\n",
" <td>0.375000</td>\n",
" <td>0.491667</td>\n",
" <td>0.625000</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>WeightInKilogramsNorm</th>\n",
" <td>246022.0</td>\n",
" <td>0.510963</td>\n",
" <td>0.186742</td>\n",
" <td>0.0</td>\n",
" <td>0.369818</td>\n",
" <td>0.495901</td>\n",
" <td>0.621891</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>BMINorm</th>\n",
" <td>246022.0</td>\n",
" <td>0.513599</td>\n",
" <td>0.194556</td>\n",
" <td>0.0</td>\n",
" <td>0.375000</td>\n",
" <td>0.479659</td>\n",
" <td>0.625000</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" count mean std min 25% 50% \\\n",
"PhysicalHealthDaysNorm 246022.0 0.253306 0.385378 0.0 0.000000 0.000000 \n",
"MentalHealthDaysNorm 246022.0 0.244973 0.378598 0.0 0.000000 0.000000 \n",
"SleepHoursNorm 246022.0 0.501124 0.165569 0.0 0.375000 0.500000 \n",
"HeightInMetersNorm 246022.0 0.500401 0.176240 0.0 0.375000 0.491667 \n",
"WeightInKilogramsNorm 246022.0 0.510963 0.186742 0.0 0.369818 0.495901 \n",
"BMINorm 246022.0 0.513599 0.194556 0.0 0.375000 0.479659 \n",
"\n",
" 75% max \n",
"PhysicalHealthDaysNorm 0.400000 1.0 \n",
"MentalHealthDaysNorm 0.400000 1.0 \n",
"SleepHoursNorm 0.625000 1.0 \n",
"HeightInMetersNorm 0.625000 1.0 \n",
"WeightInKilogramsNorm 0.621891 1.0 \n",
"BMINorm 0.625000 1.0 "
]
},
"execution_count": 247,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"min_max_scaler = preprocessing.MinMaxScaler()\n",
"\n",
"df_norm = df.copy()\n",
"\n",
"numeric_columns = get_numeric_columns(df)\n",
"\n",
"for column in numeric_columns:\n",
" norm_column = column + \"Norm\"\n",
" df_norm[norm_column] = min_max_scaler.fit_transform(\n",
" df_norm[column].to_numpy().reshape(-1, 1)\n",
" ).reshape(df_norm[column].shape)\n",
"\n",
"df_norm = df_norm.drop(columns=numeric_columns)\n",
"\n",
"\n",
"df_norm.describe().transpose()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Конструирование признаков"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Автоматическое конструирование признаков с помощью фреймворка FeatureTools"
]
},
{
"cell_type": "code",
"execution_count": 221,
"metadata": {},
"outputs": [],
"source": [
"import featuretools as ft"
]
},
{
"cell_type": "code",
"execution_count": 222,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"d:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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:\\code\\AIM-PIbd-31-Potapov-N-S\\lab_3\\.venv\\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"
]
}
],
"source": [
"# Преобразуем датасет с помощью фремйворка\n",
"# https://featuretools.alteryx.com/en/stable/getting_started/afe.html\n",
"\n",
"entity_set = ft.EntitySet().add_dataframe(df, \"df\", make_index=True, index=\"id\")\n",
"\n",
"feature_matrix, feature_defs = ft.dfs(\n",
" entityset=entity_set,\n",
" target_dataframe_name=\"df\",\n",
" max_depth=2\n",
")\n",
"\n",
"feature_matrix: DataFrame\n",
"feature_defs: list[ft.Feature]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Выполняем категориальное и унитарное кодирование признаков с помощью FeatureTools"
]
},
{
"cell_type": "code",
"execution_count": 224,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Было признаков: 40\n",
"Стало признаков: 99\n",
"<Feature: State = Washington>\n",
"<Feature: State = Maryland>\n",
"<Feature: State = Minnesota>\n",
"<Feature: State = Ohio>\n",
"<Feature: State = New York>\n",
"<Feature: State = Texas>\n",
"<Feature: State = Florida>\n",
"<Feature: State = Kansas>\n",
"<Feature: State = Wisconsin>\n",
"<Feature: State = Maine>\n",
"<Feature: State is unknown>\n",
"<Feature: Sex = Female>\n",
"<Feature: Sex = Male>\n",
"<Feature: Sex is unknown>\n",
"<Feature: GeneralHealth = Very good>\n",
"<Feature: GeneralHealth = Good>\n",
"<Feature: GeneralHealth = Excellent>\n",
"<Feature: GeneralHealth = Fair>\n",
"<Feature: GeneralHealth = Poor>\n",
"<Feature: GeneralHealth is unknown>\n",
"<Feature: PhysicalHealthDays>\n",
"<Feature: MentalHealthDays>\n",
"<Feature: LastCheckupTime = Within past year (anytime less than 12 months ago)>\n",
"<Feature: LastCheckupTime = Within past 2 years (1 year but less than 2 years ago)>\n",
"<Feature: LastCheckupTime = Within past 5 years (2 years but less than 5 years ago)>\n",
"<Feature: LastCheckupTime = 5 or more years ago>\n",
"<Feature: LastCheckupTime is unknown>\n",
"<Feature: PhysicalActivities>\n",
"<Feature: SleepHours>\n",
"<Feature: RemovedTeeth = None of them>\n",
"<Feature: RemovedTeeth = 1 to 5>\n",
"<Feature: RemovedTeeth = 6 or more, but not all>\n",
"<Feature: RemovedTeeth = All>\n",
"<Feature: RemovedTeeth is unknown>\n",
"<Feature: HadHeartAttack>\n",
"<Feature: HadAngina>\n",
"<Feature: HadStroke>\n",
"<Feature: HadAsthma>\n",
"<Feature: HadSkinCancer>\n",
"<Feature: HadCOPD>\n",
"<Feature: HadDepressiveDisorder>\n",
"<Feature: HadKidneyDisease>\n",
"<Feature: HadArthritis>\n",
"<Feature: HadDiabetes = No>\n",
"<Feature: HadDiabetes = Yes>\n",
"<Feature: HadDiabetes = No, pre-diabetes or borderline diabetes>\n",
"<Feature: HadDiabetes = Yes, but only during pregnancy (female)>\n",
"<Feature: HadDiabetes is unknown>\n",
"<Feature: DeafOrHardOfHearing>\n",
"<Feature: BlindOrVisionDifficulty>\n",
"<Feature: DifficultyConcentrating>\n",
"<Feature: DifficultyWalking>\n",
"<Feature: DifficultyDressingBathing>\n",
"<Feature: DifficultyErrands>\n",
"<Feature: SmokerStatus = Never smoked>\n",
"<Feature: SmokerStatus = Former smoker>\n",
"<Feature: SmokerStatus = Current smoker - now smokes every day>\n",
"<Feature: SmokerStatus = Current smoker - now smokes some days>\n",
"<Feature: SmokerStatus is unknown>\n",
"<Feature: ECigaretteUsage = Never used e-cigarettes in my entire life>\n",
"<Feature: ECigaretteUsage = Not at all (right now)>\n",
"<Feature: ECigaretteUsage = Use them some days>\n",
"<Feature: ECigaretteUsage = Use them every day>\n",
"<Feature: ECigaretteUsage is unknown>\n",
"<Feature: ChestScan>\n",
"<Feature: RaceEthnicityCategory = White only, Non-Hispanic>\n",
"<Feature: RaceEthnicityCategory = Hispanic>\n",
"<Feature: RaceEthnicityCategory = Black only, Non-Hispanic>\n",
"<Feature: RaceEthnicityCategory = Other race only, Non-Hispanic>\n",
"<Feature: RaceEthnicityCategory = Multiracial, Non-Hispanic>\n",
"<Feature: RaceEthnicityCategory is unknown>\n",
"<Feature: AgeCategory = Age 65 to 69>\n",
"<Feature: AgeCategory = Age 60 to 64>\n",
"<Feature: AgeCategory = Age 70 to 74>\n",
"<Feature: AgeCategory = Age 55 to 59>\n",
"<Feature: AgeCategory = Age 50 to 54>\n",
"<Feature: AgeCategory = Age 75 to 79>\n",
"<Feature: AgeCategory = Age 80 or older>\n",
"<Feature: AgeCategory = Age 40 to 44>\n",
"<Feature: AgeCategory = Age 45 to 49>\n",
"<Feature: AgeCategory = Age 35 to 39>\n",
"<Feature: AgeCategory is unknown>\n",
"<Feature: HeightInMeters>\n",
"<Feature: WeightInKilograms>\n",
"<Feature: BMI>\n",
"<Feature: AlcoholDrinkers>\n",
"<Feature: HIVTesting>\n",
"<Feature: FluVaxLast12>\n",
"<Feature: PneumoVaxEver>\n",
"<Feature: TetanusLast10Tdap = No, did not receive any tetanus shot in the past 10 years>\n",
"<Feature: TetanusLast10Tdap = Yes, received tetanus shot but not sure what type>\n",
"<Feature: TetanusLast10Tdap = Yes, received Tdap>\n",
"<Feature: TetanusLast10Tdap = Yes, received tetanus shot, but not Tdap>\n",
"<Feature: TetanusLast10Tdap is unknown>\n",
"<Feature: HighRiskLastYear>\n",
"<Feature: CovidPos = No>\n",
"<Feature: CovidPos = Yes>\n",
"<Feature: CovidPos = Tested positive using home test without a health professional>\n",
"<Feature: CovidPos is unknown>\n"
]
}
],
"source": [
"# Сгенерируем новые признаки\n",
"# https://featuretools.alteryx.com/en/stable/guides/tuning_dfs.html\n",
"\n",
"feature_matrix_enc, features_enc = ft.encode_features(feature_matrix, feature_defs)\n",
"feature_matrix_enc.to_csv(\"./csv/generated_features.csv\", index=False)\n",
"\n",
"print(\"Было признаков:\", len(feature_defs))\n",
"print(\"Стало признаков:\", len(features_enc))\n",
"print(*features_enc, sep='\\n')"
]
}
],
"metadata": {
"kernelspec": {
"display_name": ".venv",
"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
}