ium_452487/dane.ipynb

1710 lines
348 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",
"source": [
"## 1. Pobieranie zbioru danych"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 1,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Collecting kaggle\n",
" Using cached kaggle-1.6.6.tar.gz (84 kB)\n",
"Requirement already satisfied: six>=1.10 in c:\\users\\adrian\\appdata\\roaming\\python\\python39\\site-packages (from kaggle) (1.16.0)\n",
"Requirement already satisfied: certifi in c:\\users\\adrian\\appdata\\roaming\\python\\python39\\site-packages (from kaggle) (2022.6.15)\n",
"Requirement already satisfied: python-dateutil in c:\\users\\adrian\\appdata\\roaming\\python\\python39\\site-packages (from kaggle) (2.8.2)\n",
"Requirement already satisfied: requests in c:\\users\\adrian\\appdata\\roaming\\python\\python39\\site-packages (from kaggle) (2.28.1)\n",
"Requirement already satisfied: tqdm in c:\\users\\adrian\\appdata\\roaming\\python\\python39\\site-packages (from kaggle) (4.64.1)\n",
"Collecting python-slugify\n",
" Using cached python_slugify-8.0.4-py2.py3-none-any.whl (10 kB)\n",
"Requirement already satisfied: urllib3 in c:\\users\\adrian\\appdata\\roaming\\python\\python39\\site-packages (from kaggle) (1.26.11)\n",
"Requirement already satisfied: bleach in c:\\users\\adrian\\miniconda3\\lib\\site-packages (from kaggle) (4.1.0)\n",
"Requirement already satisfied: webencodings in c:\\users\\adrian\\miniconda3\\lib\\site-packages (from bleach->kaggle) (0.5.1)\n",
"Requirement already satisfied: packaging in c:\\users\\adrian\\appdata\\roaming\\python\\python39\\site-packages (from bleach->kaggle) (22.0)\n",
"Collecting text-unidecode>=1.3\n",
" Using cached text_unidecode-1.3-py2.py3-none-any.whl (78 kB)\n",
"Requirement already satisfied: idna<4,>=2.5 in c:\\users\\adrian\\appdata\\roaming\\python\\python39\\site-packages (from requests->kaggle) (2.10)\n",
"Requirement already satisfied: charset-normalizer<3,>=2 in c:\\users\\adrian\\appdata\\roaming\\python\\python39\\site-packages (from requests->kaggle) (2.1.0)\n",
"Requirement already satisfied: colorama in c:\\users\\adrian\\appdata\\roaming\\python\\python39\\site-packages (from tqdm->kaggle) (0.4.5)\n",
"Building wheels for collected packages: kaggle\n",
" Building wheel for kaggle (setup.py): started\n",
" Building wheel for kaggle (setup.py): finished with status 'done'\n",
" Created wheel for kaggle: filename=kaggle-1.6.6-py3-none-any.whl size=111961 sha256=3aa19c7655c19d77b65c2542567b6e34a57813227f1f2df6d0fd84accad6824f\n",
" Stored in directory: c:\\users\\adrian\\appdata\\local\\pip\\cache\\wheels\\46\\aa\\c3\\b3e421522fb5acdd7c366a05c5fc80787615bdeed207e7f79b\n",
"Successfully built kaggle\n",
"Installing collected packages: text-unidecode, python-slugify, kaggle\n",
"Successfully installed kaggle-1.6.6 python-slugify-8.0.4 text-unidecode-1.3\n"
]
}
],
"source": [
"!pip install --user kaggle"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 2,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Downloading personal-key-indicators-of-heart-disease.zip to C:\\Users\\Adrian\\Desktop\\Semestr 1 (II ST)\\ML\\zadania\n",
"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\n",
" 0%| | 0.00/21.4M [00:00<?, ?B/s]\n",
" 5%|4 | 1.00M/21.4M [00:00<00:11, 1.80MB/s]\n",
" 9%|9 | 2.00M/21.4M [00:00<00:05, 3.51MB/s]\n",
" 19%|#8 | 4.00M/21.4M [00:00<00:02, 7.25MB/s]\n",
" 33%|###2 | 7.00M/21.4M [00:00<00:01, 12.0MB/s]\n",
" 51%|#####1 | 11.0M/21.4M [00:01<00:00, 17.9MB/s]\n",
" 65%|######5 | 14.0M/21.4M [00:01<00:00, 20.7MB/s]\n",
" 79%|#######9 | 17.0M/21.4M [00:01<00:00, 20.6MB/s]\n",
" 93%|#########3| 20.0M/21.4M [00:01<00:00, 22.7MB/s]\n",
"100%|##########| 21.4M/21.4M [00:01<00:00, 14.9MB/s]\n"
]
}
],
"source": [
"!kaggle datasets download -d kamilpytlak/personal-key-indicators-of-heart-disease/"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 3,
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"'unzip' is not recognized as an internal or external command,\n",
"operable program or batch file.\n"
]
}
],
"source": [
"#!unzip -o personal-key-indicators-of-heart-disease.zip #nie działa na Windowsie więc korzystam z modułu zipfile"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 4,
"outputs": [],
"source": [
"import zipfile\n",
"with zipfile.ZipFile(\"personal-key-indicators-of-heart-disease.zip\", 'r') as zip_ref:\n",
" zip_ref.extractall(\"dataset_extracted\")"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 1,
"outputs": [],
"source": [
"import pandas as pd\n",
"# W pobranym zbiorze danych jest kilka podzbiorów więc celowo otwieram ten z NaN, żeby manualnie go oczyścić dla praktyki\n",
"df = pd.read_csv(\"dataset_extracted/2022/heart_2022_with_nans.csv\")"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"## Przeglądanie nieoczyszczonego datasetu"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 38,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"RangeIndex: 445132 entries, 0 to 445131\n",
"Data columns (total 40 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 State 445132 non-null object \n",
" 1 Sex 445132 non-null object \n",
" 2 GeneralHealth 443934 non-null object \n",
" 3 PhysicalHealthDays 434205 non-null float64\n",
" 4 MentalHealthDays 436065 non-null float64\n",
" 5 LastCheckupTime 436824 non-null object \n",
" 6 PhysicalActivities 444039 non-null object \n",
" 7 SleepHours 439679 non-null float64\n",
" 8 RemovedTeeth 433772 non-null object \n",
" 9 HadHeartAttack 442067 non-null object \n",
" 10 HadAngina 440727 non-null object \n",
" 11 HadStroke 443575 non-null object \n",
" 12 HadAsthma 443359 non-null object \n",
" 13 HadSkinCancer 441989 non-null object \n",
" 14 HadCOPD 442913 non-null object \n",
" 15 HadDepressiveDisorder 442320 non-null object \n",
" 16 HadKidneyDisease 443206 non-null object \n",
" 17 HadArthritis 442499 non-null object \n",
" 18 HadDiabetes 444045 non-null object \n",
" 19 DeafOrHardOfHearing 424485 non-null object \n",
" 20 BlindOrVisionDifficulty 423568 non-null object \n",
" 21 DifficultyConcentrating 420892 non-null object \n",
" 22 DifficultyWalking 421120 non-null object \n",
" 23 DifficultyDressingBathing 421217 non-null object \n",
" 24 DifficultyErrands 419476 non-null object \n",
" 25 SmokerStatus 409670 non-null object \n",
" 26 ECigaretteUsage 409472 non-null object \n",
" 27 ChestScan 389086 non-null object \n",
" 28 RaceEthnicityCategory 431075 non-null object \n",
" 29 AgeCategory 436053 non-null object \n",
" 30 HeightInMeters 416480 non-null float64\n",
" 31 WeightInKilograms 403054 non-null float64\n",
" 32 BMI 396326 non-null float64\n",
" 33 AlcoholDrinkers 398558 non-null object \n",
" 34 HIVTesting 379005 non-null object \n",
" 35 FluVaxLast12 398011 non-null object \n",
" 36 PneumoVaxEver 368092 non-null object \n",
" 37 TetanusLast10Tdap 362616 non-null object \n",
" 38 HighRiskLastYear 394509 non-null object \n",
" 39 CovidPos 394368 non-null object \n",
"dtypes: float64(6), object(34)\n",
"memory usage: 135.8+ MB\n"
]
}
],
"source": [
"df.info()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 39,
"outputs": [
{
"data": {
"text/plain": " State Sex GeneralHealth PhysicalHealthDays MentalHealthDays \\\n0 Alabama Female Very good 0.0 0.0 \n1 Alabama Female Excellent 0.0 0.0 \n2 Alabama Female Very good 2.0 3.0 \n3 Alabama Female Excellent 0.0 0.0 \n4 Alabama Female Fair 2.0 0.0 \n\n LastCheckupTime PhysicalActivities \\\n0 Within past year (anytime less than 12 months ... No \n1 NaN No \n2 Within past year (anytime less than 12 months ... Yes \n3 Within past year (anytime less than 12 months ... Yes \n4 Within past year (anytime less than 12 months ... Yes \n\n SleepHours RemovedTeeth HadHeartAttack ... HeightInMeters \\\n0 8.0 NaN No ... NaN \n1 6.0 NaN No ... 1.60 \n2 5.0 NaN No ... 1.57 \n3 7.0 NaN No ... 1.65 \n4 9.0 NaN No ... 1.57 \n\n WeightInKilograms BMI AlcoholDrinkers HIVTesting FluVaxLast12 \\\n0 NaN NaN No No Yes \n1 68.04 26.57 No No No \n2 63.50 25.61 No No No \n3 63.50 23.30 No No Yes \n4 53.98 21.77 Yes No No \n\n PneumoVaxEver TetanusLast10Tdap \\\n0 No Yes, received tetanus shot but not sure what type \n1 No No, did not receive any tetanus shot in the pa... \n2 No NaN \n3 Yes No, did not receive any tetanus shot in the pa... \n4 Yes No, did not receive any tetanus shot in the pa... \n\n HighRiskLastYear CovidPos \n0 No No \n1 No No \n2 No Yes \n3 No No \n4 No No \n\n[5 rows x 40 columns]",
"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>State</th>\n <th>Sex</th>\n <th>GeneralHealth</th>\n <th>PhysicalHealthDays</th>\n <th>MentalHealthDays</th>\n <th>LastCheckupTime</th>\n <th>PhysicalActivities</th>\n <th>SleepHours</th>\n <th>RemovedTeeth</th>\n <th>HadHeartAttack</th>\n <th>...</th>\n <th>HeightInMeters</th>\n <th>WeightInKilograms</th>\n <th>BMI</th>\n <th>AlcoholDrinkers</th>\n <th>HIVTesting</th>\n <th>FluVaxLast12</th>\n <th>PneumoVaxEver</th>\n <th>TetanusLast10Tdap</th>\n <th>HighRiskLastYear</th>\n <th>CovidPos</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>Alabama</td>\n <td>Female</td>\n <td>Very good</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>No</td>\n <td>8.0</td>\n <td>NaN</td>\n <td>No</td>\n <td>...</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>No</td>\n <td>No</td>\n <td>Yes</td>\n <td>No</td>\n <td>Yes, received tetanus shot but not sure what type</td>\n <td>No</td>\n <td>No</td>\n </tr>\n <tr>\n <th>1</th>\n <td>Alabama</td>\n <td>Female</td>\n <td>Excellent</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>NaN</td>\n <td>No</td>\n <td>6.0</td>\n <td>NaN</td>\n <td>No</td>\n <td>...</td>\n <td>1.60</td>\n <td>68.04</td>\n <td>26.57</td>\n <td>No</td>\n <td>No</td>\n <td>No</td>\n <td>No</td>\n <td>No, did not receive any tetanus shot in the pa...</td>\n <td>No</td>\n <td>No</td>\n </tr>\n <tr>\n <th>2</th>\n <td>Alabama</td>\n <td>Female</td>\n <td>Very good</td>\n <td>2.0</td>\n <td>3.0</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>Yes</td>\n <td>5.0</td>\n <td>NaN</td>\n <td>No</td>\n <td>...</td>\n <td>1.57</td>\n <td>63.50</td>\n <td>25.61</td>\n <td>No</td>\n <td>No</td>\n <td>No</td>\n <td>No</td>\n <td>NaN</td>\n <td>No</td>\n <td>Yes</td>\n </tr>\n <tr>\n <th>3</th>\n <td>Alabama</td>\n <td>Female</td>\n <td>Excellent</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>Yes</td>\n <td>7.0</td>\n <td>NaN</td>\n <td>No</td>\n <td>...</td>\n <td>1.65</td>\n <td>63.50</td>\n <td>23.30</td>\n <td>No</td>\n <td>No</td>\n <td>Yes</td>\n <td>Yes</td>\n <td>No, did not receive any tetanus shot in the pa...</td>\n <td>No</td>\n <td>No</td>\n </tr>\n <tr>\n <th>4</th>\n <td>Alabama</td>\n <td>Female</td>\n <td>Fair</td>\n <td>2.0</td>\n <td>0.0</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>Yes</td>\n <td>9.0</td>\n <td>NaN</td>\n <td>No</td>\n <td>...</td>\n <td>1.57</td>\n <td>53.98</td>\n <td>21.77</td>\n <td>Yes</td>\n <td>No</td>\n <td>No</td>\n <td>Yes</td>\n <td>No, did not receive any tetanus shot in the pa...</td>\n <td>No</td>\n <td>No</td>\n </tr>\n </tbody>\n</table>\n<p>5 rows × 40 columns</p>\n</div>"
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.head()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 40,
"outputs": [
{
"data": {
"text/plain": " PhysicalHealthDays MentalHealthDays SleepHours HeightInMeters \\\ncount 434205.000000 436065.000000 439679.000000 416480.000000 \nmean 4.347919 4.382649 7.022983 1.702691 \nstd 8.688912 8.387475 1.502425 0.107177 \nmin 0.000000 0.000000 1.000000 0.910000 \n25% 0.000000 0.000000 6.000000 1.630000 \n50% 0.000000 0.000000 7.000000 1.700000 \n75% 3.000000 5.000000 8.000000 1.780000 \nmax 30.000000 30.000000 24.000000 2.410000 \n\n WeightInKilograms BMI \ncount 403054.000000 396326.000000 \nmean 83.074470 28.529842 \nstd 21.448173 6.554889 \nmin 22.680000 12.020000 \n25% 68.040000 24.130000 \n50% 80.740000 27.440000 \n75% 95.250000 31.750000 \nmax 292.570000 99.640000 ",
"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>PhysicalHealthDays</th>\n <th>MentalHealthDays</th>\n <th>SleepHours</th>\n <th>HeightInMeters</th>\n <th>WeightInKilograms</th>\n <th>BMI</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>count</th>\n <td>434205.000000</td>\n <td>436065.000000</td>\n <td>439679.000000</td>\n <td>416480.000000</td>\n <td>403054.000000</td>\n <td>396326.000000</td>\n </tr>\n <tr>\n <th>mean</th>\n <td>4.347919</td>\n <td>4.382649</td>\n <td>7.022983</td>\n <td>1.702691</td>\n <td>83.074470</td>\n <td>28.529842</td>\n </tr>\n <tr>\n <th>std</th>\n <td>8.688912</td>\n <td>8.387475</td>\n <td>1.502425</td>\n <td>0.107177</td>\n <td>21.448173</td>\n <td>6.554889</td>\n </tr>\n <tr>\n <th>min</th>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>1.000000</td>\n <td>0.910000</td>\n <td>22.680000</td>\n <td>12.020000</td>\n </tr>\n <tr>\n <th>25%</th>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>6.000000</td>\n <td>1.630000</td>\n <td>68.040000</td>\n <td>24.130000</td>\n </tr>\n <tr>\n <th>50%</th>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>7.000000</td>\n <td>1.700000</td>\n <td>80.740000</td>\n <td>27.440000</td>\n </tr>\n <tr>\n <th>75%</th>\n <td>3.000000</td>\n <td>5.000000</td>\n <td>8.000000</td>\n <td>1.780000</td>\n <td>95.250000</td>\n <td>31.750000</td>\n </tr>\n <tr>\n <th>max</th>\n <td>30.000000</td>\n <td>30.000000</td>\n <td>24.000000</td>\n <td>2.410000</td>\n <td>292.570000</td>\n <td>99.640000</td>\n </tr>\n </tbody>\n</table>\n</div>"
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.describe()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"#### Tylko 6 kolumn jest numeryczne na razie więc wiele statystyk nie zostaje wyświetlonych w tym podsumowaniu"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"#### Zbiór danych jest niezbalansowany, zmienna którą chcemy przewidzieć w znacznej większości przypadków wynosi 0:"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 41,
"outputs": [
{
"data": {
"text/plain": "<AxesSubplot:ylabel='HadHeartAttack'>"
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": "<Figure size 640x480 with 1 Axes>",
"image/png": "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\n"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df[\"HadHeartAttack\"].value_counts().plot(kind=\"pie\")"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 42,
"outputs": [
{
"data": {
"text/plain": "No 416959\nYes 25108\nName: HadHeartAttack, dtype: int64"
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"HadHeartAttack\"].value_counts()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"## 2. Podział na podzbiory (train / dev / test - 8:1:1)) i oversampling"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 43,
"outputs": [],
"source": [
"from sklearn.model_selection import train_test_split\n",
"#Funkcji z sklearn musimy użyć dwukrotnie, bo dzieli tylko na dwa podzbiory\n",
"train, test_and_valid = train_test_split(df, test_size=0.2) #0.8 train, 0.2 test&valid\n",
"\n",
"test, valid = train_test_split(test_and_valid, test_size=0.5) #0.1 test, 0.1 valid"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 44,
"outputs": [
{
"data": {
"text/plain": "No 333641\nYes 20042\nName: HadHeartAttack, dtype: int64"
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"train[\"HadHeartAttack\"].value_counts()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"Zbiór treningowy jest nadal niezbalansowany więc zrobię prosty oversampling przez kopiowanie mniejszej klasy aż będą prawie równe"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 45,
"outputs": [],
"source": [
"def oversample(dataset):\n",
" num_true = len(dataset[dataset[\"HadHeartAttack\"]==\"Yes\"])\n",
" num_false = len(dataset[dataset[\"HadHeartAttack\"]==\"No\"])\n",
" num_oversampling_steps = num_false//num_true\n",
" oversampled = dataset.copy()\n",
" for x in range(num_oversampling_steps):\n",
" oversampled = pd.concat([oversampled, dataset[dataset[\"HadHeartAttack\"]==\"Yes\"]], ignore_index=True)\n",
" return oversampled"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 46,
"outputs": [],
"source": [
"train = oversample(train)"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 47,
"outputs": [
{
"data": {
"text/plain": "<AxesSubplot:ylabel='HadHeartAttack'>"
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": "<Figure size 640x480 with 1 Axes>",
"image/png": "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\n"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"train[\"HadHeartAttack\"].value_counts().plot(kind=\"pie\")"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 48,
"outputs": [
{
"data": {
"text/plain": "<AxesSubplot:ylabel='HadHeartAttack'>"
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": "<Figure size 640x480 with 1 Axes>",
"image/png": "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\n"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"test[\"HadHeartAttack\"].value_counts().plot(kind=\"pie\")"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 49,
"outputs": [
{
"data": {
"text/plain": "<AxesSubplot:ylabel='HadHeartAttack'>"
},
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": "<Figure size 640x480 with 1 Axes>",
"image/png": "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\n"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"valid[\"HadHeartAttack\"].value_counts().plot(kind=\"pie\")"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"Proporcje osób palących / niepalących w pierwotnym zbiorze danych:"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 50,
"outputs": [
{
"data": {
"text/plain": "<AxesSubplot:ylabel='SmokerStatus'>"
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": "<Figure size 640x480 with 1 Axes>",
"image/png": "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6WRgYID79+9j3rx5uHPnDkJDQ3Hw4EGkpqaicePGBco1YMAApKSkYPr06fD398e9e/cwadIkWFhYoFu3bm8d379/fzg7O2P27NnIzMxEz549UbZsWUycOBF3795FYGAgZs2ahfPnz8PJyalAmYiIiChvLJ3F2OzZszF06FCsXLkS3bp1w08//YSvvvoK3t7eGn2djz76CKtXr8apU6fQo0cPTJ8+HR4eHvDx8fmg51m9ejXs7e0xduxYfPTRR/j555+xcuVKuLm5FShX5cqV4evri8TERPTr1w8jRoyAlZUVfvrpJ5QpU+at42UyGRYvXowXL15g48aNMDc3h6+vLywsLDBixAh88skneP36Nb7//vtcI6VERERUeDLxXSfGERERERFpCEc6iYiIiEjrWDqJiIiISOtYOomIiIhI61g6iYiIiEjrWDqJiIiISOtYOomIiIhI61g6iYiIiEjrWDqJiIiISOtYOomIiIhI61g6iYiIiEjrWDqJiIiISOtYOomIiIhI61g6iYiIiEjrWDqJiIiISOtYOomIiIhI61g6iYiIiEjrWDqJiIiISOtYOomIiIhI61g6iYiIiEjrWDqJiIiISOtYOomIiIhI61g6iYiIiEjrWDqJiIiISOtYOomIiIhI61g6iYiIiEjrWDqJiIiISOtYOomIiIhI6/4f/FW4ECioqWUAAAAASUVORK5CYII=\n"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df[\"SmokerStatus\"].value_counts().plot(kind=\"pie\")"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 51,
"outputs": [
{
"data": {
"text/plain": "<AxesSubplot:ylabel='ECigaretteUsage'>"
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": "<Figure size 640x480 with 1 Axes>",
"image/png": "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\n"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df[\"ECigaretteUsage\"].value_counts().plot(kind=\"pie\")"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"### Statystyki covidowe"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 52,
"outputs": [
{
"data": {
"text/plain": "<AxesSubplot:ylabel='CovidPos'>"
},
"execution_count": 52,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": "<Figure size 640x480 with 1 Axes>",
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAx0AAAGFCAYAAACYM56UAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAA9hAAAPYQGoP6dpAABYjUlEQVR4nO3dd3iT9cLG8ft5ku5FC2XvvfceMpUpAh4HIB4OuMW9QBwHPUfEiYIKqJxXRBRUloAgOOCgyFQQEMoqe0MXLR1J3j96GimzlKZPk3w/1+V1YdImd9u0yZ3fMlwul0sAAAAA4CGm1QEAAAAA+DZKBwAAAACPonQAAAAA8ChKBwAAAACPonQAAAAA8ChKBwAAAACPonQAAAAA8ChKBwAAAACPonQAAAAA8ChKBwAAAACPonQAAAAA8ChKBwAAAACPonQAAAAA8ChKBwAAAACPonQAAAAA8ChKBwAAAACPonQAAAAA8ChKBwAAAACPonQAAAAA8ChKBwAAAACPonQAAAAA8ChKBwAAAACPonQAAAAA8ChKBwAAAACPonQAAAAA8ChKBwAAAACPonQAAAAA8ChKBwAAAACPonQAAAAA8ChKBwAAAACPonQAAAAA8ChKBwAAAACPonQAAAAA8ChKBwAAAACPonQAAAAA8ChKBwAAAACPonQAAAAA8ChKBwAAAACPonQAAAAA8ChKBwAAAACPonQAAAAA8ChKBwAAAACPonQAAAAA8ChKBwAAAACPonQAAAAA8Ci71QEAb+BwOOVySYZpyGYaBXrbTqdLTqdLMiSbacgwCvb2AQAArEbpgN/LedFv2gyZ57zgz8xy6HRSuo4lpOrYqTSdSEhTYkq6zpzNUtrZTKWmZyntbJbOZmQpI9OpjCyHMrOcysh0yCXJbjMVYDMVYDdlt5my28/5t81QgN2msBC7ikUEKzoi6H//Bat4sWBFRwQrMixQdttfg5EOZ3bxOfcyAAAAb2C4XC6X1SGAwpKZ5ZTd9tdowrHTqdp9MFH7jiTrREJ2sTiRmKaTiWeVdCbD4rRSWEiAYiKDVbp4qCqUilCFkhGqXCZS5UuGKzgo+z0Dp9Mlp8vFKAkAACiyKB3wWVkOp3tUIC09S/GHErXrYKLiDycp/lCS9h1NVlp6lsUp8y8mMji7iJQKzy4jZSNVvXwxBQbY5HS65JJLNpNREQAAYD1KB3yCy+WSw+mS3WbK6XQp/nCSNu44ri27T2r3wUQdT0izOmKhsJmGqpSNUp0qMapbJUb1q5ZQsYggSblLGAAAQGGidMArXVgyEvV73HFt3nVSW/ec1Jmz3juCUdBKRoeoTpXiqlM5RvWrFVfFUhGSsqdl2SghAACgEFA6vEyXLl0kSfPnz1d4eHiu60aOHKmDBw/q008/tSKax7lcLjld2e/mHziWrDVbjuiP/5WMVEpGnkWGBap5nVJqVa+0mtUuqaBAO6MgAADAo9i9ygsdPHhQr732ml566SWro3ic05ndiU3T0O6DiVq58ZB+2XRIh06csTiZ90o6k6Ef1u3XD+v2y24z1aB6cbWsW1ptGpRR8agQOZxOmQaL0gEAQMGhdHihChUqaObMmerRo4fatm1rdZwCl/OiV5K27z2l/248pF//OOw36zIKU5bDqd+2H9dv249r8pw/VLlMpFrWK622DcqoWvlicjicTMECAADXjNLhhfr27asNGzZo9OjR+uabby6YZiVJCQkJeuedd/TDDz/o9OnTqlu3rh577DG1atXKgsR5k/MCd+vuU1rx2wH9uvmIElLSrY7lV+IPJyn+cJJmLYtT+ZLh6tqiorq1rKhi4UEUEAAAkG+UDi9kGIb+/e9/68Ybb9S4ceP08ssv57re4XBo2LBhyszM1Ouvv66YmBhNmzZNw4cP14wZM9SwYUOLkl/I4XTKZppKOpOuxav2aumavTpyMtXqWJB04FiKPlm4VZ9++6ea1IxVt5YV1bp+GdlMQy5X9pQ3AACAvKB0eKly5crpmWee0QsvvKDu3burffv27utWrlypLVu26JtvvlHNmjUlSWPGjNEff/yhjz/+WO+8845Vsd1yplBt3HFCi1fFa82WI3I42dOgKHI6XVq/7ZjWbzum8JAAXde0vG5oWZHpVwAAIM8oHV7stttu05IlS/Tcc89pwYIF7svj4uIUERHhLhxS9uhI8+bNtXLlSiuiSvprVCMhJV2LV8Vr6eq9OnaadRreJCUtU4t+3qNFP+9RpdIRurFDVXVtXlGGacjGyAcAALgESoeX+9e//qUbb7xRY8eOdV92qV2QXS6X7PbC/5HnvBu++2CiZi3boTVbj7h3pYL32nskWRO/3Kjp325T7/ZVdGP7qgoNtssluTcCAAAAkCgdXq9s2bIaOXKknnvuOVWoUEFlypRRrVq1lJycrLi4OPdoh8vl0vr161W9evVCy5Zz9sOWPSc1c2mcNu08UWj3jcKTkJKuzxZv01c/7FC3FhV1c+fqio0OdY9sAQAAUDp8wC233KLFixdr5cqVKlOmjNq3b686deroiSee0PPPP6/ixYtr+vTpiouL04svvujxPDllY8O2Y5q5LE5x+057/D5hvfQMhxb+vEff/rJHbRqU1S1da7DuAwAASKJ0+IycaVaSZLPZNHXqVI0bN04jRoxQRkaG6tevr//7v/9T48aNPZbB4XDKMAz9vPGQvvw+TnuPJHvsvlB0OV3Sz5sO6edNh1S/anEN7lFb9auVoHwAAODHDNelFgAAeZTlyN6J6vu1+/Tl9zt0+CSnhSO3xjVjNbR3XVUrX0xOp4vtdgEA8DOUDuRbzpz9jTuO66N5mxV/OMnqSCji2jQoo6G966pMiTBJ2buqAQAA30fpwFXLecgcPnFGU+b+ofXbjlmcCN7ENA3d0KqS7uxVR2HBAYx6AADgBygduCoOp0tp6Vn6dNFWLfl1Lwf6Id9Cguy6uXN1DehcXYZhyM56DwAAfBalA3nicDglSfNW7NKsZXE6czbL4kTwFbHFQnT/zQ3Vom5p1nsAAOCjKB24LKfLJdMwtHbrEU2Z+4eOnEy1OhJ8VNsGZXT/3xopIjSQ080BAPAxlA5cksPp1Jm0LH3w9Uat3HjI6jjwA6HBdv29d131bFNZTpeLwwUBAPARlA5cIGdXqmVr9urj+VuUkpZpdST4mdqVo/XIbU1ULjacHa4AAPABlA7k4nC6lJicrre/2KDf445bHQd+zG4z1L9TdQ26obYMQxwsCACAF6N0QJLcC3i/+zVeH83forR0FoqjaChTIkxPDmqmGhWLMeoBAICXonRADodTSWcyNP6L37RhO2duoOixmYYGda+tW7rWYK0HAABeiNIBrf/zqN6csV7JqazdQNHWsHoJPXVHc0WEBjDdCgAAL0Lp8FMOp0uGpGmLtmr2TzvFowDeIjIsUI8NbKrmdUpZHQUAAOQRpcMPORxOJadmaOwna7V1zymr4wD5cmOHqhp2Yz0ZYpE5AABFHaXDz7hcLm3aeUKvT1+nxJQMq+MA16RquSiNvLOFSsaEcqAgAABFGKXDTzicTpmGoRlLtmnWsjg5+anDRwQH2vTYwKZq06AMu1sBAFBEUTr8gMPh1JmzWRr36Vpt2nHC6jhAgTMMaVD32rr9+lpyuVyUDwAAihhKh49zOJw6fPKMXpiySsdPp1kdB/Cojk3L69Hbmsgwxba6AAAUIZQOH+Z0urRl90n9+z+rdeYsh/3BP9SqFK0XhrdWaLBddhaYAwBQJFA6fNgP6/ZpwqzfleXgRwz/Ehsdohfvaq3yJcMZ8QAAoAigdPiYnPnsny3Zpi++2251HMAyIUF2PXlHM7WoU4o1HgAAWIzS4UOcTpdccundmb/rh3X7rY4DWM40pKF96ql/p+pWRwEAwK9ROnyEw+FURpZT/5q6Wpt2skMVcK7butXUHT3rWB0DAAC/RenwAQ6HUylpmXr2g5+170iy1XGAIqlfx2oa3re+1TEAAPBLlA4vl1M4Rr63UgeOpVgdByjSeraprAf+1oizPAAAKGSUDi/mcDiVnJpdOA4ep3AAedGleQU9clsTyZBMigcAAIWC0uGlsgtHhp6ZuFKHTpyxOg7gVdo3Kqsn72gmwzAoHgAAFAJKhxdyOJxKOpOhZ95bqcMUDiBfWtQtpWeHtpRpGDJNigcAAJ5E6fAy7sIxcaUOn6RwANeiSc1YvXhXaxkmIx4AAHgSR/V6EYfDqUQKB1Bgfos7rjc+Wy/qBgAAnkXp8BIOp1NnzmbpmYn/pXAABWjlxkOaNHuT1TEAAPBplA4v4HS65HC49OKUVTpyMtXqOIDPWfRLvGYs2WZ1DAAAfBalo4jLWXIz9pO12nkgwdowgA/7/Lvt+vaXPWKZGwAABY/SUcQZhqH3v96odX8etToK4PMmzd6kXzYdltNJ8QAAoCBROoq4mUu3a8mve62OAfgFp0t647P12rL7pBxOp9VxAADwGZSOIsrpdOnH9fs1fTHzzIHClOVw6uWpq7XvSLIcDooHAAAFgdJRBDmcTm3efULvzvzN6iiAX0pLz9LLH69WanoWIx4AABQASkcR43A4dej4Gf37P2uU5WBeOWCV4wlpGvt/a2VwigcAANeM0lGEOF0uZWQ5s99hPZtldRzA7/2x64Q+nr/Z6hgAAHg9SkcRYhqG3pqxgcP/gCJk/n9366cNB9jRCgCAa0DpKCKcLpfm/LRTv24+bHUUAOeZOOt37TuarCwWlgMAkC+UjiLA4XBq+97T+mThVqujALiI9EyHXv74V6VnOBjxAAAgHygdFnM4nTpzNkuvfrJWDl7MAEXWsdNpGvvJWqtjAADglSgdFjNkaNyna3Uq6azVUQBcwcYdx/Xpt3/K5eINAgAArgalw0Iul0ufLd6mTTtOWB0FQB7N/nGH/ow/xfoOAACuAqXDIg6HU7/FHdeXP8RZHQXAVXC6pLdmbJDD4WTEAwCAPKJ0WCDnPI53vvhNvGYBvM/RU6maPOcPGQYHBwIAkBeUDguYhqFJszexjgPwYkvX7NOarUfkYJoVAABXROkoZA6HU+v/PKof1u23OgqAazRh5u9KTc9iG10AAK6A0lGIcqZVvTvrd6ujACgACSnpenfmbzJNplkBAHA5lI5CZBqGJs9hWhXgS37dfETfr93HOTsAAFwGpaOQOBxObdh2VN+vZVoV4Gsmz/lDCclnmWYFAMAlUDoKAdOqAN+Wlp6lD77exDQrAAAugdJRCEzD0JS5f+hkItOqAF+1essRrWU3KwAALorS4WEOh1Nxe09r2Zp9VkcB4GGTZm9ibQcAABdB6fAwm83UpDmbrI4BoBAcO52mz7/bzknlAACch9LhQQ6HUz+u368d+xOsjgKgkMxdvkvHTqXK4WSaFQAAOSgdHuRwuvR/C7ZaHQNAIcpyODV57h+ymfx5BQAgB8+KHuJ0ujRrWRxncgB+aO3Wo/pt+zEWlQMA8D+UDg9wOl06nXxWc37aaXUUABaZMvcPiR10AQCQROnwCNM09NH8zcrI4l1OwF8dOJaixav2MtoBAIAoHQXO4XBqW/wprfz9kNVRAFjsy+/jxEZWAABQOgqczWZmT6sA4PdOJp7Vol/2MNoBAPB7lI4C5HA4tXbrEbbIBeD25Q87ODAQAOD3KB0FyGYzNWPJdqtjAChCEpLTtfDnPZzbAQDwa5SOApIzyrHzQILVUQAUMV//uEMOB6MdAAD/RekoIIxyALiUxJQMzf/vbkY7AAB+i9JRABwOp37bfoxRDgCXNOenncpiG20AgJ+idBQAm83UrGVxVscAUIQlncnQ3OW7WFQOAPBLlI5r5HA6Fbf3tDbvPml1FABF3Dcrd8vFwR0AAD9E6bhGNtPUF8tYywHgyhJTMrTitwPK4twOAICfoXRcA6fTpUPHU7Tuz6NWRwHgJb757x7ZbfzpBQD4F575roUhLfh5j5gtASCvdh5IUNze0+xkBQDwK5SOa+BwOPXDuv1WxwDgZeb9d5dsJn9+AQD+g2e9fMpyOLX8t4M6k5ZpdRQAXuaXTYeUmJJudQwAAAoNpSOf7DZTi3+JtzoGAC+U5XBpwc972D4XAOA3KB354HS6tPdwkrbvO211FABeavGqeLEgDADgLygd+WD8bwE5AORXQnK6Vm48yPa5AAC/QOnIh4xMp5ZvOGB1DABebsmv+9g+FwDgF3i2u0pZDqd+XL9faelZVkcB4OW27D6hhGQWlAMAfB+l4yrZbaaW/LrX6hgAfIDTJf20Yb8cTLECAPg4SsdVOnoqVTsPJFgdA4CPWL7hoGxMsQIA+Die6a6Cw+HUf38/aHUMAD5k54EEHT11Ri52sgIA+DBKx1Ww2Uyt3EjpAFCwflx3QE5KBwDAh1E6rsKJhDTtOpBodQwAPmb5bwdkM/lzDADwXTzL5VGWw6kVv7FNLoCCd+BYiuIPJzHFCgDgsygdeWS3mfp502GrYwDwUT+s288B5QAAn0XpyKNTiWcVt++01TEA+KifNx6UaRpWxwAAwCMoHXmQxa5VADzs2Ok0HT5xxuoYAAB4BKUjD+w2U7/8ccjqGAB83NqtR5TFQYEAAB9E6ciD1LOZ2hZ/yuoYAHzcb3HHZeegQACAD+LZ7QocTpf+2HlCThZ4AvCwP3adkIORDgCAD6J0XIEhaeOOE1bHAOAH0jMc+jP+lJy8ywEA8DGUjiswTUMbdx63OgYAP7Huz6NWRwAAoMBROq4gOTVD+44kWx0DgJ/YsP0YW+cCAHwOpeMyHA6nNsYxygGg8MQfTlLymQyrYwAAUKAoHZeRPbWK9RwACo/LJa3bdpStcwEAPoXScRmGYWjTDkY6ABSurXtOMcUKAOBT7Pn9xP379ysjI0PVqlVTcnKyxo8fr4MHD6pHjx7q169fAUa0TkJyug5xQjCAQrZzf4JMg9IBAPAd+RrpWL58uXr27KmvvvpKkvTCCy/oiy++0NGjRzVq1Ch9+eWXBRrSCg6HUxsZ5QBggfjDSUyvAgD4lHyVjg8++EDt27fXgw8+qKSkJC1dulT33HOP5syZo3vuuUfTpk0r6JyFzzC080CC1SkA+KEsh1P7jiRZHQMAgAKTr9Kxbds2/f3vf1d4eLhWrFghh8Oh7t27S5LatWunvXv3FmhIK9hMQ3sO8aQPwBrb4k8rK4vRDgCAb8hX6QgKClJWVpYkaeXKlSpevLhq164tSTpx4oQiIyMLLqGF9hxKtDoCAD+140CCbDbWdQAAfEO+FpI3bdpUU6dOVVJSkpYsWaL+/ftLkjZv3qyJEyeqadOmBRrSCgnJ6Upir3wAFtmx77QMFpMDAHxEvkY6nn32WR05ckRPPPGEypUrp/vvv1+SdO+99yojI0NPPvlkgYYsbE6ni/UcACy1/1iKMjIdVscAAKBA5Guko0KFClq0aJFOnjypEiVKuC9/7733VLduXQUGBhZYQCs4XS7tPsjUKgDWcTpd2n0oUbUqRjPiAQDwevk+p8MwDCUmJmrp0qVKTk5WdHS0mjZt6vWFQ5LsNpP1HAAst2NfgqqXKya7ndIBAPBu+SodLpdLL774or788ku5XC735YZhqH///nrllVcKLKBV2LkKgNUOnUjhZHIAgE/IV+n46KOP9PXXX+vhhx9W3759FRsbq2PHjmnevHn64IMPVLNmTQ0dOrSAoxaejEyHDp9IsToGAD93+MQZSgcAwCfkq3R89dVXuuuuu9wLyCWpfPnyevDBB5WZmalZs2Z5dek4dDxFTteVPw4APOnIyVSrIwAAUCDytXvV4cOH1bp164te16pVKx04cOCaQlnJ6XTpME/0AIqAo6dSc01hBQDAW+WrdJQrV07bt2+/6HXbtm1TTEzMNYWyktPp0vHTlA4A1styOHU6Od3qGAAAXLN8lY4+ffpowoQJ+vbbb93vwrlcLi1atEgTJ05Ur169CjRkYTJM6XhCmtUxAEBS9mJyAAC8neHKx9h9RkaG7r33Xq1atUp2u13R0dE6ffq0HA6HWrZsqSlTpigoKMgTeQvFq5+s1c+bDlkdAwD00K2N1aV5Bdlt+XqPCACAIiFfC8kDAwP1n//8R8uXL9fatWuVmJioqKgotWjRQh07dizojIWOkQ4ARcWRk2fE/lUAAG931aXD4XAoMTFRMTEx6tixo0+UjPOxpgNAUXH45BnZGOUAAHi5PD+TuVwuvf3222rVqpXatWun5s2b6+2331ZGRoYn8xW6LIdTCSks3ARQNBw/xcgrAMD75Xmk4+OPP9bkyZPVunVr1a9fX7t379aUKVOUnJysF154wZMZC9XppLNih0oARUVyqm+9sQMA8E95Lh1z587V4MGD9fzzz7svmzJlij744AONHj1aNpvNIwEL21GmVgEoQlLSMq2OAADANcvz9Kr9+/fr+uuvz3VZ3759lZaW5tWHAZ7L6XQpIYmpVQCKDkoHAMAX5Ll0pKenKzQ0NNdlJUqUkCSdOXOmYFNZxOlyKTU9y+oYAODmdLp0NoO/SwAA73ZNW6IYRvZGjvk46qNIcrmkNEoHgCIm9Sx/lwAA3o19GM9hSDpL6QBQxCSfYTE5AMC7XdU5HV999ZVWrFjh/n+XyyXDMDRz5kyVLFnSfblhGHrwwQcLLmVhMRjpAFD0sIMVAMDbXVXpmDVrVp4u99bSYZoGpQNAkZN0JkNOp0umydnkAADvlOfSsW3bNk/mKBJMw1BausPqGACQS3Jqhpwul0xROgAA3ok1HedhpANAUZOWnsWhpQAAr5bnkY6JEyde1Q2PGDHiqsMUBZQOAEWN00njAAB4t3yXDsMw5HK5ZLPZFB0drcTERGVmZiogIEBRUVFeWzrYvQpAUUPnAAB4u3yt6Vi1apUef/xxPf/88+revbtsNpskacWKFRo9erRGjhxZ8EkLiZM5DACKGKfTxWoOAIBXM1z5ONmvZ8+euvPOOzVw4MALrvvqq680adIkLVu2rEACFranJqzQtvjTVseAl6tevpgeub2JnE6nUtOzmB6Da1IqJlTFI0Nkt7MMDwDgna5qy9wchw8fVrly5S56XfHixXXy5MlrCmUlu8mTOq7dfQMaqEKpcNku8XhKTk9hVA15Fmy3S4ZT7P0BAPBW+SodtWvX1meffaZ27dq5p1ZJUnp6uj766CM1bNiwwAIWNpuNJ3Vcm8iwQNUoH6WktQuVtmeTwmq1UnD5WjKiYmUPCJJhGAq0BWrXqXhtP7FbO07u0Y5T8Uo8m2R1dBRRt9W/UTfVucHqGAAA5Fu+Ssfjjz+u4cOHq1u3burQoYOio6N14sQJLV++XGlpaZo+fXpB5yw0Ng7fwjW6u18DGaahpLULlZV4XGm7NrivM0OjFF63nUKqNVGNUpVUs1ZV2W3Zv4YnU09r+4ldiju5RztO7lH86f3KdLKxASTTMCUGxgAAXixfpaNly5b64osvNHnyZP3www9KSEhQdHS02rZtqwcffFCVKlUq6JyFxmajdODatKtfSqlx65SVePyC65ypiUpat0hJ6xa5LwssU0PhddsqrGI9tShZR60rNJVpmHI4HdqbcDBXETl25kRhfikoIgyDv0sAAO+Wr9IhSfXq1dO7775bkFmKBDvTq3AN/talugICA3R8zTd5/pyMwzt06vCOvy6wBymsdmuF1WimCmWqq0LVdupZs7MkKSUjNbuEnNitnafitfNUvNIyzxb0l4EiJsC0i+2rAADeLM+lY+3atapbt67CwsK0du3aK358ixYtrimYVZhehWvR77qqyji2T2f3bc3/jWSl68zm5Tqzebn7Int0GYXXa6+QKg3VsERFNS5dVzbTJpfLpcPJx7TtxE7tOLlHcSf36EDSYeVjUzoUYcEBwVZHAADgmuS5dAwZMkSzZs1Sw4YNNWTIEPfhgOfKucwwDP35558FHrYwsJAc+dW0VklFRYTo2E/zC/y2s04fVsLKL5Ww8sv/XWIqpFpjhdVqpRLla6lD+WbqXKWtDMNQelYGi9R9TKg9OHtdBwAAXirPpWPatGmqVq2a+9++ys6aDuTTP/rUlSMtWWe2rCyEe3MqbdeGPC9SP5WaoG0ndrJI3UuFBoZQOgAAXi3PpaNly5buf0dGRqp27doeCWQlp9Ol0KAAq2PAC8UWC1al0uFK+Hm2XI5MSzJcdJF62RoKr9NWoSxS92phAaFWRwAA4JrkayF5v379VKNGDfXr1099+vRRqVKlCjqXJZxOlyLCKB24evf0zz6bJmnDYouT5JZxaIdOHbrIIvWazVWhdDUWqXuJENZ0AAC8XL5Kx8SJE7VgwQJNmDBBb731llq2bKmbbrpJN9xwg0JDvfcdOZekiNBAq2PAy9hNqUXtWKVs/VmOlASr41wei9S9UmhAiNURAAC4JvmaJNytWzeNHz9ev/zyi8aOHaugoCA999xzateunZ566in997//LeichcI0pYgwSgeuzuAedWWz25W4ZoHVUfIlZ5H64U+f1/63h2nv2Nt1+It/K/n371UiPUMdyjfTPc0H680ez2vagPH6Z+fHNLDBTWpetqGigiOtju8Xgu1B+f7ckSNHqlatWpf971qtX79e69atu6bbGDlypIYMGXLNWfLrwIEDqlWrllavXi1JSk1N1Weffea+3up8V1IY+WrVqqXZs2d79D4KQmZmpv7v//6vQG+zIB7jObp06aIJEyZIklwul+bMmaOTJ09KkmbPnl0gv5NXcvr0aX355ZdX/sCrMGTIEI0cObJAb/N8q1evVq1atXTgwAFJRfv3NCEhQUOHDlWDBg30t7/9zeP3N2HCBHXp0sXj93Ouq/1+5/ucDkkKDQ1V37591bdvXyUkJGjixIn6/PPPtWDBAq/cvcpmmioWnv8nd/innm0q6uzBOGUc3mV1lALCIvWixDTMayodo0eP1hNPPOH+//bt2+vZZ59Vr169CiKeJGnQoEEaO3asmjdvXmC3WdjKlCmjlStXKioqSpI0depUzZ49W4MHD5aU/X10OBxWRrysop6vMC1YsEBjx47V0KFDC+w2C/Ix/tVXXykoKPt3eu3atRo5cqS+//77a77dq/Haa6/pwIEDuuWWWwr1fgva+b+nRcn8+fO1bt06zZgxo1CWIQwbNqxIfh/OdU2lQ5I2b96shQsXavHixTp8+LDq1Kmjm266qSCyWSImkrnTyLv2jcoqLDRIRxfn/TBAb8QidetEBUdc04nkERERioiIuOCy2NjYa43mU2w2W67vyfnTCM//HhY1RT1fYSrqU0BjYmLc/7Yqa1H/HuVVUf46kpKSFBsbq4YNGxbK/YWFhSksLKxQ7iu/8jW9aufOnXrnnXfUvXt33XLLLVq0aJF69+6tb775RnPmzCnQdxcKW3QEIx3IuyE9aisr5bTObF9tdZRCl3Foh059/4kO/edp7X/zTsW/doeOzntXadtXq4IRpG5V2+mRNsM0sc/Lmtr/TT3T4QH1r9NDDUrVZmH0VYgOjvL4ffz4448aMGCAGjZsqOuvv17jx49XRkaG+/rly5drwIABatSokdq0aaORI0cqMTFRktxTQUaNGuWeWnH06FE99thjat68uVq1aqX77rtP8fHx7ttzuVx6//33dd1116lx48YaNWqU0tPTL5uxS5cuev/99zV8+HB3zvOnh/z222+688471axZM7Vq1UqjRo3S6dOn3ddv2rRJgwYNUpMmTdSiRQs99NBDOnTokKTc06smTJigiRMn6uDBg+6pHDnTCFwul7p27arXX389133PnTtXjRs3VkpKiiTp66+/Vs+ePdWwYUP17NlTn3zyiZxO52W/vpwpNxe7zOFw6PXXX1fHjh1Vv3599ejRQ59//rn7Y8+d5rB69WrVrVtXy5cvV58+fdwfv2zZMvfHOxwOvf3222rfvr0aN26shx9+WP/+97+vOFViz5497ikjHTp00OTJk3Nd/9NPP+nWW29VkyZN1L59e40dO1Znz/61IUWtWrU0c+ZMDRo0SA0aNFDPnj21YcMGzZw5U506dVLTpk316KOP5vqcDRs2aPDgwWrYsKE6deqkMWPGuL/P55s9e7ZGjRrlvq+c6XIF/Rg/10MPPaT77rvP/f/btm1TrVq19PHHH7sv+/TTT3X99ddL+uvnunr1at15552SpK5du+aaujZ79mx169ZNDRo00IABA7Rx40b3dWfPntX48ePVtWtXNWjQQDfddJOWLFmS63PPn6J17mUjR47UnDlztGbNmktO5XI6nZo8ebK6d++u+vXrq2nTprrrrru0b9++i358jjNnzmjUqFFq3ry5mjVrppEjRyo1NdV9/a5du3T33Xe7Hx9PPPGEjh8/7r4+MTFRzz33nDp06KB69eqpTZs2eu6555SWlnbBfV3s91TKnl43btw4tW7dWo0bN9YDDzygEycu/cbXlf62zJ49W9dff73+9a9/qVmzZnrggQfcX8t9992nVq1aqVmzZnr44Yd18OBB9/d4woQJOnToUK5pidfyOJSkjz/+WN26dVP9+vXVpUsXvffee+7idf70qsOHD+vJJ59Uu3bt1LhxYw0fPlzbtm1zXz9y5EiNHDlS48aNU5s2bdSoUSPde++9Onr0qPtj1q1bpzvvvFNNmzZV/fr11bNnT82bN++S38sryVfp6NOnjz755BM1bdpUU6dO1U8//aQnn3xSNWrUyHeQoiI8NJCzOpAnFUqFq0yJMCWuWSg5mdaQs0j92Ow3tf/9B7R/3EDte3+ETi3/QrYj8WpYrKJurd9Hz3d6RP/X/y2N7/lP3dfiDnWt2k4Vospe07v5viw6pJhHb3/FihV69NFHdeutt2rBggV68cUX9e233+qpp56SJJ06dUojRozQzTffrEWLFmnixIlau3atXnvtNUnSypXZ59I8++yzGj16tFJTU90vXKdPn65PP/1U0dHRuvXWW91PZlOmTNFHH32kp59+WrNnz1ZkZKQWLVp0kXS5vf/++2rSpInmzp2rwYMH64UXXnB/3qZNmzRkyBDVqFFDs2bN0jvvvKONGzdq+PDhcjgccjgcuvfee9WiRQvNnz9f//d//6dDhw7p2WefveB+hg0bpmHDhql06dJauXKlypQp477OMAz1799fixYtyvUu6/z589WtWzeFh4dr5syZeu211zRixAgtXLhQjz76qD788EO98cYb+fkRSZJmzJihxYsX6+2339aSJUt0xx136J///Ocl1xnklJTRo0drwYIFqlmzpp555hmdOXNGkvTGG29o5syZevHFF/X1118rNjZWn3766RVzTJ8+Xf369dOiRYs0cOBAvfXWW1q1apUkaenSpbr//vvVqVMnzZ49W2PGjNGiRYv0+OOP57qNt99+W3fddZfmzZuniIgI3XfffVqyZImmTJmisWPHatmyZe4Xfdu2bdM//vEPdejQQfPnz9cbb7yhLVu2aNiwYRd9l7tXr17un+nKlSvVpEmTAn+Mn69z585as2aNsrKyp5X+/PPPMgzDXXik7DLWtWvXXJ/XpEkTd6n88ssvc015nDVrlt566y19/fXXCgwM1KOPPuq+7vHHH9fcuXP1/PPPux93jzzySK5SeTmjR49Wz5491aRJE/fXdr5p06bp448/1siRI7VkyRK99957io+P16uvvnrZ2/7uu+9UsmRJzZ49W6+99poWLVqkDz/8UFL2mxGDBg1SpUqV9NVXX2nSpElKSUnRbbfd5i4mI0eO1NatWzVx4kQtWbJEo0aN0ty5czVz5swL7utSv6e//fabkpKSNGPGDE2ePFm///67+2d5KZf72yJJ+/bt07FjxzR37lw99thjOnjwoG677TYFBgbqk08+0dSpU3X8+HHdcccdSklJ0ejRo3Nl69Wr1zU/Dn/44QdNnjxZY8aM0Xfffacnn3xSH3zwgebPv/BA4pSUFA0cOFBHjx7VBx98oC+++ELBwcG644473MVIyp6KmJCQoOnTp+vDDz/Uli1bNH78ePfPa/jw4WrQoIHmzJmjuXPnqmHDhho9evRlS9zl5Gt61RtvvKFu3bopONg3362MCg/SyUS2CsXl3duvoVxOh5J/X2p1lCKLk9SvXUxIMblcLo+VskmTJunWW2/V7bffLkmqWLGixowZo7///e86cOCAkpOTlZGRobJly6pcuXIqV66cJk2a5F4/kDMlKWca15dffqmkpCS9/vrrstuzn2L+/e9/a/Xq1Zo1a5ZGjBihTz/9VHfeeaf69OkjKfsd5HNfoF1K+/btNWLECElS1apVtXHjRn3yySfq1auXpk6dqlq1aun555+XJFWrVk1vvfWWbrrpJq1cuVKNGzfW6dOnVbJkSZUrV04VKlTQ+PHj3Qt4zxUWFqbQ0NALplzl6NevnyZOnKh169apRYsWOn78uH799Vd99NFHkrJfwNx///3q3bu3JKlChQpKSUnRmDFj9Mgjj7jn81+Nffv2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YjRv3jz99ttv+vnnn7Vy5UpNmzZNDz30kHuUJi/5zv1aL/dafefOnRo0aJDq1auntm3b6oYbblB0dPQ17XiWr2eyCRMmaP369Xrttde0adMmrVy5Uhs3btTYsWP1+++/X/TJxltkOZwqVzLc6hgo4ro2K6e0+D+UeWK/1VF8EovU/1IyrIRsl3hBVhBq1KihPXv2qFKlSu7/jhw5otdee01nzpzRxo0b9corr6hq1aoaOnSopkyZoldeeUW//vrrRacm1axZU4cOHVJERIT79sqWLas333xTa9euVXR0tMqUKaP169fn+rycKRiX88cff+T6/w0bNqhu3bqSshf7nn+b27ZtU0pKiqpVq6bdu3frxRdfVPHixTVw4EC9++67+uijj7Rr166Lvrt/pels3bt3V1ZWlr788ktt2bJFAwYMkCQVL15cMTEx2r9/f67v6blzpS8mICAg1+LolJSUXN/fadOm6bvvvlO7du309NNP65tvvlGbNm3ytBbmfJUqVVJwcLB+//33XJefu1g5P2rVqqUNGzbkuixnzUl+Rnek7Mfnzp07c30vs7KyNHbsWB0+fPiin3P+z66gH+MX06VLF23evFlLly51T2lr27atfv3114uu57hU1ivJmXZ0/mN93bp17pGknBe95z6ezt3IIS/3O2nSJD344IP65z//qdtuu02NGzdWfHz8Ne0WVaNGDe3atUtlypRx/xyioqL0yiuvKC4uTn/++adWrFihd955R08++aT69u2rihUrat++fZe834Kadnq5vy0XU6tWLf3xxx+5FoGfOHFCe/fuveRj/Vofh/Pnz9fnn3/uXrQ+a9Ys92ZOF8sXHx+f6/Gbnp6uzZs3ux8nV/LFF1+oePHi+s9//qO7775bHTt2dK/lyO/jIF8jHQsWLNCIESPUt2/fv27Ible/fv108uRJff7553rkkUfyFchqhmGofEm2HsSldW9dUcHBgTqy2re3yS1SrniSeiWfPUm9bIRn93e/++679eijj2rixInq3bu3jhw5otGjR6t8+fKKjY11L8gMCAjQrbfeqvT0dC1atEiVK1dWdHS0pOwRjJypU3379tWUKVP08MMP66mnnlJ4eLjef/99rVixwv28cPfdd2vcuHGqWrWqmjdvrnnz5mnTpk0XTBk538KFC9WoUSO1a9dOy5Yt09KlSzVp0iRJ0j/+8Q8NGjRIL7/8sgYNGqQTJ07o5ZdfVt26ddWmTRulpKRo4cKFOnv2rO655x6Zpqk5c+YoKipKVatWVUJCQq77Cg0NVWJiovbs2aPy5ctfkCUkJEQ9evTQm2++qaZNm7qnDBmGobvvvltvv/22ypYtq+uuu07bt2/XP//5T3Xt2vWS7yw2btxYixYtUvfu3RUZGal333031zu2p06d0nvvvafg4GDVrl1bu3fv1p9//une/ehqhISEaMiQIXr33XcVGxuratWqadasWdq4caN7OlR+3HXXXXrkkUf0/vvvq2fPnoqPj9fLL7+szp0757t05Jw9MGbMGN1xxx1KSkrSmDFjdPbs2Qum8uQIDQ2VJPcLrIJ+jOdcdq7q1aurXLly+vLLL/XSSy9Jktq0aaMPPvhAAQEBF0z9Oz/rtm3bLnq756tWrZo6d+6sMWPGyDAMVapUSQsXLtT333/vLrWNGzeWYRiaMGGChgwZoj/++ENz5sy54H6PHTum/fv3u9cpnKtMmTL6+eef1aVLF5mmqXnz5um7777L1zz+HIMGDdLMmTP15JNPutf9jBs3Ttu3b1fNmjWVmZkpu92ub7/9VjExMUpISNCkSZN0/PjxXC/uz/86Lvd7mleX+9tyMQMHDtTnn3+up556Svfff78yMjI0btw4RUdHXzDFMMe1Pg7T09M1btw4hYWFqXnz5jpy5IjWrl170bNjbrzxRk2ePFmPPvqonnrqKQUGBuq9995Tamqqbrvttjx9T0qXLq0jR45o+fLlql69urZs2aJ//etfknTJn8eV5Kt0nDp16pINsG7durm22/I2NtNQpdKUDlzabd1qKjPhqFJ3brjyB8NjLrlIvXZrlShX0ycWqYcFhioiyLP7rvfo0UNvv/22Jk+erEmTJqlYsWLq0qWLnnzySUnZL3JytqacMWOGTNNU69at9eGHH7qnHwwbNsw9ajBp0iRNnz5dr732mnvnqHr16mnq1KnuF56DBw+W0+nUBx98oBMnTqhDhw7629/+pj179lw2a//+/bV06VK9+uqrqly5ssaPH6+OHTtKkho1aqSPPvpI48ePV79+/RQeHq5u3brpiSeeUEBAgKKjo/Xhhx/qzTff1K233iqHw6HGjRvrP//5j8LDwy8oHTfccINmzZqlvn37avr06RfNM2DAAH399dfuUY4cw4YNU1BQkD799FO9+uqrKlGihG699VY9/PDDl/zaHn/8cSUkJOgf//iHIiIiNGzYMCUl/fUYHTFihDIzM/Wvf/1Lx48fV2xsrAYOHKh77733st+zS3nkkUeUmZnp3o60c+fO6tq16xW3Lr6c7t2766233tIHH3yg999/XzExMerTp89lv+4rady4sT766CO988476t+/v0JDQ9WmTRs988wzlyxwrVu3VqNGjXT77bfr9ddfV8+ePQv8MX4xnTt31ieffKLWrVu7swcHB6tVq1bucnG+mjVrqmPHjnr00Uf1+OOPq1ixYlf8nrz11lt66623NHr0aCUlJalmzZqaMGGCe+5/hQoVNGbMGE2ePFkzZsxQs2bN9PTTT+uZZ55x30a/fv20dOlS9enTR999990FazVee+01vfTSS7r55psVFhamRo0aacyYMfrnP/+pQ4cOXXQdwZVUqFBB06dP15tvvqmBAwfKZrOpadOmmjZtmnuq3KuvvqoJEybos88+U2xsrDp16qShQ4fqhx9+uOht5uX3NC8u97flYnIWuL/++uvuXazatWun119/3b0G53zX+rf2lltuUUJCgt5//30dPnxYUVFR6t69u/vzzxUREaHp06fr1VdfdR9j0axZM33++ecXLZkXc+edd2r37t16+umnlZGRocqVK+vxxx/Xu+++qz/++EPXXXddnm7nXIYrH2//3XjjjerevfsFc8ik7NX7CxYs0HfffXfVYYqKjEyH/jZqgbz0jVF4UM2KxfTGw9fp5HcfK2ndt1bHwRWcu0g9sFQlGaFRXrVIvVaJqnq561NWxygSunTpov79++uhhx6yOopPWLp0qZo1a5ZrXUTOFp+vvPKKhcmAwsXflsKTr5GO22+/Xa+++qqCg4PVu3dvlShRQidOnNCCBQv04YcfXrSMeJPAAJtKFAvR8dMXHkYD/3bXTQ3kykxX8qYfrY6CPPD2RerlI8t4dLtc+K+PP/5YM2bM0NNPP63w8HB9//33+vXXXzV16lSrowHwUfkqHQMHDtTWrVv1xhtv6M0333Rf7nK51L9/f91zzz0FFtAq5WPDKR3IJSI0QLUqRCl53SK5MthS2VtlHNqhU4d2/HWBPUhhtVsrrGZzVShdTRWqtlPPmtl706dkpGaXkBO7tfNUvHaeildaZuH97MtFlvbodrnwX2+88YZ76sXZs2dVvXp1vfPOO+6pQQBQ0PI1vers2bMKDg7Wrl27tGbNGiUmJsowDHXr1i3fi8WKEqfTpY/mbdY3K3dbHQVFyGMDm6hzswra//6Dykrw3nVLuLJzF6nbS5SXGRx20UXqO07Ga3/SIY8tUh/d8SE1LFWHkQ4AgNe7qtKxfft2Pfvss+rWrZvuv/9+9+VJSUlq3bq1atSoofHjx1/2hFRvkJXl1JLVezVp9iaro6AImT22lzLif9fRL1+1OgoK3V+L1IPL1ZQRFSt7QJDHF6lP6jtWMSHFCuS2AACwUp7H7A8cOKA777xTwcHBF5SKgIAAPf300/rPf/6jQYMGae7cuVc8tbIos9nYwQq5DehUXQGBATq+ZoHVUWCJK52kXrnAT1IPtgdROAAAPiPPIx0vvPCCVq9erc8///ySp4AeP35ct9xyi7p06aIXXnihQIMWtvSMLN367EI52cEKkj598QaFpp/QgSmPWh0FRVhg2RoKr9tOwRXqyhZTWragkHwvUq8TW0NjujxeSMkBAPCsPI90rFq1Svfcc88lC4eUfYz7sGHD9NlnnxVIOCsFBdpVsXSk4g8X/b384VkNa5RQVESwTqzgMEBcXkEuUq8eU0kOp9Ojp5EDAFBY8lw6jh07dsnTP89Vs2ZNHTly5FoyFQlOl0u1K8dQOqDhN9aXMz1VKVv+a3UUeJtrOEm9Yem6khhqBQD4hjyXjpiYGB07duyKH3f69GlFRUVdU6iiwOl0qU7lGC1eFW91FFioeFSwqpQJV8Ivc+TKyrA6DnzA1ZykDgCAr8hz6WjRooVmz56t3r17X/bj5s6dq7p1615zMKvZbabqVS1udQxY7N7+DSRJSesXW5wEvuvCReoBsZVU4Z63LMwEAEDByvNk4SFDhmj16tV69dVXlZ6efsH1GRkZeu2117RixQoNHjy4QENapVRMqCLDAq2OAYvYTalF7Vid+XOVHCmnrY4DPxIYU8bqCAAAFKg8j3Q0aNBAo0aN0iuvvKJ58+apTZs2Kl++vBwOhw4dOqTVq1fr9OnTeuSRR9ShQwdPZi5UtSvHaM0W71+jgqt3+w21ZQ8IUCLb5KKQBZWvJZcjS4aNk8gBAL7hqp7RBg8erNq1a+vjjz/W999/7x7xCAsLU/v27TVs2DA1atTII0GtkOVwqnalaEqHn+rdtpLSD+1U+rm7EQGFIKRSPcm0WR0DAIACc9VvozVr1kzNmjWTJJ06dUp2u12RkZEFHqwosJmG6lZhXYc/atugjMLDgnX0u/lWR4GfMYPDFVi6CgvJAQA+5ZrG7i93ZocvMAxDNStGKyjApvRMh9VxUIiG9KqjrJTTOrPtV6ujwM+EVG4gw+BsDgCAb+GZ7QoC7KYaVi9hdQwUorKxYSpXIkxJaxdJTsomCldItcZyObKsjgEAQIGidFxBlsOp5nVLWR0Dheje/g0lp0NJvy21Ogr8UGj1ZiwgBwD4HErHFdhtplrXZ/tKfxFoN9W4WoySNy+XMy3Z6jjwMwElysseHm11DAAAChylIw9iIoNVuYxvLpZHbkNvrCfTblfimoVWR4EfCqnSSC6n0+oYAAAUOEpHHjicTrVgipVf6Na8vNL2blbm8X1WR4EfCq3e1OoIAAB4BKUjD0zDUKt6pa2OAQ/r1qKiQoIDlbj6G6ujwA8ZAcEKqVhPhsmfZQCA7+HZLQ9yts6NDAu0Ogo86PYbaioz8bhSd26wOgr8UGj1pjLsAVbHAADAIygdeWQYhprVLml1DHhItXJRKhkdkj3K4WJOPQpfeN32crFFMwDAR1E68sjhcKolU6x81j39G8iVmaHkjT9YHQV+yAgMzh7pMG1WRwEAwCMoHXlks5lqVa+MQoPZP9/XhAfbVbtiMSX//r1cGWlWx4EfCq3RnKlVAACfRum4CnabofaNylodAwVs+E31ZZimEtctsjoK/BRTqwAAvo7ScRVcruwdjuBbrmtcVqm7Nijr9BGro8APGYEhCq3WhKlVAACfRum4CqZpqE6V4ioVE2p1FBSQmzpUU2BggJJWL7A6CvxUWM0WMmxM2wQA+DZKx1VyOJ3q0ryC1TFQQG7uUk0ZJw4oLX6T1VHgpyIadWFqFQDA51E6rpJpGLq+JVOsfEGDasVVLCKYwwBhGXuxUgqp3ICpVQAAn0fpuEqGYSg2OlR1q8RYHQXXaHjf+nKmpypl8wqro8BPRTTuxigHAMAvUDryIcvhVFcWlHu16IggVS0boaT1S+TKyrA6DvyRaVdkk+sZ5QAA+AVKRz7Ybaaua1JOQQG8WPBW9/RvIMlQ0vrFVkeBnwqr2Vy20AirYwAAUCgoHfkUFGBTp2blrY6BfDBNqXXdkjqzbZUcySetjgM/Fdm0O1OrAAB+g9KRTy5JN3euLsOwOgmu1u3daskeEKDENWyTC2vYi5VSSJWGTK0CAPgNSkc+mYahMiXC1bx2Kauj4Cr1aVdZ6Yd3Kf1gnNVR4Kcim1zPKAcAwK9QOq6Bw+nUgM7VrY6Bq9CqbmlFhLNNLqxjBIYosnkPRjkAAH6F0nENbKap+tVKqGq5KKujII/+3ruOHGcSlfLnKqujwE9FNr1BRkCQ1TEAAChUlI5rlOVwqn8nRju8QZnioSpfMlyJaxdKziyr48Af2ewq1vomSSwGAwD4F0rHNbLbTHVoXFbFo4KtjoIruHdAQ8nlVNJvS62OAj8VUf862cKiZLADBQDAz1A6Ckif9lWtjoDLCLSbaly9uFI2r5AzNcnqOPBLhoq1HSCXy2l1EAAACh2lowDYTFO921VRSJDd6ii4hDt71ZHNbmebXFgmtGYLBcSUkWHwZxcA4H949isgQQE23diB0Y6i6oaWFZS2b6syju21Ogr8VLF2N7NNLgDAb1E6CohpGrqlSw1FhgVaHQXn6dK8gkJCgtgmF5YJqdZEwWWrs00uAMBvUToKUECAqb91qWF1DJxn0A01lZl4Qqk71lkdBX7JUPEudzLKAQDwa5SOAmQzTd3YvqpKFGMnq6KicplIlYwJVdKaBRILeGGBsHrtFFiyIqMcAAC/RukoYIYhDbqhttUx8D/39m8gV1amkjd+b3UU+CPTrpjOd7BjFQDA71E6CpjNZqpri4oqXzLc6ih+LzTYrrqViyl54w9ypqdaHQd+KLJJN9kjS7BjFQDA7/FM6AEul0t39qpjdQy/N7xvPZk2u5LWLrQ6CvyQERCs6OtutzoGAABFAqXDA2w2U20alFWNCsWsjuLXOjUuq9SdG5R56rDVUeCHolr2lhkcxunjAACI0uExDodTw26sZ3UMv3Vj+yoKDArkMEBYwhYRo2LtbpZh8icWAACJ0uExNpup+tVKqGOTclZH8Ut/61xDGScPKW3PRqujwA8Vv36YDNNudQwAAIoMSocHOV0u3dO/ocJCAqyO4lfqVolRdFSwEtdwGCAKX0iVRgqv00aGjS1yAQDIQenwINMwFBYSoL/3ZlF5YbrrpvpyZaQp5Y/lVkeBv7HZVaLnvRwECADAeSgdHmYzDfVsU0W1KkVbHcUvFAsPVPWykUpav0SuzHSr48DPFGt9k+zFYjkIEACA81A6CoHD4dTDtzaRzWQXG0+7u39DyTCUuH6x1VHgZ+xRJRXd/hbO5AAA4CJ4diwENpupCqXC1fe6alZH8WmmKbWtV1Jntq+WI+mE1XHgZ4p3Hy5ROAAAuCieIQuJYRi6o0dtxUaHWB3FZ93SpabsAQFsk4tCF1a3ncJqNGfxOAAAl0DpKEQ209D9AxpaHcNn9e1QRelH9ij9wDaro8CP2MKjFdvrPrlcTqujAABQZFE6CpHNZqpF3dLq1LS81VF8TvM6JRUZHqzE1WyTi8IVe+MIGQFBrOUAAOAyeJYsZE6XSw/8rRHTrArY0D715EhNUsqfP1sdBX4kosn1Cq3amN2qAAC4AkpHITMNQ4F2U08ObiY2syoYJaNDVLFkmBLXLZIcWVbHgZ+wFyul4tf/Qy6Xy+ooAAAUeZQOC9hspupUjlH/TtWtjuIT7h3QUHK5lLzhO6ujwF8Ypkr2fViGaZdh8O4BAABXQumwiGEYGtKzjmpUKGZ1FK9mt5tqVrOEUjb/V44ziVbHgZ+IatlHQeVrsVsVAAB5ROmw2Mi/t1BIkN3qGF5rSM/astntSly70Ooo8BNBZWsopssdjHAAAHAVKB0WstlMFY8K1ohbGlkdxWv1aFVRZ/dvU8bRPVZHgR8wg8NV6m9PWx0DAACvQ+mwmM00dV2T8rq+ZUWro3idjk3KKTQkiG1yUWhi+z4kW1gUu1UBAHCVKB1FgMvl0v03N1L18sWsjuJVBveorazkkzoTt8bqKPADxdr2zz51nMIBAMBVo3QUAYZhyDSlF4a3UnREkNVxvEKlMhEqXTxUiasXSJwEDQ8LqdJQ0Z0GWR0DAACvRekoImymqciwQL0wvLUC7fxYruTefg3lcmQpeeP3VkeBj7NHxqrkgCcljuMAACDfeHVbhNhspqqWi9JDtzWxOkqRFhxoV70qxZS88Qc5z56xOg58mBEYrFK3jZIZECzD5M8lAAD5xbNoEWOahjo1La+/dalhdZQia1jfejJtdiWtXWR1FPgyw1Sp/k8osER5zuMAAOAaUTqKqDt71VHLeqWtjlEkdWlaVqm7Nyrz5EGro8CHFb9huEKqNWHhOAAABYDSUUS5JD19RzNVKh1hdZQipVfbygoKClTi6vlWR4EPi2rZR1HNe3AAIAAABYTSUUSZhiG7zdSLd7dRVHig1XGKjFu71lDmqcNK273R6ijwUaE1Wyqm21CrYwAA4FMoHUWYzWYqJiJI/7qvncKC7VbHsVztytGKiQpR4ppvxFZC8ISgMtVUqv/jVscAAMDnUDqKOJvNVIWS4RpzT1sFB/r33PK7bqovV8ZZJW9abnUU+CB7dBmVvv05yTSZVgUAQAGjdHgBm81U9QrF9PzwVgrw0zM8IsMCVaNclJJ++06uzLNWx4GPsUfFquydL8sMCmPhOAAAHuCfr2C9kM00VL9qCY28s4Vspv+9C3t3vwYyTENJ6761Ogp8jC0iRmWHvCxbSCRb4wIA4CGUDi9imoaa1ymlxwY2lT/1DtOU2tUvpdTta5WVeNzqOPAhtrCo7MIRHkPhAADAgygdXsY0DV3XpJzuv7mR1VEKzc2dayggMECJaxZYHQU+xAwJV5k7XpI9MpbCAQCAh1E6vJBhGOrRprKG3VjP6iiF4qYOVZR+bK/O7t9qdRT4CDMoVGUGj1FATBkKBwAAhYDS4cX6d6que/o1kC9vtNO0VklFRYQocfU3VkeBjzBDwlVm8BgFxlZg0TgAAIWE0uHl+rSvoscHNfPZxeX/6FNXjtRkndmy0uoo8AG2iBiV/fsrCixVicIBAEAhonR4OcMwdF3jcnpuWCsFBfjWi6jYYsGqVDpcSeu/lcuRaXUceDl7dGmVG/qqAqJLUzgAAChklA4fYJqGmtYqqZfva+tTJ5ffO6Ch5JKS1i+xOgq8XGDJSio3dKxsYcUoHAAAWIDS4SNM01DNCsU0bkQHFYsIsjrONbObUvNasUrZ+rMcZxKsjgMvFlS+lsre+W+ZwWEsGgcAwCKUDh9is5kqXzJcbzx8nUrFhFod55oM7lFXNrtdiWvZJhf5F1KtqcoOHiMjIJARDgAALETp8DE2m6kSUcF645HrVKVspNVx8q1nm4o6e2C7Mg7vsjoKvFRki94qfdsoybRROAAAsBilwwfZbKYiQgL0xsPXqX3jslbHuWrtG5VVWGgQ2+Qif0ybSvS8VyVuGCbDMGWY/JkDAMBqPBv7KJvNlN1u6pkhLfT33nXlTTvqDulZR1nJp3Rm+2qro8DLZJ/B8U9FNOlmdRQAAHAOSocPM/93auDNnavrxbtae8XOVhVKhatM8VAlrl0ouZxWx4EXCSheTuWGva7g8rVkGPxpAwCgKOGZ2Q8YhqFGNWI1/vFOqlAqwuo4l3Vvv4ZyOR1K/m2Z1VHgRUKqNla5Ya/JHlGc9RsAABRBlA4/YbOZii0WorcfvU6t6pW2Os5FBQeaalA1WimbfpDzbIrVceANDFPRHW9X6dufk2EPZEtcAACKKEqHH7HZTAUE2PTcsFa6/YZaRW6dx9A+9WXa7Upcu8jqKPACtogYlRnykoq1+5sMw2DBOAAARVjRn+SPApWzzmPQDbXUuEas3pyxXsdPp1mcKlvXZuWUtmeTMk8csDoKiriQak1Vst+jMgODZRhFrD0DAIAL8NagnzIMQ7UrReu9p7qoY9PyVsdR99aVFBwcqIQ1bJOLyzBtiukyRGVuHy0zMIT1GwAAeAnD5XK5rA4B6zhdLpmGof/+flDvfbVRZ9IyLckx9bluKqYU7X//QUk8JHEhe1RJlRzwuILKVGN3KgAAvAzTq/xcznSrtg3LqF7V4nrzs/XatPNEoWaoWbGYShQL1cnvPheFAxcyFNm8h2K6DJFhs1M4AADwQox0wM3hdMpmmprz0059+u2fyswqnHMyXn+og2qWDdXed4bLlXG2UO4T3sEeXVqxN45QSIU6crlcrN8AAMBLMdIBN9v/dv+56bpqala7lMZ/sUE79id49D4jQgNUs0KUktYtonDgL4apyOY9VbzLEOl/j0sKBwAA3ouRDlyUw+GUaRpa8uteTVu0Vcmpnlnr8fjApurUrLz2v/+gshKOeuQ+4F0CYsoqtu9DCi5X0+ooAACggDDSgYuy2bLfXb6+VUW1b1xOU+dv1rK1+1TQFbV9w9JK3bGOwgEZ9kAVa9NPxdoOkFi3AQCAT6F04LJspqnQYEMP39ZEPVpX1sSvfteeQ0kFctsDOldXQGCAjq9mm1x/F1a7jYrfMEy2sGIc8gcAgA9iehXyzOFwyjAMLVi5W58t2abUs1nXdHufvniDQtNP6MCURwsmILxOQGxFlehxt0Iq1pXL6aRwAADgoxjpQJ7lTLnq3b6qOjYtr6nfbNFP6/fLmY/a2qhGCRWLDNHxBfMLOCW8gRkcruiOtyuyWXflPIAoHAAA+C5GOpAvTqdLpmno4PEUTVu0Vav+OHxV6z3eebyTKsXYtO+du+RyWHMgIQqfYQtQZLPuKtbhVpmBwZwoDgCAn2CkA/limtnbl5YpHqZRf2+p+MNJmrZwq9b+eeUF4cWjglWlTLgSfplD4fAXpk0RDTsruuPtsoUVk8QWuAAA+BNGOlAgHE6XbKahuH2n9cmirdq049Knmj87tIVa1yulfRPulSPldCGmRKEzTIXX76Do625TQLFScrmcnCgOAIAfonSgQDkcTtlspjbvPqFpC//Un/Gncl1vN6UvX+mltO2/6vi88daEhOdRNgAAwDkoHfCInPKxaedxzf5xpzZsPyaXSxrSs45u7VZTB//zjNIP7bQ6JgqYERiiyMZdFdWqr+yRxSkbAABAEms64CE5O13Vq1JcDavH6uDxFM3+cYd6ta2ks4d2Ujh8jD0qVpHNeymy6Q0yAgIlZa/XoHAAAACJkQ4UEqfTJcPIXjx8ZvsanVjyoRzJp678iSjSgsrWUFTrmxRWu5XkcrEbFQAAuChKBwqdy+mQZOjM9tVKWr9YZ/dukcTD0FsYgcEKr9NOEU2vV3DZGnI5HDJslA0AAHBplA5YxuXIkmGzKyvphJI3/qDkP5Yr6/QRq2PhogwFV6yriEZdFFa3rQxbwP9GNpg+BQAArozSgSLB5XTIMG06e2C7kjf+oJQ/f5ErPdXqWH7PFllCEQ07KaJxNwVExbqLIgAAwNWgdKBIcTmdkmFIjiydiVujlC3/VdrujXJlZVgdzW/YIoorrFYrhdVpo+AKdSSXUzJMjx7mN2rUKC1cuFDz5s1TlSpVcl13/Phx9e7dW9ddd53eeOMNj2UAAACeQ+lAkZXzrrorK1Opu39XatwandmxTs7UJKuj+ZyA4uUUVqulwuq0VVDpqnK5nJJLhTZ9KikpSb1791blypU1bdq0XAXnoYce0qZNm/TNN98oMjKyUPIAAICCRemAV3A5HdL/tl9NPxinM9tXKzVujTJPHbY4mZcy7QoqW12h1ZsqrE4bBcaUdX+PPTmicTk//vij7rvvPr300ku67bbbJElLlizRI488oo8//ljt2rWzJBcAALh2lA54nXPfhc9KPqW0PRuVtneLzu7doqzEY1bHK5oMU4GlqyikUn2FVGmk4Ip1ZNoDLS8a53vqqaf0448/avHixQoODlaPHj10ww036IUXXtCuXbv06quvat26dQoLC1OrVq00cuRIxcbGSpLi4+P18ssv6/fff5fT6VTTpk319NNPq1atWhZ/VQAAgNIBr+dyZEmmTYZhKCv5tNL2bNTZfVuVtm+L3+6GZdgCFFiqkoLK1lRI5QYKqdxAZlBI9poZFd60qauVmJio3r17q127doqMjNSKFSs0d+5cJSUlqW/fvrrxxhs1cOBApaWlacKECdqxY4cWLFig0NBQDRgwQLVr19Y999yjrKwsjRs3TvHx8Vq6dKnVXxYAAH6P0gGf43I4JDP73XtneqrSj+xR+uFdyji6R+lH9ijz5MHsxdE+IqdgBJaupqAyVRVcrqYCipeTYdr+NyrkXYf2LVu2TCNGjFBAQICmT5+uRo0aafz48frxxx81b94898elpaWpdevWevHFFzVgwAA1b95ct99+ux555BEFBATo+PHj2r17t1q0aCGziJYsAAD8BXtfwuece1CdGRSq4Ip1FVy+lnurV1dWpjKO71P64Z3KPHlYmQlHlXn6iLISjsmVedaq2FdkhkQoIKbMX/9Fl1FgyUoKKF72r4LhdOba0tYwTKlozJzKs27duql+/foqV66cGjVqJEnaunWrduzYoSZNmuT62PT0dO3atUuS9Nhjj+mVV17RjBkz1LJlS3Xo0EF9+vShcAAAUAQw0gG/5XJkZa9nOOdFqSM1WZkJR5R58pCyEo4qKyVBztQkOdKS5UhNlDM1WY60ZMnpKLggpl22sEjZwqJkC42SLaxY9r/DomQPj1FAifIKiCktMzDkvOyGV41gXI0hQ4aoXLlyevXVVyVJd911l5xOp1588cULPjYiIkIxMTGSpJMnT2r58uVatWqVVqxYoYCAAM2dO1clSpQo1PwAACA3Rjrgty52yJ0tNEK20AgFla4quVzutSLnc2akyZGWLFdGulyOTLkcWXJlZWb/Oyv7/5VTDGz27NuxB8iwB8kMDJYRGCQzIEhmYKjMoJALbt/ldPx1PsZFioW/HdBXo0YNLVq0SGXKlFFgYKAkKSEhQc8884z+8Y9/qEaNGnrvvfd0zz33aMCAARowYICOHj2q6667TmvWrFGvXr0s/goAAPBv/vXKBcijK40gmIEhuUYezpezliL7xozsaU5Xff++OYqRH4MGDdLMmTP15JNP6oEHHpAkjRs3Ttu3b1fNmjUVGRmpn376Sfv27dMTTzyh8PBwzZ49WwEBAapfv77F6QEAAJOdAQ8w/jdCYZi2qy4cuFCFChU0ffp0nTlzRgMHDtQdd9yhgIAATZs2TTExMbLb7frwww9lmqaGDh2q3r1765dfftGUKVNUsWJFq+MDAOD3WNMBAAAAwKN4CxYAAACAR1E6AAAAAHgUpQMAAACAR1E6AAAAAHgUpQMAAACAR1E6AAAAAHgUpQMAAACAR1E6AAAAAHgUpQMAAACAR1E6AAAAAHgUpQMAAACAR1E6AAAAAHgUpQMAAACAR1E6AAAAAHgUpQMAAACAR1E6AAAAAHgUpQMAAACAR1E6AAAAAHgUpQMAAACAR1E6AAAAAHgUpQMAAACAR1E6AAAAAHgUpQMAAACAR1E6AAAAAHgUpQMAAACAR1E6AAAAAHgUpQMAAACAR1E6AAAAAHgUpQMAAACAR1E6AAAAAHgUpQMAAACAR1E6AAAAAHgUpQMAAACAR1E6AAAAAHgUpQMAAACAR1E6AAAAAHgUpQMAAACAR1E6AAAAAHgUpQMAAACAR1E6AAAAAHgUpQMAAACAR1E6AAAAAHgUpQMAAACAR1E6AAAAAHjU/wNeHkCKuYHQ/wAAAABJRU5ErkJggg==\n"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df[\"CovidPos\"].value_counts().plot(kind=\"pie\")"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"## Normalizacja część 1 - zamiana na kolumny liczbowe i kategoryczne"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"Kolumny zawierające stan zdrowia i podobne cechy opisane w sposób \"poor/fair/good/excellent\" etc. starałem się zamienić na liczbowe w sposób sensowny, rosnący względem pozytywnego aspektu tego czynnika zdrowotnego. Podobnie z tym jak często dana osoba paliła.\n",
"Część kolumn zamieniłem na kategoryczne\n",
"Kolumnę płci zamieniłem na numeryczną w celu późniejszego wykorzystania przez model, choć mialem wątpliwości co do robienia tego pod względem poprawności politycznej\n"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 53,
"outputs": [
{
"data": {
"text/plain": "array(['Female', 'Male'], dtype=object)"
},
"execution_count": 53,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"Sex\"].unique()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 54,
"outputs": [
{
"data": {
"text/plain": "array(['Very good', 'Excellent', 'Fair', 'Poor', 'Good', nan],\n dtype=object)"
},
"execution_count": 54,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"GeneralHealth\"].unique()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 55,
"outputs": [],
"source": [
"health_map = {\n",
" \"Excellent\": 5,\n",
" \"Very good\": 4,\n",
" \"Good\": 3,\n",
" \"Fair\": 2,\n",
" \"Poor\": 1\n",
"}"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 56,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"State:\n",
"['Alabama' 'Alaska' 'Arizona' 'Arkansas' 'California' 'Colorado'\n",
" 'Connecticut' 'Delaware' 'District of Columbia' 'Florida' 'Georgia'\n",
" 'Hawaii' 'Idaho' 'Illinois' 'Indiana' 'Iowa' 'Kansas' 'Kentucky'\n",
" 'Louisiana' 'Maine' 'Maryland' 'Massachusetts' 'Michigan' 'Minnesota'\n",
" 'Mississippi' 'Missouri' 'Montana' 'Nebraska' 'Nevada' 'New Hampshire'\n",
" 'New Jersey' 'New Mexico' 'New York' 'North Carolina' 'North Dakota'\n",
" 'Ohio' 'Oklahoma' 'Oregon' 'Pennsylvania' 'Rhode Island' 'South Carolina'\n",
" 'South Dakota' 'Tennessee' 'Texas' 'Utah' 'Vermont' 'Virginia'\n",
" 'Washington' 'West Virginia' 'Wisconsin' 'Wyoming' 'Guam' 'Puerto Rico'\n",
" 'Virgin Islands']\n",
"Sex:\n",
"['Female' 'Male']\n",
"GeneralHealth:\n",
"['Very good' 'Excellent' 'Fair' 'Poor' 'Good' nan]\n",
"PhysicalHealthDays:\n",
"[ 0. 2. 1. 8. 5. 30. 4. 23. 14. nan 15. 3. 10. 7. 25. 6. 21. 20.\n",
" 29. 16. 9. 27. 28. 12. 13. 11. 26. 17. 24. 19. 18. 22.]\n",
"MentalHealthDays:\n",
"[ 0. 3. 9. 5. 15. 20. 14. 10. 18. 1. nan 2. 30. 4. 6. 7. 25. 8.\n",
" 22. 29. 27. 21. 12. 28. 16. 13. 26. 17. 11. 23. 19. 24.]\n",
"LastCheckupTime:\n",
"['Within past year (anytime less than 12 months ago)' nan\n",
" 'Within past 2 years (1 year but less than 2 years ago)'\n",
" 'Within past 5 years (2 years but less than 5 years ago)'\n",
" '5 or more years ago']\n",
"PhysicalActivities:\n",
"['No' 'Yes' nan]\n",
"SleepHours:\n",
"[ 8. 6. 5. 7. 9. 4. 10. 1. 12. nan 18. 3. 2. 11. 16. 15. 13. 14.\n",
" 20. 23. 17. 24. 22. 19. 21.]\n",
"RemovedTeeth:\n",
"[nan 'None of them' '1 to 5' '6 or more, but not all' 'All']\n",
"HadHeartAttack:\n",
"['No' 'Yes' nan]\n",
"HadAngina:\n",
"['No' 'Yes' nan]\n",
"HadStroke:\n",
"['No' 'Yes' nan]\n",
"HadAsthma:\n",
"['No' 'Yes' nan]\n",
"HadSkinCancer:\n",
"['No' 'Yes' nan]\n",
"HadCOPD:\n",
"['No' 'Yes' nan]\n",
"HadDepressiveDisorder:\n",
"['No' 'Yes' nan]\n",
"HadKidneyDisease:\n",
"['No' 'Yes' nan]\n",
"HadArthritis:\n",
"['No' 'Yes' nan]\n",
"HadDiabetes:\n",
"['Yes' 'No' 'No, pre-diabetes or borderline diabetes' nan\n",
" 'Yes, but only during pregnancy (female)']\n",
"DeafOrHardOfHearing:\n",
"['No' nan 'Yes']\n",
"BlindOrVisionDifficulty:\n",
"['No' 'Yes' nan]\n",
"DifficultyConcentrating:\n",
"['No' nan 'Yes']\n",
"DifficultyWalking:\n",
"['No' 'Yes' nan]\n",
"DifficultyDressingBathing:\n",
"['No' nan 'Yes']\n",
"DifficultyErrands:\n",
"['No' 'Yes' nan]\n",
"SmokerStatus:\n",
"['Never smoked' 'Current smoker - now smokes some days' 'Former smoker'\n",
" nan 'Current smoker - now smokes every day']\n",
"ECigaretteUsage:\n",
"['Not at all (right now)' 'Never used e-cigarettes in my entire life' nan\n",
" 'Use them every day' 'Use them some days']\n",
"ChestScan:\n",
"['No' 'Yes' nan]\n",
"RaceEthnicityCategory:\n",
"['White only, Non-Hispanic' 'Black only, Non-Hispanic'\n",
" 'Other race only, Non-Hispanic' 'Multiracial, Non-Hispanic' nan\n",
" 'Hispanic']\n",
"AgeCategory:\n",
"['Age 80 or older' 'Age 55 to 59' nan 'Age 40 to 44' 'Age 75 to 79'\n",
" 'Age 70 to 74' 'Age 65 to 69' 'Age 60 to 64' 'Age 50 to 54'\n",
" 'Age 45 to 49' 'Age 35 to 39' 'Age 25 to 29' 'Age 30 to 34'\n",
" 'Age 18 to 24']\n",
"HeightInMeters:\n",
"[ nan 1.6 1.57 1.65 1.8 1.63 1.7 1.68 1.73 1.55 1.93 1.88 1.78 1.85\n",
" 1.75 1.52 1.83 1.91 1.96 1.5 1.45 1.42 1.24 1.47 1.22 1.98 2.03 2.01\n",
" 1.3 1.4 1.35 1.82 1.67 1.76 2.11 1.37 1.64 1.71 2.16 2.26 0.91 2.06\n",
" 1.14 1.74 1.51 1.53 1.69 1.56 1.84 1.9 1.54 1.72 1.87 1.61 1.49 1.59\n",
" 1.58 1.62 1.79 1.46 1.89 2.13 0.99 2.08 2.21 1.32 2.18 1.77 2.36 1.25\n",
" 1.66 1.86 1.95 1.19 1.05 1.48 1.03 1.18 1.81 1.38 1.44 1.07 1.27 1.2\n",
" 1.17 1.04 2.24 1.1 1.43 1.92 2.05 1.12 2.41 2.34 0.97 1.06 1.15 2.29\n",
" 1.16 1.09 0.92 2.07 1. 1.08 1.02 1.33 2. 2.02 1.94 0.95]\n",
"WeightInKilograms:\n",
"[ nan 68.04 63.5 53.98 84.82 62.6 73.48 81.65 74.84 59.42\n",
" 85.28 106.59 71.21 64.41 61.23 90.72 65.77 66.22 80.29 86.18\n",
" 47.63 107.05 57.15 105.23 77.11 56.7 79.38 113.4 102.06 59.87\n",
" 104.33 53.52 61.69 136.08 34.47 99.79 127.01 78.93 95.25 58.97\n",
" 92.08 72.57 83.91 49.9 117.93 71.67 102.97 62.14 83.46 54.43\n",
" 94.35 60.78 117.03 65.32 76.66 88.45 89.81 74.39 68.95 79.83\n",
" 108.41 90.26 55.79 91.63 47.17 78.02 50.8 91.17 84.37 145.15\n",
" 93.89 122.47 48.99 73.94 88.9 80.74 81.19 158.76 97.52 51.71\n",
" 82.55 76.2 68.49 75.3 70.31 63.05 60.33 115.67 86.64 108.86\n",
" 92.53 124.74 43.09 58.51 63.96 92.99 44.45 128.82 98.88 45.36\n",
" 110.68 46.72 58.06 73.03 95.71 131.09 78.47 69.4 85.73 67.59\n",
" 103.87 120.2 88. 54.88 111.58 52.16 77.56 126.55 94.8 123.83\n",
" 89.36 75.75 69.85 112.49 82.1 106.14 57.61 70.76 148.78 96.16\n",
" 67.13 48.08 163.29 109.77 100.7 142.88 64.86 111.13 121.11 55.34\n",
" 101.6 93.44 117.48 120.66 66.68 44.91 132. 107.5 107.95 36.29\n",
" 103.42 87.09 83.01 56.25 96.62 134.26 97.07 34.93 99.34 72.12\n",
" 49.44 122.02 98.43 129.73 181.44 52.62 121.56 110.22 48.53 140.61\n",
" 156.49 116.57 87.54 44. 114.31 31.75 97.98 101.15 112.04 100.24\n",
" 113.85 154.22 118.39 133.81 149.69 41.73 119.75 138.35 151.95 129.27\n",
" 131.54 104.78 132.45 102.51 116.12 40.37 105.69 136.98 195.04 53.07\n",
" 132.9 124.28 112.94 114.76 45.81 119.29 167.83 51.26 172.37 162.39\n",
" 46.27 127.91 123.38 38.56 130.63 143.34 115.21 166.92 135.17 109.32\n",
" 135.62 204.12 127.46 118.84 139.25 126.1 122.92 151.5 133.36 42.64\n",
" 50.35 80. 190.51 37.19 147.87 35.38 144.24 149.23 37.65 86.\n",
" 147.42 281. 165.56 162.84 155.58 70. 137.89 189.6 206.38 148.32\n",
" 42.18 153.77 38.1 90. 176.9 191.87 249.48 67. 95. 82.\n",
" 170.1 62. 40.82 53. 139.71 130.18 100. 165.11 64. 43.54\n",
" 24. 134.72 141.52 125.19 75. 60. 34.02 164.65 30.84 250.\n",
" 58. 76. 73. 112. 74. 55. 200. 54. 66. 72.\n",
" 152.41 39.46 220. 41.28 168.28 188.24 59. 46. 265. 238.14\n",
" 168.74 145. 190. 93. 159.66 78. 50. 185.07 91. 104.\n",
" 165. 183.7 33.57 161.93 68. 125.65 134. 130. 32.21 143.79\n",
" 69. 179.17 63. 105. 210.92 65. 32. 292.57 280. 85.\n",
" 174.63 56. 128.37 87. 39.92 83. 169.64 156.04 177. 121.\n",
" 151.05 89. 146.96 146.06 98. 166.47 36.74 171.46 227.25 29.48\n",
" 190.06 161.03 35.83 226.8 175.09 138.8 240.4 158.3 170.55 61.\n",
" 137.44 145.6 141.07 155.13 52. 120. 57. 77. 27.22 25.4\n",
" 240. 96. 47. 115. 41. 45. 170. 150.59 272.16 26.31\n",
" 48. 39.01 236. 92. 197.31 156. 84. 94. 29.03 49.\n",
" 79. 157.85 192.78 255. 108. 185. 222.26 229.97 180. 81.\n",
" 24.95 71. 26. 107. 101. 208.65 140. 175. 111. 110.\n",
" 141.97 22.68 284.86 136.53 210. 103. 185.97 140.16 146.51 24.49\n",
" 25.85 150. 102. 229.52 23.59 125. 163. 38. 135. 176.45\n",
" 185.52 152.86 232.69 124. 192.32 186.88 118. 160.12 160. 193.68\n",
" 201.85 144.7 184.16 142.43 169. 166.01 32.66 180.53 196.41 51.\n",
" 40. 171.91 195.95 33.11 153.31 159.21 164.2 219.99 215.46 182.34\n",
" 30. 160.57 173.27 158. 213.19 276.24 199.58 175.99 235.87 217.72\n",
" 200.03 230.88 146. 24.04 178.72 150.14 157.4 163.75 191.42 174.18\n",
" 28.58 97. 256.28 205.48 161.48 178.26 179.62 205.02 254.01 154.68\n",
" 209.56 201.4 234.96 177.81 200.49 231.79 227.7 273.52 189.15 173.73\n",
" 183.25 167.38 211.83 223.62 228.61 30.39 197.77 184.61 250.38 181.89\n",
" 31.3 290.3 285. 113. 242.67 231.33 180.08 202.76 176. 188.69\n",
" 206.84 164. 156.94 114. 122. 222. 137. 166. 180.98 272.\n",
" 172.82 274.42 234.51 199.13 244.94 203.21 23.13 265.35 198.22 263.08\n",
" 216.82 154. 169.19 239.04 177.35 210.47 224.98 117. 37. 126.\n",
" 273.06 203.66 252.2 238.59 194.59 187.33 221.35 162. 224.53 23.\n",
" 223.17 187.79 212.73 152. 233.6 193.23 205. 229.06 230. 247.21\n",
" 99. 28.12 230.42 175.54 205.93 171. 26.76 212.28 217. 280.32\n",
" 281.68 248.57 195. 42. 258.55 215. 116. 28. 123. 186.43\n",
" 228.16 119. 219.09 214.55 278.96 182.8 138. 217.27 246.3 189. ]\n",
"BMI:\n",
"[ nan 26.57 25.61 ... 13.51 28.39 48.63]\n",
"AlcoholDrinkers:\n",
"['No' 'Yes' nan]\n",
"HIVTesting:\n",
"['No' 'Yes' nan]\n",
"FluVaxLast12:\n",
"['Yes' 'No' nan]\n",
"PneumoVaxEver:\n",
"['No' 'Yes' nan]\n",
"TetanusLast10Tdap:\n",
"['Yes, received tetanus shot but not sure what type'\n",
" 'No, did not receive any tetanus shot in the past 10 years' nan\n",
" 'Yes, received Tdap' 'Yes, received tetanus shot, but not Tdap']\n",
"HighRiskLastYear:\n",
"['No' nan 'Yes']\n",
"CovidPos:\n",
"['No' 'Yes' nan\n",
" 'Tested positive using home test without a health professional']\n"
]
}
],
"source": [
"for col in df:\n",
" print(f\"{col}:\")\n",
" print(df[col].unique())"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 57,
"outputs": [],
"source": [
"from collections import defaultdict\n",
"def normalize_dataset(dataset):\n",
" dataset[\"GeneralHealth\"] = dataset[\"GeneralHealth\"].map(defaultdict(lambda: float('NaN'), health_map), na_action='ignore')\n",
" dataset[\"Sex\"] = dataset[\"Sex\"].map({\"Female\":0,\"Male\":1}).astype(float) #Zamiana z kolumn tekstowych na numeryczne\n",
" dataset.rename(columns ={\"Sex\":\"Male\"},inplace=True)\n",
" dataset[\"State\"] = dataset[\"State\"].astype('category')\n",
" dataset[\"PhysicalHealthDays\"].astype(float)\n",
" dataset[\"MentalHealthDays\"].astype(float)\n",
" dataset[\"LastCheckupTime\"] = dataset[\"LastCheckupTime\"].fillna(\"Unknown\").astype('category') # Potem korzystam z fillna-->median ale nie działa to na kolumnach kategorycznych więc wykonuję to przed konwersją\n",
" dataset[\"PhysicalActivities\"]= dataset[\"PhysicalActivities\"].map({\"No\":0,\"Yes\":1})\n",
" dataset[\"SleepHours\"].astype(float)\n",
" dataset[\"RemovedTeeth\"] = dataset[\"RemovedTeeth\"].map(defaultdict(lambda: float('NaN'), {\"None of them\":0,\"1 to 5\":1, \"6 or more, but not all\":2, \"All\":3}), na_action='ignore')\n",
" dataset[\"HadHeartAttack\"]= dataset[\"HadHeartAttack\"].map({\"No\":0,\"Yes\":1})\n",
" dataset[\"HadAngina\"]= dataset[\"HadAngina\"].map({\"No\":0,\"Yes\":1})\n",
" dataset[\"HadStroke\"]= dataset[\"HadStroke\"].map({\"No\":0,\"Yes\":1})\n",
" dataset[\"HadAsthma\"]= dataset[\"HadAsthma\"].map({\"No\":0,\"Yes\":1})\n",
" dataset[\"HadSkinCancer\"]= dataset[\"HadSkinCancer\"].map({\"No\":0,\"Yes\":1})\n",
" dataset[\"HadCOPD\"]= dataset[\"HadCOPD\"].map({\"No\":0,\"Yes\":1})\n",
" dataset[\"HadDepressiveDisorder\"]= dataset[\"HadDepressiveDisorder\"].map({\"No\":0,\"Yes\":1})\n",
" dataset[\"HadKidneyDisease\"]= dataset[\"HadKidneyDisease\"].map({\"No\":0,\"Yes\":1})\n",
" dataset[\"HadArthritis\"]= dataset[\"HadArthritis\"].map({\"No\":0,\"Yes\":1})\n",
" dataset[\"HadDiabetes\"]= dataset[\"HadDiabetes\"].map({\"No\":0,\"Yes, but only during pregnancy (female)\":1,\"No, pre-diabetes or borderline diabetes\":2,\"Yes\":3})\n",
"\n",
" dataset[\"DeafOrHardOfHearing\"]= dataset[\"DeafOrHardOfHearing\"].map({\"No\":0,\"Yes\":1})\n",
" dataset[\"BlindOrVisionDifficulty\"]= dataset[\"BlindOrVisionDifficulty\"].map({\"No\":0,\"Yes\":1})\n",
" dataset[\"DifficultyConcentrating\"]= dataset[\"DifficultyConcentrating\"].map({\"No\":0,\"Yes\":1})\n",
" dataset[\"DifficultyWalking\"]= dataset[\"DifficultyWalking\"].map({\"No\":0,\"Yes\":1})\n",
" dataset[\"DifficultyDressingBathing\"]= dataset[\"DifficultyDressingBathing\"].map({\"No\":0,\"Yes\":1})\n",
" dataset[\"DifficultyErrands\"]= dataset[\"DifficultyErrands\"].map({\"No\":0,\"Yes\":1})\n",
" dataset[\"SmokerStatus\"]= dataset[\"SmokerStatus\"].map({\"Never smoked\":0,\"Current smoker - now smokes some days\":1,\"Former smoker\":2,\"Current smoker - now smokes every day\":3})\n",
" dataset[\"ECigaretteUsage\"]= dataset[\"ECigaretteUsage\"].map({\"Never used e-cigarettes in my entire life\":0,\"Not at all (right now)\":1,\"Use them some days\":2,\"Use them every day\":3})\n",
" dataset[\"ChestScan\"]= dataset[\"ChestScan\"].map({\"No\":0,\"Yes\":1})\n",
" dataset[\"RaceEthnicityCategory\"] = dataset[\"RaceEthnicityCategory\"].fillna(\"Unknown\").astype('category')\n",
" dataset[\"AgeCategory\"] = dataset[\"AgeCategory\"].fillna(\"Unknown\").astype('category')\n",
" dataset[\"HeightInMeters\"] = dataset[\"HeightInMeters\"].astype(float)\n",
" dataset[\"WeightInKilograms\"] = dataset[\"WeightInKilograms\"].astype(float)\n",
" dataset[\"BMI\"] = dataset[\"BMI\"].astype(float)\n",
" dataset[\"AlcoholDrinkers\"]= dataset[\"AlcoholDrinkers\"].map({\"No\":0,\"Yes\":1})\n",
" dataset[\"HIVTesting\"]= dataset[\"HIVTesting\"].map({\"No\":0,\"Yes\":1})\n",
" dataset[\"FluVaxLast12\"]= dataset[\"FluVaxLast12\"].map({\"No\":0,\"Yes\":1})\n",
" dataset[\"PneumoVaxEver\"]= dataset[\"PneumoVaxEver\"].map({\"No\":0,\"Yes\":1})\n",
" dataset[\"TetanusLast10Tdap\"]= dataset[\"TetanusLast10Tdap\"].apply(lambda x: float('NaN') if type(x)!=str else 1.0 if 'Yes,' in x else 1.0 if 'No,' in x else float('NaN'))\n",
" dataset[\"HighRiskLastYear\"]= dataset[\"HighRiskLastYear\"].map({\"No\":0,\"Yes\":1})\n",
" dataset[\"CovidPos\"]= dataset[\"CovidPos\"].map({\"No\":0,\"Yes\":1})"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"### Zbiór test przed zmianą typu danych"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 58,
"outputs": [
{
"data": {
"text/plain": " State Sex GeneralHealth PhysicalHealthDays \\\n339824 South Dakota Female Good 3.0 \n127927 Kansas Female Good 30.0 \n362523 Utah Male Excellent 0.0 \n183687 Michigan Male Good 0.0 \n191905 Michigan Female Very good 0.0 \n\n MentalHealthDays LastCheckupTime \\\n339824 21.0 Within past year (anytime less than 12 months ... \n127927 0.0 Within past year (anytime less than 12 months ... \n362523 0.0 Within past year (anytime less than 12 months ... \n183687 7.0 Within past year (anytime less than 12 months ... \n191905 0.0 Within past year (anytime less than 12 months ... \n\n PhysicalActivities SleepHours RemovedTeeth HadHeartAttack \\\n339824 Yes 8.0 6 or more, but not all No \n127927 Yes 10.0 1 to 5 No \n362523 Yes 7.0 1 to 5 No \n183687 Yes 8.0 None of them No \n191905 Yes 7.0 None of them No \n\n ... HeightInMeters WeightInKilograms BMI AlcoholDrinkers \\\n339824 ... 1.60 52.16 20.37 No \n127927 ... 1.68 97.52 34.70 No \n362523 ... 1.83 113.85 34.04 No \n183687 ... 1.78 83.91 26.54 Yes \n191905 ... 1.57 68.04 27.44 Yes \n\n HIVTesting FluVaxLast12 PneumoVaxEver \\\n339824 Yes Yes Yes \n127927 No Yes Yes \n362523 No No No \n183687 No Yes Yes \n191905 Yes No Yes \n\n TetanusLast10Tdap HighRiskLastYear \\\n339824 Yes, received Tdap No \n127927 NaN No \n362523 Yes, received Tdap No \n183687 Yes, received Tdap No \n191905 Yes, received tetanus shot but not sure what type No \n\n CovidPos \n339824 No \n127927 No \n362523 Yes \n183687 No \n191905 No \n\n[5 rows x 40 columns]",
"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>State</th>\n <th>Sex</th>\n <th>GeneralHealth</th>\n <th>PhysicalHealthDays</th>\n <th>MentalHealthDays</th>\n <th>LastCheckupTime</th>\n <th>PhysicalActivities</th>\n <th>SleepHours</th>\n <th>RemovedTeeth</th>\n <th>HadHeartAttack</th>\n <th>...</th>\n <th>HeightInMeters</th>\n <th>WeightInKilograms</th>\n <th>BMI</th>\n <th>AlcoholDrinkers</th>\n <th>HIVTesting</th>\n <th>FluVaxLast12</th>\n <th>PneumoVaxEver</th>\n <th>TetanusLast10Tdap</th>\n <th>HighRiskLastYear</th>\n <th>CovidPos</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>339824</th>\n <td>South Dakota</td>\n <td>Female</td>\n <td>Good</td>\n <td>3.0</td>\n <td>21.0</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>Yes</td>\n <td>8.0</td>\n <td>6 or more, but not all</td>\n <td>No</td>\n <td>...</td>\n <td>1.60</td>\n <td>52.16</td>\n <td>20.37</td>\n <td>No</td>\n <td>Yes</td>\n <td>Yes</td>\n <td>Yes</td>\n <td>Yes, received Tdap</td>\n <td>No</td>\n <td>No</td>\n </tr>\n <tr>\n <th>127927</th>\n <td>Kansas</td>\n <td>Female</td>\n <td>Good</td>\n <td>30.0</td>\n <td>0.0</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>Yes</td>\n <td>10.0</td>\n <td>1 to 5</td>\n <td>No</td>\n <td>...</td>\n <td>1.68</td>\n <td>97.52</td>\n <td>34.70</td>\n <td>No</td>\n <td>No</td>\n <td>Yes</td>\n <td>Yes</td>\n <td>NaN</td>\n <td>No</td>\n <td>No</td>\n </tr>\n <tr>\n <th>362523</th>\n <td>Utah</td>\n <td>Male</td>\n <td>Excellent</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>Yes</td>\n <td>7.0</td>\n <td>1 to 5</td>\n <td>No</td>\n <td>...</td>\n <td>1.83</td>\n <td>113.85</td>\n <td>34.04</td>\n <td>No</td>\n <td>No</td>\n <td>No</td>\n <td>No</td>\n <td>Yes, received Tdap</td>\n <td>No</td>\n <td>Yes</td>\n </tr>\n <tr>\n <th>183687</th>\n <td>Michigan</td>\n <td>Male</td>\n <td>Good</td>\n <td>0.0</td>\n <td>7.0</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>Yes</td>\n <td>8.0</td>\n <td>None of them</td>\n <td>No</td>\n <td>...</td>\n <td>1.78</td>\n <td>83.91</td>\n <td>26.54</td>\n <td>Yes</td>\n <td>No</td>\n <td>Yes</td>\n <td>Yes</td>\n <td>Yes, received Tdap</td>\n <td>No</td>\n <td>No</td>\n </tr>\n <tr>\n <th>191905</th>\n <td>Michigan</td>\n <td>Female</td>\n <td>Very good</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>Yes</td>\n <td>7.0</td>\n <td>None of them</td>\n <td>No</td>\n <td>...</td>\n <td>1.57</td>\n <td>68.04</td>\n <td>27.44</td>\n <td>Yes</td>\n <td>Yes</td>\n <td>No</td>\n <td>Yes</td>\n <td>Yes, received tetanus shot but not sure what type</td>\n <td>No</td>\n <td>No</td>\n </tr>\n </tbody>\n</table>\n<p>5 rows × 40 columns</p>\n</div>"
},
"execution_count": 58,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"test.head()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"## Zbiór test po zmianie typu danych"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 59,
"outputs": [
{
"data": {
"text/plain": " State Male GeneralHealth PhysicalHealthDays \\\n339824 South Dakota 0.0 3.0 3.0 \n127927 Kansas 0.0 3.0 30.0 \n362523 Utah 1.0 5.0 0.0 \n183687 Michigan 1.0 3.0 0.0 \n191905 Michigan 0.0 4.0 0.0 \n\n MentalHealthDays LastCheckupTime \\\n339824 21.0 Within past year (anytime less than 12 months ... \n127927 0.0 Within past year (anytime less than 12 months ... \n362523 0.0 Within past year (anytime less than 12 months ... \n183687 7.0 Within past year (anytime less than 12 months ... \n191905 0.0 Within past year (anytime less than 12 months ... \n\n PhysicalActivities SleepHours RemovedTeeth HadHeartAttack ... \\\n339824 1.0 8.0 2.0 0.0 ... \n127927 1.0 10.0 1.0 0.0 ... \n362523 1.0 7.0 1.0 0.0 ... \n183687 1.0 8.0 0.0 0.0 ... \n191905 1.0 7.0 0.0 0.0 ... \n\n HeightInMeters WeightInKilograms BMI AlcoholDrinkers HIVTesting \\\n339824 1.60 52.16 20.37 0.0 1.0 \n127927 1.68 97.52 34.70 0.0 0.0 \n362523 1.83 113.85 34.04 0.0 0.0 \n183687 1.78 83.91 26.54 1.0 0.0 \n191905 1.57 68.04 27.44 1.0 1.0 \n\n FluVaxLast12 PneumoVaxEver TetanusLast10Tdap HighRiskLastYear \\\n339824 1.0 1.0 1.0 0.0 \n127927 1.0 1.0 NaN 0.0 \n362523 0.0 0.0 1.0 0.0 \n183687 1.0 1.0 1.0 0.0 \n191905 0.0 1.0 1.0 0.0 \n\n CovidPos \n339824 0.0 \n127927 0.0 \n362523 1.0 \n183687 0.0 \n191905 0.0 \n\n[5 rows x 40 columns]",
"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>State</th>\n <th>Male</th>\n <th>GeneralHealth</th>\n <th>PhysicalHealthDays</th>\n <th>MentalHealthDays</th>\n <th>LastCheckupTime</th>\n <th>PhysicalActivities</th>\n <th>SleepHours</th>\n <th>RemovedTeeth</th>\n <th>HadHeartAttack</th>\n <th>...</th>\n <th>HeightInMeters</th>\n <th>WeightInKilograms</th>\n <th>BMI</th>\n <th>AlcoholDrinkers</th>\n <th>HIVTesting</th>\n <th>FluVaxLast12</th>\n <th>PneumoVaxEver</th>\n <th>TetanusLast10Tdap</th>\n <th>HighRiskLastYear</th>\n <th>CovidPos</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>339824</th>\n <td>South Dakota</td>\n <td>0.0</td>\n <td>3.0</td>\n <td>3.0</td>\n <td>21.0</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>1.0</td>\n <td>8.0</td>\n <td>2.0</td>\n <td>0.0</td>\n <td>...</td>\n <td>1.60</td>\n <td>52.16</td>\n <td>20.37</td>\n <td>0.0</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>0.0</td>\n </tr>\n <tr>\n <th>127927</th>\n <td>Kansas</td>\n <td>0.0</td>\n <td>3.0</td>\n <td>30.0</td>\n <td>0.0</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>1.0</td>\n <td>10.0</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>...</td>\n <td>1.68</td>\n <td>97.52</td>\n <td>34.70</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>NaN</td>\n <td>0.0</td>\n <td>0.0</td>\n </tr>\n <tr>\n <th>362523</th>\n <td>Utah</td>\n <td>1.0</td>\n <td>5.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>1.0</td>\n <td>7.0</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>...</td>\n <td>1.83</td>\n <td>113.85</td>\n <td>34.04</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>1.0</td>\n </tr>\n <tr>\n <th>183687</th>\n <td>Michigan</td>\n <td>1.0</td>\n <td>3.0</td>\n <td>0.0</td>\n <td>7.0</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>1.0</td>\n <td>8.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>...</td>\n <td>1.78</td>\n <td>83.91</td>\n <td>26.54</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>0.0</td>\n </tr>\n <tr>\n <th>191905</th>\n <td>Michigan</td>\n <td>0.0</td>\n <td>4.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>1.0</td>\n <td>7.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>...</td>\n <td>1.57</td>\n <td>68.04</td>\n <td>27.44</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>0.0</td>\n </tr>\n </tbody>\n</table>\n<p>5 rows × 40 columns</p>\n</div>"
},
"execution_count": 59,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"normalize_dataset(test)\n",
"test.head()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 60,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"Int64Index: 44513 entries, 339824 to 52161\n",
"Data columns (total 40 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 State 44513 non-null category\n",
" 1 Male 44513 non-null float64 \n",
" 2 GeneralHealth 44393 non-null float64 \n",
" 3 PhysicalHealthDays 43469 non-null float64 \n",
" 4 MentalHealthDays 43622 non-null float64 \n",
" 5 LastCheckupTime 44513 non-null category\n",
" 6 PhysicalActivities 44408 non-null float64 \n",
" 7 SleepHours 44008 non-null float64 \n",
" 8 RemovedTeeth 43413 non-null float64 \n",
" 9 HadHeartAttack 44182 non-null float64 \n",
" 10 HadAngina 44074 non-null float64 \n",
" 11 HadStroke 44368 non-null float64 \n",
" 12 HadAsthma 44339 non-null float64 \n",
" 13 HadSkinCancer 44184 non-null float64 \n",
" 14 HadCOPD 44299 non-null float64 \n",
" 15 HadDepressiveDisorder 44218 non-null float64 \n",
" 16 HadKidneyDisease 44320 non-null float64 \n",
" 17 HadArthritis 44243 non-null float64 \n",
" 18 HadDiabetes 44411 non-null float64 \n",
" 19 DeafOrHardOfHearing 42485 non-null float64 \n",
" 20 BlindOrVisionDifficulty 42387 non-null float64 \n",
" 21 DifficultyConcentrating 42169 non-null float64 \n",
" 22 DifficultyWalking 42172 non-null float64 \n",
" 23 DifficultyDressingBathing 42182 non-null float64 \n",
" 24 DifficultyErrands 41999 non-null float64 \n",
" 25 SmokerStatus 41005 non-null float64 \n",
" 26 ECigaretteUsage 41003 non-null float64 \n",
" 27 ChestScan 38958 non-null float64 \n",
" 28 RaceEthnicityCategory 44513 non-null category\n",
" 29 AgeCategory 44513 non-null category\n",
" 30 HeightInMeters 41714 non-null float64 \n",
" 31 WeightInKilograms 40397 non-null float64 \n",
" 32 BMI 39724 non-null float64 \n",
" 33 AlcoholDrinkers 39956 non-null float64 \n",
" 34 HIVTesting 38018 non-null float64 \n",
" 35 FluVaxLast12 39886 non-null float64 \n",
" 36 PneumoVaxEver 36860 non-null float64 \n",
" 37 TetanusLast10Tdap 36315 non-null float64 \n",
" 38 HighRiskLastYear 39538 non-null float64 \n",
" 39 CovidPos 38114 non-null float64 \n",
"dtypes: category(4), float64(36)\n",
"memory usage: 12.7 MB\n"
]
}
],
"source": [
"test.info()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 61,
"outputs": [],
"source": [
"normalize_dataset(train)\n",
"normalize_dataset(valid)"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"## Statystyki dla zbiorów po zamianie na kolumny numeryczne\n",
"\n",
"*50. centyl to mediana*"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 62,
"outputs": [
{
"data": {
"text/plain": " Male GeneralHealth PhysicalHealthDays MentalHealthDays \\\ncount 676777.000000 674433.000000 655630.000000 660417.000000 \nmean 0.538139 3.055519 6.737547 4.863972 \nstd 0.498544 1.137862 10.713287 9.115863 \nmin 0.000000 1.000000 0.000000 0.000000 \n25% 0.000000 2.000000 0.000000 0.000000 \n50% 1.000000 3.000000 0.000000 0.000000 \n75% 1.000000 4.000000 10.000000 5.000000 \nmax 1.000000 5.000000 30.000000 30.000000 \n\n PhysicalActivities SleepHours RemovedTeeth HadHeartAttack \\\ncount 674814.000000 665609.000000 654359.000000 674355.000000 \nmean 0.690146 7.032336 0.983081 0.505244 \nstd 0.462434 1.726387 1.019679 0.499973 \nmin 0.000000 1.000000 0.000000 0.000000 \n25% 0.000000 6.000000 0.000000 0.000000 \n50% 1.000000 7.000000 1.000000 1.000000 \n75% 1.000000 8.000000 2.000000 1.000000 \nmax 1.000000 24.000000 3.000000 1.000000 \n\n HadAngina HadStroke ... HeightInMeters WeightInKilograms \\\ncount 657726.000000 672927.000000 ... 637313.000000 619546.000000 \nmean 0.264549 0.117193 ... 1.707193 84.657015 \nstd 0.441093 0.321650 ... 0.108002 21.753692 \nmin 0.000000 0.000000 ... 0.910000 22.680000 \n25% 0.000000 0.000000 ... 1.630000 69.400000 \n50% 0.000000 0.000000 ... 1.700000 81.650000 \n75% 1.000000 0.000000 ... 1.780000 96.160000 \nmax 1.000000 1.000000 ... 2.410000 292.570000 \n\n BMI AlcoholDrinkers HIVTesting FluVaxLast12 \\\ncount 611024.000000 606636.000000 572562.000000 605920.000000 \nmean 28.917363 0.456819 0.325787 0.569879 \nstd 6.607455 0.498132 0.468668 0.495093 \nmin 12.050000 0.000000 0.000000 0.000000 \n25% 24.410000 0.000000 0.000000 0.000000 \n50% 27.890000 0.000000 0.000000 1.000000 \n75% 32.260000 1.000000 1.000000 1.000000 \nmax 97.650000 1.000000 1.000000 1.000000 \n\n PneumoVaxEver TetanusLast10Tdap HighRiskLastYear CovidPos \ncount 570114.000000 554467.0 600540.000000 585150.000000 \nmean 0.527672 1.0 0.035087 0.273055 \nstd 0.499234 0.0 0.183999 0.445529 \nmin 0.000000 1.0 0.000000 0.000000 \n25% 0.000000 1.0 0.000000 0.000000 \n50% 1.000000 1.0 0.000000 0.000000 \n75% 1.000000 1.0 0.000000 1.000000 \nmax 1.000000 1.0 1.000000 1.000000 \n\n[8 rows x 36 columns]",
"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>Male</th>\n <th>GeneralHealth</th>\n <th>PhysicalHealthDays</th>\n <th>MentalHealthDays</th>\n <th>PhysicalActivities</th>\n <th>SleepHours</th>\n <th>RemovedTeeth</th>\n <th>HadHeartAttack</th>\n <th>HadAngina</th>\n <th>HadStroke</th>\n <th>...</th>\n <th>HeightInMeters</th>\n <th>WeightInKilograms</th>\n <th>BMI</th>\n <th>AlcoholDrinkers</th>\n <th>HIVTesting</th>\n <th>FluVaxLast12</th>\n <th>PneumoVaxEver</th>\n <th>TetanusLast10Tdap</th>\n <th>HighRiskLastYear</th>\n <th>CovidPos</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>count</th>\n <td>676777.000000</td>\n <td>674433.000000</td>\n <td>655630.000000</td>\n <td>660417.000000</td>\n <td>674814.000000</td>\n <td>665609.000000</td>\n <td>654359.000000</td>\n <td>674355.000000</td>\n <td>657726.000000</td>\n <td>672927.000000</td>\n <td>...</td>\n <td>637313.000000</td>\n <td>619546.000000</td>\n <td>611024.000000</td>\n <td>606636.000000</td>\n <td>572562.000000</td>\n <td>605920.000000</td>\n <td>570114.000000</td>\n <td>554467.0</td>\n <td>600540.000000</td>\n <td>585150.000000</td>\n </tr>\n <tr>\n <th>mean</th>\n <td>0.538139</td>\n <td>3.055519</td>\n <td>6.737547</td>\n <td>4.863972</td>\n <td>0.690146</td>\n <td>7.032336</td>\n <td>0.983081</td>\n <td>0.505244</td>\n <td>0.264549</td>\n <td>0.117193</td>\n <td>...</td>\n <td>1.707193</td>\n <td>84.657015</td>\n <td>28.917363</td>\n <td>0.456819</td>\n <td>0.325787</td>\n <td>0.569879</td>\n <td>0.527672</td>\n <td>1.0</td>\n <td>0.035087</td>\n <td>0.273055</td>\n </tr>\n <tr>\n <th>std</th>\n <td>0.498544</td>\n <td>1.137862</td>\n <td>10.713287</td>\n <td>9.115863</td>\n <td>0.462434</td>\n <td>1.726387</td>\n <td>1.019679</td>\n <td>0.499973</td>\n <td>0.441093</td>\n <td>0.321650</td>\n <td>...</td>\n <td>0.108002</td>\n <td>21.753692</td>\n <td>6.607455</td>\n <td>0.498132</td>\n <td>0.468668</td>\n <td>0.495093</td>\n <td>0.499234</td>\n <td>0.0</td>\n <td>0.183999</td>\n <td>0.445529</td>\n </tr>\n <tr>\n <th>min</th>\n <td>0.000000</td>\n <td>1.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>1.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>...</td>\n <td>0.910000</td>\n <td>22.680000</td>\n <td>12.050000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>1.0</td>\n <td>0.000000</td>\n <td>0.000000</td>\n </tr>\n <tr>\n <th>25%</th>\n <td>0.000000</td>\n <td>2.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>6.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>...</td>\n <td>1.630000</td>\n <td>69.400000</td>\n <td>24.410000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>1.0</td>\n <td>0.000000</td>\n <td>0.000000</td>\n </tr>\n <tr>\n <th>50%</th>\n <td>1.000000</td>\n <td>3.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>1.000000</td>\n <td>7.000000</td>\n <td>1.000000</td>\n <td>1.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>...</td>\n <td>1.700000</td>\n <td>81.650000</td>\n <td>27.890000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>1.000000</td>\n <td>1.000000</td>\n <td>1.0</td>\n <td>0.000000</td>\n <td>0.000000</td>\n </tr>\n <tr>\n <th>75%</th>\n <td>1.000000</td>\n <td>4.000000</td>\n <td>10.000000</td>\n <td>5.000000</td>\n <td>1.000000</td>\n <td>8.000000</td>\n <td>2.000000</td>\n <td>1.000000</td>\n <td>1.000000</td>\n <td>0.000000</td>\n <td>...</td>\n <td>1.780000</td>\n <td>96.160000</td>\n <td>32.260000</td>\n <td>1.000000</td>\n <td>1.000000</td>\n <td>1.000000</td>\n <td>1.000000</td>\n <td>1.0</td>\n <td>0.000000</td>\n <td>1.000000</td>\n </tr>\n <tr>\n <th>max</th>\n <td>1.000000</td>\n <td>5.000000</td>\n <td>30.000000</td>\n <td>30.000000</td>\n <td>1.000000</td>\n <td>24.000000</td>\n <td>3.000000</td>\n <td>1.000000</td>\n <td>1.000000</td>\n <td>1.000000</td>\n <td>...</td>\n <td>2.410000</td>\n <td>292.570000</td>\n <td>97.650000</td>\n <td>1.000000</td>\n <td>1.000000</td>\n <td>1.000000</td>\n <td>1.000000</td>\n <td>1.0</td>\n <td>1.000000</td>\n <td>1.000000</td>\n </tr>\n </tbody>\n</table>\n<p>8 rows × 36 columns</p>\n</div>"
},
"execution_count": 62,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"train.describe()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 63,
"outputs": [
{
"data": {
"text/plain": " Male GeneralHealth PhysicalHealthDays MentalHealthDays \\\ncount 44513.000000 44393.000000 43469.000000 43622.000000 \nmean 0.471593 3.441511 4.275001 4.298221 \nstd 0.499198 1.050924 8.588663 8.299250 \nmin 0.000000 1.000000 0.000000 0.000000 \n25% 0.000000 3.000000 0.000000 0.000000 \n50% 0.000000 3.000000 0.000000 0.000000 \n75% 1.000000 4.000000 3.000000 4.000000 \nmax 1.000000 5.000000 30.000000 30.000000 \n\n PhysicalActivities SleepHours RemovedTeeth HadHeartAttack \\\ncount 44408.000000 44008.000000 43413.000000 44182.000000 \nmean 0.760021 7.036584 0.685302 0.057241 \nstd 0.427075 1.512667 0.884912 0.232304 \nmin 0.000000 1.000000 0.000000 0.000000 \n25% 1.000000 6.000000 0.000000 0.000000 \n50% 1.000000 7.000000 0.000000 0.000000 \n75% 1.000000 8.000000 1.000000 0.000000 \nmax 1.000000 24.000000 3.000000 1.000000 \n\n HadAngina HadStroke ... HeightInMeters WeightInKilograms \\\ncount 44074.000000 44368.000000 ... 41714.000000 40397.000000 \nmean 0.061056 0.042869 ... 1.703194 83.021746 \nstd 0.239436 0.202563 ... 0.107438 21.551394 \nmin 0.000000 0.000000 ... 0.910000 22.680000 \n25% 0.000000 0.000000 ... 1.630000 68.040000 \n50% 0.000000 0.000000 ... 1.700000 80.740000 \n75% 0.000000 0.000000 ... 1.780000 95.250000 \nmax 1.000000 1.000000 ... 2.340000 290.300000 \n\n BMI AlcoholDrinkers HIVTesting FluVaxLast12 \\\ncount 39724.000000 39956.000000 38018.000000 39886.000000 \nmean 28.512326 0.529532 0.342233 0.527002 \nstd 6.596149 0.499133 0.474463 0.499277 \nmin 12.020000 0.000000 0.000000 0.000000 \n25% 24.030000 0.000000 0.000000 0.000000 \n50% 27.410000 1.000000 0.000000 1.000000 \n75% 31.650000 1.000000 1.000000 1.000000 \nmax 97.650000 1.000000 1.000000 1.000000 \n\n PneumoVaxEver TetanusLast10Tdap HighRiskLastYear CovidPos \ncount 36860.000000 36315.0 39538.000000 38114.000000 \nmean 0.413592 1.0 0.043427 0.289500 \nstd 0.492484 0.0 0.203818 0.453536 \nmin 0.000000 1.0 0.000000 0.000000 \n25% 0.000000 1.0 0.000000 0.000000 \n50% 0.000000 1.0 0.000000 0.000000 \n75% 1.000000 1.0 0.000000 1.000000 \nmax 1.000000 1.0 1.000000 1.000000 \n\n[8 rows x 36 columns]",
"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>Male</th>\n <th>GeneralHealth</th>\n <th>PhysicalHealthDays</th>\n <th>MentalHealthDays</th>\n <th>PhysicalActivities</th>\n <th>SleepHours</th>\n <th>RemovedTeeth</th>\n <th>HadHeartAttack</th>\n <th>HadAngina</th>\n <th>HadStroke</th>\n <th>...</th>\n <th>HeightInMeters</th>\n <th>WeightInKilograms</th>\n <th>BMI</th>\n <th>AlcoholDrinkers</th>\n <th>HIVTesting</th>\n <th>FluVaxLast12</th>\n <th>PneumoVaxEver</th>\n <th>TetanusLast10Tdap</th>\n <th>HighRiskLastYear</th>\n <th>CovidPos</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>count</th>\n <td>44513.000000</td>\n <td>44393.000000</td>\n <td>43469.000000</td>\n <td>43622.000000</td>\n <td>44408.000000</td>\n <td>44008.000000</td>\n <td>43413.000000</td>\n <td>44182.000000</td>\n <td>44074.000000</td>\n <td>44368.000000</td>\n <td>...</td>\n <td>41714.000000</td>\n <td>40397.000000</td>\n <td>39724.000000</td>\n <td>39956.000000</td>\n <td>38018.000000</td>\n <td>39886.000000</td>\n <td>36860.000000</td>\n <td>36315.0</td>\n <td>39538.000000</td>\n <td>38114.000000</td>\n </tr>\n <tr>\n <th>mean</th>\n <td>0.471593</td>\n <td>3.441511</td>\n <td>4.275001</td>\n <td>4.298221</td>\n <td>0.760021</td>\n <td>7.036584</td>\n <td>0.685302</td>\n <td>0.057241</td>\n <td>0.061056</td>\n <td>0.042869</td>\n <td>...</td>\n <td>1.703194</td>\n <td>83.021746</td>\n <td>28.512326</td>\n <td>0.529532</td>\n <td>0.342233</td>\n <td>0.527002</td>\n <td>0.413592</td>\n <td>1.0</td>\n <td>0.043427</td>\n <td>0.289500</td>\n </tr>\n <tr>\n <th>std</th>\n <td>0.499198</td>\n <td>1.050924</td>\n <td>8.588663</td>\n <td>8.299250</td>\n <td>0.427075</td>\n <td>1.512667</td>\n <td>0.884912</td>\n <td>0.232304</td>\n <td>0.239436</td>\n <td>0.202563</td>\n <td>...</td>\n <td>0.107438</td>\n <td>21.551394</td>\n <td>6.596149</td>\n <td>0.499133</td>\n <td>0.474463</td>\n <td>0.499277</td>\n <td>0.492484</td>\n <td>0.0</td>\n <td>0.203818</td>\n <td>0.453536</td>\n </tr>\n <tr>\n <th>min</th>\n <td>0.000000</td>\n <td>1.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>1.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>...</td>\n <td>0.910000</td>\n <td>22.680000</td>\n <td>12.020000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>1.0</td>\n <td>0.000000</td>\n <td>0.000000</td>\n </tr>\n <tr>\n <th>25%</th>\n <td>0.000000</td>\n <td>3.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>1.000000</td>\n <td>6.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>...</td>\n <td>1.630000</td>\n <td>68.040000</td>\n <td>24.030000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>1.0</td>\n <td>0.000000</td>\n <td>0.000000</td>\n </tr>\n <tr>\n <th>50%</th>\n <td>0.000000</td>\n <td>3.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>1.000000</td>\n <td>7.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>...</td>\n <td>1.700000</td>\n <td>80.740000</td>\n <td>27.410000</td>\n <td>1.000000</td>\n <td>0.000000</td>\n <td>1.000000</td>\n <td>0.000000</td>\n <td>1.0</td>\n <td>0.000000</td>\n <td>0.000000</td>\n </tr>\n <tr>\n <th>75%</th>\n <td>1.000000</td>\n <td>4.000000</td>\n <td>3.000000</td>\n <td>4.000000</td>\n <td>1.000000</td>\n <td>8.000000</td>\n <td>1.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>...</td>\n <td>1.780000</td>\n <td>95.250000</td>\n <td>31.650000</td>\n <td>1.000000</td>\n <td>1.000000</td>\n <td>1.000000</td>\n <td>1.000000</td>\n <td>1.0</td>\n <td>0.000000</td>\n <td>1.000000</td>\n </tr>\n <tr>\n <th>max</th>\n <td>1.000000</td>\n <td>5.000000</td>\n <td>30.000000</td>\n <td>30.000000</td>\n <td>1.000000</td>\n <td>24.000000</td>\n <td>3.000000</td>\n <td>1.000000</td>\n <td>1.000000</td>\n <td>1.000000</td>\n <td>...</td>\n <td>2.340000</td>\n <td>290.300000</td>\n <td>97.650000</td>\n <td>1.000000</td>\n <td>1.000000</td>\n <td>1.000000</td>\n <td>1.000000</td>\n <td>1.0</td>\n <td>1.000000</td>\n <td>1.000000</td>\n </tr>\n </tbody>\n</table>\n<p>8 rows × 36 columns</p>\n</div>"
},
"execution_count": 63,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"test.describe()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 64,
"outputs": [
{
"data": {
"text/plain": " Male GeneralHealth PhysicalHealthDays MentalHealthDays \\\ncount 44514.000000 44388.000000 43458.000000 43578.000000 \nmean 0.469043 3.434554 4.355470 4.379022 \nstd 0.499046 1.051996 8.718506 8.383576 \nmin 0.000000 1.000000 0.000000 0.000000 \n25% 0.000000 3.000000 0.000000 0.000000 \n50% 0.000000 3.000000 0.000000 0.000000 \n75% 1.000000 4.000000 3.000000 5.000000 \nmax 1.000000 5.000000 30.000000 30.000000 \n\n PhysicalActivities SleepHours RemovedTeeth HadHeartAttack \\\ncount 44401.000000 43966.000000 43360.000000 44202.000000 \nmean 0.758361 7.013010 0.684732 0.057396 \nstd 0.428081 1.491967 0.882396 0.232600 \nmin 0.000000 1.000000 0.000000 0.000000 \n25% 1.000000 6.000000 0.000000 0.000000 \n50% 1.000000 7.000000 0.000000 0.000000 \n75% 1.000000 8.000000 1.000000 0.000000 \nmax 1.000000 24.000000 3.000000 1.000000 \n\n HadAngina HadStroke ... HeightInMeters WeightInKilograms \\\ncount 44031.000000 44344.000000 ... 41677.000000 40327.000000 \nmean 0.058936 0.042463 ... 1.702146 82.981070 \nstd 0.235507 0.201646 ... 0.106978 21.512676 \nmin 0.000000 0.000000 ... 0.910000 22.680000 \n25% 0.000000 0.000000 ... 1.630000 68.040000 \n50% 0.000000 0.000000 ... 1.700000 79.830000 \n75% 0.000000 0.000000 ... 1.780000 95.250000 \nmax 1.000000 1.000000 ... 2.360000 263.080000 \n\n BMI AlcoholDrinkers HIVTesting FluVaxLast12 \\\ncount 39626.000000 39950.000000 38041.000000 39885.000000 \nmean 28.521370 0.527910 0.342525 0.525285 \nstd 6.622255 0.499227 0.474560 0.499367 \nmin 12.160000 0.000000 0.000000 0.000000 \n25% 24.030000 0.000000 0.000000 0.000000 \n50% 27.400000 1.000000 0.000000 1.000000 \n75% 31.750000 1.000000 1.000000 1.000000 \nmax 99.640000 1.000000 1.000000 1.000000 \n\n PneumoVaxEver TetanusLast10Tdap HighRiskLastYear CovidPos \ncount 36926.000000 36250.0 39535.000000 38212.000000 \nmean 0.412771 1.0 0.044846 0.291872 \nstd 0.492339 0.0 0.206969 0.454630 \nmin 0.000000 1.0 0.000000 0.000000 \n25% 0.000000 1.0 0.000000 0.000000 \n50% 0.000000 1.0 0.000000 0.000000 \n75% 1.000000 1.0 0.000000 1.000000 \nmax 1.000000 1.0 1.000000 1.000000 \n\n[8 rows x 36 columns]",
"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>Male</th>\n <th>GeneralHealth</th>\n <th>PhysicalHealthDays</th>\n <th>MentalHealthDays</th>\n <th>PhysicalActivities</th>\n <th>SleepHours</th>\n <th>RemovedTeeth</th>\n <th>HadHeartAttack</th>\n <th>HadAngina</th>\n <th>HadStroke</th>\n <th>...</th>\n <th>HeightInMeters</th>\n <th>WeightInKilograms</th>\n <th>BMI</th>\n <th>AlcoholDrinkers</th>\n <th>HIVTesting</th>\n <th>FluVaxLast12</th>\n <th>PneumoVaxEver</th>\n <th>TetanusLast10Tdap</th>\n <th>HighRiskLastYear</th>\n <th>CovidPos</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>count</th>\n <td>44514.000000</td>\n <td>44388.000000</td>\n <td>43458.000000</td>\n <td>43578.000000</td>\n <td>44401.000000</td>\n <td>43966.000000</td>\n <td>43360.000000</td>\n <td>44202.000000</td>\n <td>44031.000000</td>\n <td>44344.000000</td>\n <td>...</td>\n <td>41677.000000</td>\n <td>40327.000000</td>\n <td>39626.000000</td>\n <td>39950.000000</td>\n <td>38041.000000</td>\n <td>39885.000000</td>\n <td>36926.000000</td>\n <td>36250.0</td>\n <td>39535.000000</td>\n <td>38212.000000</td>\n </tr>\n <tr>\n <th>mean</th>\n <td>0.469043</td>\n <td>3.434554</td>\n <td>4.355470</td>\n <td>4.379022</td>\n <td>0.758361</td>\n <td>7.013010</td>\n <td>0.684732</td>\n <td>0.057396</td>\n <td>0.058936</td>\n <td>0.042463</td>\n <td>...</td>\n <td>1.702146</td>\n <td>82.981070</td>\n <td>28.521370</td>\n <td>0.527910</td>\n <td>0.342525</td>\n <td>0.525285</td>\n <td>0.412771</td>\n <td>1.0</td>\n <td>0.044846</td>\n <td>0.291872</td>\n </tr>\n <tr>\n <th>std</th>\n <td>0.499046</td>\n <td>1.051996</td>\n <td>8.718506</td>\n <td>8.383576</td>\n <td>0.428081</td>\n <td>1.491967</td>\n <td>0.882396</td>\n <td>0.232600</td>\n <td>0.235507</td>\n <td>0.201646</td>\n <td>...</td>\n <td>0.106978</td>\n <td>21.512676</td>\n <td>6.622255</td>\n <td>0.499227</td>\n <td>0.474560</td>\n <td>0.499367</td>\n <td>0.492339</td>\n <td>0.0</td>\n <td>0.206969</td>\n <td>0.454630</td>\n </tr>\n <tr>\n <th>min</th>\n <td>0.000000</td>\n <td>1.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>1.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>...</td>\n <td>0.910000</td>\n <td>22.680000</td>\n <td>12.160000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>1.0</td>\n <td>0.000000</td>\n <td>0.000000</td>\n </tr>\n <tr>\n <th>25%</th>\n <td>0.000000</td>\n <td>3.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>1.000000</td>\n <td>6.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>...</td>\n <td>1.630000</td>\n <td>68.040000</td>\n <td>24.030000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>1.0</td>\n <td>0.000000</td>\n <td>0.000000</td>\n </tr>\n <tr>\n <th>50%</th>\n <td>0.000000</td>\n <td>3.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>1.000000</td>\n <td>7.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>...</td>\n <td>1.700000</td>\n <td>79.830000</td>\n <td>27.400000</td>\n <td>1.000000</td>\n <td>0.000000</td>\n <td>1.000000</td>\n <td>0.000000</td>\n <td>1.0</td>\n <td>0.000000</td>\n <td>0.000000</td>\n </tr>\n <tr>\n <th>75%</th>\n <td>1.000000</td>\n <td>4.000000</td>\n <td>3.000000</td>\n <td>5.000000</td>\n <td>1.000000</td>\n <td>8.000000</td>\n <td>1.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>...</td>\n <td>1.780000</td>\n <td>95.250000</td>\n <td>31.750000</td>\n <td>1.000000</td>\n <td>1.000000</td>\n <td>1.000000</td>\n <td>1.000000</td>\n <td>1.0</td>\n <td>0.000000</td>\n <td>1.000000</td>\n </tr>\n <tr>\n <th>max</th>\n <td>1.000000</td>\n <td>5.000000</td>\n <td>30.000000</td>\n <td>30.000000</td>\n <td>1.000000</td>\n <td>24.000000</td>\n <td>3.000000</td>\n <td>1.000000</td>\n <td>1.000000</td>\n <td>1.000000</td>\n <td>...</td>\n <td>2.360000</td>\n <td>263.080000</td>\n <td>99.640000</td>\n <td>1.000000</td>\n <td>1.000000</td>\n <td>1.000000</td>\n <td>1.000000</td>\n <td>1.0</td>\n <td>1.000000</td>\n <td>1.000000</td>\n </tr>\n </tbody>\n</table>\n<p>8 rows × 36 columns</p>\n</div>"
},
"execution_count": 64,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"valid.describe()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"#### Wydaje się być korelacja między masą ciała i zawałem:"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 65,
"outputs": [
{
"data": {
"text/plain": "<Figure size 729.847x600 with 1 Axes>",
"image/png": "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aJBeeOEFDRkyRKmpqVq7dq2mTp2qevXqKTQ0VMnJyXr22WeVlZWlkSNHKigoSO+++65efPFFbdmyRdWrV3eob/ny5Vq0aJFef/11derUKUfv++3kOgw3adJEixcvVu3atVW1alWVLl1aW7ZsUe/evfXFF18oICAgz8XcTmxsrM6ePauOHTs6bL+1KHvy5MmqW7euSpf+35/sGjdurKSkJB07dizbXS8AAIAxnT17VnXr1r1nu/T0dCUnJ2v8+PFq166dJCkiIkJJSUmaOXOmLl++rHLlyumtt95SSEiI3njjDUnSY489JkmaM2fOPY9htVr11ltvqUaNGpIkb29v9erVS999951atmyplStXKj4+Xh988IEqVaokSWrWrJnatWun+fPna8GCBTp58qSCg4M1a9YsValSRdLNDHTkyBEdOHDA4XgVK1bUiBEj7N/fmtmtWrWqHn744dvWGBcXJ19fX40ePVoNGzaUJD366KP67bfftH79evvPly1bVhaLRQ0aNJAklS1bVpIUHBxs33bixAl16tRJ48aNs/cfFhamRx99VPv371doaKh9hnnLli2qU6eOJCk8PFxPPfWUDh486BCGP/jgA73xxhuaOnWqunbtes/3+25yHYZfeeUV9ejRQ6NHj9bq1avVv39/zZo1S4sXL1ZiYqIGDRqUr4L+KDY2VpJ048YN9enTR0ePHlXlypX18ssvKzIyUhcuXFBwcLDDz5QvX17Szd+6CMMAAECSypUrp7fffvu2+249REySLBaLfdLt4sWLio2N1cmTJ/XFF19IuhmWU1NT9cMPP+iVV15x6Of//u//chSGAwIC7EFYkipXvnnr0lt/ff/mm29Up04dBQUF2WezzWazmjVrpo8//liSVKdOHa1du1ZWq1UnT57UqVOndOLECf3666/ZZsBvhcvcCAoK0qpVq2Sz2XTmzBmdOnVKv/76q7799lulp6fnqq++fftKkpKTkxUbG6vffvtN//73vyXJ3tehQ4dUuXJlh1p9fX21Y8cOh76++OILHT16VA0bNtRf/vKXXJ/XH+U6DFeqVEnbt2/XyZMnJUm9e/fWfffdp2+//da+XsaZkpKSJEmjR4/W4MGDNWLECO3YsUMDBw7Ue++9p9TUVJUqVcrhZ7y9vSVJaWlpeTqm2WyS2Xz3++KZTCaZTCaZ//vlTM7oz2wyySSTTGbn1+cMN983yeRhltlsy3d/BTkezsB4uBZXHg/GwrW403jwb8e9WSwW1a9f/477fm/v3r2aPn26fv31V5UsWVK1a9e2P2jMZrMpISFBNpst21/Eb03I3cutvm65dT9eq9UqSYqPj9epU6fuOJOdkpIiX19fvffee1q8eLHi4+N13333qV69evL19bWH6jsdL6c+/vhjzZ07V+fPn1eZMmVUp04d+fjk/jarV69e1aRJk7Rr1y6ZTCZVq1bNPttss90cy/j4eAUGBt6zrx9++EHNmzfXl19+qd27d+f7NnV5euiGj4+Pateubf++Y8eO2ZYxOIuXl5ckqU+fPvagXadOHR09elTvvfeefHx8sv12cisE53Xgy5YtmaObRCcmp8rL4imLd57eRrvfH8pkUr77kyQvL8+bfXl5SN5e+e7P2SwWT3l6ecq/TN7G6HacNR4FgfFwLa48HoyFa3Hl8eDfjoLz22+/adCgQWrVqpWWLFmiKlWqyGQyac2aNdq7d68kqUyZMjKbzbp8+bLDz8bHxzulBn9/f0VERGjUqFG33W+xWLRt2zbNnDlTI0eOVOfOne3LE1555RX7rGt+xMTEaPTo0erRo4f69OmjoKAgSdLf/vY3HTp0KFd9jRgxQr/++qtWrFihsLAwWSwWpaSkaMOGDfY2/v7+9uUbv/ftt9+qdOnS9pn0Z555RlOmTNGzzz6rKVOmKCIiQn5+fnk+zzx9cnbs2KFvv/1WiYmJ2faZTCZNnz49zwX90a03vmbNmg7bH3zwQX355ZeKiIjQTz/95LAvLi7O4Wdz6+rV5BzNDGdmZCkjPVPpafm7R5/N5vg6v/1JUkZG5s2+MrKUlpaR7/6czpKpzIxMxcffsP9GmB/OHI+CwHi4FpceD8bCtbjwePBvx93HIyCgZJ4P85///EdpaWl66aWXVLVqVfv2W0HYZrPJ29tbYWFh2rlzpwYNGmSfRNu9e3eej/t7ERER2rZtm+6//36HoPf6668rIyNDU6ZM0aFDh1SqVCn7EgTp5jKEQ4cOydPz7hHPw8PjnjUcPnxYVqtVQ4YMkb+/vyQpKytL//rXvyTdnMU2m80ym7PfnOyP2w4dOqRnnnlGjz76v3uUf/XVV/Z+JKlhw4bauXOnfv75Zz300M1HeaelpWnIkCF68sknNXr0aEk3l7uYTCZNnjxZXbp00Zw5czRp0qR7ns+d5DoMz549W8uWLZOfn1+25QmScjSjmht169ZVyZIldeTIEft0uiT99NNPqlq1qho1aqStW7cqKSnJ/h/Lvn377H/SyAur1Sar9e4fMrPZJJvNJut/v/LD4lNamelJ9tf57U+SrDabbLLJZs1/fQXh5vsmKct6z/c6J5w5HgWB8XAtrjwejIVrceXx4N+Ogquvbt268vT01BtvvKEXX3xR6enp2rx5s/32sTdu3JAkDR8+XD179tTgwYP1zDPPKDY2VosXL3ZKDb169dJHH32kXr166cUXX1RAQIC2b9+uDRs2aOzYsZKkkJAQffDBB5o5c6ZatGihuLg4LV++XJcvX3a4scDt3Aq333zzjWrUqHHba6xCQkIkSVOnTlWXLl2UkJCgNWvW2G8fd+PGDXsevHz5svbs2aM6deqofPnyKlWqlL799lsdPHhQDRs2VEhIiLZt26a6desqODhY3377rZYuXSqTyWR/OEfnzp31/vvv6+WXX1ZUVJQCAgK0atUqZWRk6LnnnstWX+3atdWzZ0+9++676tixo8LDw/P0Xuf6PsNbtmzRc889p5iYGO3evTvb1+eff56nQu7Ex8dHffv21VtvvaW///3v+u233/T222/r66+/Vu/evdWqVSuVK1dOQ4cO1fHjx7Vr1y7NnTtXL774otvcVo2nOgEAcot/OwpOtWrVNGfOHF28eFEvv/yyJk6cKEl6//33ZTKZFBMTI+nmTOY777yjixcvavDgwVq/fr3T/joeFBSkdevWqVKlSpo8ebIGDBig77//XtOmTVOvXr0kSZ06ddKgQYP06aefql+/flqwYIEaNmyoqVOnKj4+PttT4X7Pz89PvXv31q5du9SvXz9lZGT/S8Cjjz6qiRMn6vDhw+rXr59mzpypihUrKjo6WpLsSyU6d+6sSpUqadCgQdq6daskacCAAfrPf/6jfv366fz585o5c6ZCQ0P12muvadCgQfr88881ZcoUNW3a1P5++vn5afXq1fZ2Q4cOldVq1apVq+x3y/ijIUOGqGLFiho/fnyuL+q7xWTL5d99GjZsqOjoaDVu3DhPB8yr9957T6tXr9bFixdVo0YNDRkyRK1atZIknTp1SlOmTFFMTIxKly6trl27asiQIbedts+JS5eu37ON2WxSfOINLVv7T12Lv5Gn4xSk6lUD1btjLf386TqlXr927x8oZN7+ZfRwh+5SiUCnzbYwHnnHeLgOxsK1MB6uJTfjUa6cfyFVBXeX62USrVu31q5duwo9DPfu3Vu9e/e+7b5q1arp3XffLdR6AAAA4P5yHYb/+te/6umnn1aPHj0UEhIiX19fh/0mk8np9xoGAAAACkKuw/D777+v2NhYxcbG6uDBg9n2E4YBAADgLnIdhlevXq2OHTtqzJgxOboxMgAAAOCqcn2F2Y0bN9S1a1eCMAAAANxersPwn/70J+3fv78gagEAAAAKVa6XSTz55JOaMGGCTp06pbCwsNs+/u6pp55yRm0AAABAgcp1GH7llVckSZ988ok++eSTbPtNJhNhGAAAAG4h12HY2U+YAwAAAIpKrsNwpUqVCqIOAAAAoNDlOgwDAADg3uITbigxKbXQj1vKz0dlSpfI9c9ZrVZFR0dr48aNun79uho1aqSJEyeqSpUqt21/7do1vf766/rqq69kMpnUvn17jRo1KtsD2VwdYRgAAKAAJCalatPfDynheuEF4tL+PurS4ZE8heFFixZp7dq1mjlzpoKDg/XGG2+ob9++2rZtmywWS7b2UVFRSklJ0YoVK5SYmKhx48bpxo0bmjVrljNOpdAQhgEAAApIwvVUxSfcKOoy7ik9PV3vvvuuRowYoebNm0uS3nzzTT322GPauXOnOnTo4ND+8OHDOnDggLZv364aNWpIkqZOnaq+fftq+PDhCgoKKuxTyLNc32cYAAAAxcvx48eVnJysJk2a2LeVKlVKDz/8sA4ePJitfUxMjMqVK2cPwpIUEREhk8mkQ4cOFUrNzpLrMNynTx9t375d6enpBVEPAAAACtmFCxckSRUqVHDYXr58efu+37t48WK2thaLRWXKlNH58+cLrtACkOtlEllZWRoxYoT8/PzUrl07de7cWSEhIQVRGwAAAApBSkqKJGVbG+zt7a2EhITbtr/dOmJvb2+lpaUVTJEFJNdheMWKFbpw4YK2bt2qrVu3at26dapRo4Y6deqkP//5zypXrlxB1AkAAIAC4uPjI+nm2uFbryUpLS3ttneH8PHxue0qgbS0NJUokfuL94pSntYMBwcHa8CAAfrHP/6hDz74QE2bNtX69evVokULDRgwQF988YWz6wQAAEABubXkIS4uzmF7XFzcbS+GCw4OztY2PT1d8fHxKl++fMEVWgDyfQGdzWaT1WpVZmambDab4uLiNHjwYHXs2FE//fSTM2oEAABAAapdu7b8/Py0f/9++7bExEQdPXpUjRo1yta+UaNGunDhgk6dOmXfduDAAUnSI488UvAFO1Gebq12+vRpffTRR/r44491+vRpValSRc8884w6deqkoKAgXbx4Uf369dOrr76qbdu2ObtmAAAAt1Da3+fejVzgeBaLRd27d9fs2bNVtmxZVapUSW+88YaCg4PVunVrZWVl6erVq/L395ePj49CQ0MVHh6uYcOGafLkybpx44YmTpyop556yq1uqyblIQx369ZNR44ckbe3t1q3bq3XX39dERERDm2CgoLUunVrrVixwll1AgAAuJVSfjcfgFEUx82LqKgoZWZmavz48UpNTVWjRo20fPlyeXl56cyZM2rZsqVmzJihzp07y2QyKTo6WlOmTFHPnj3l7e2ttm3bauzYsU4+m4KX6zCcmZmpSZMmqUOHDvLz87tju1atWumxxx7LV3EAAADuqkzpEnl6ElxR8fDw0MiRIzVy5Mhs+ypXrqwff/zRYVtgYKAWLFhQWOUVmFyH4Q8//DBH7WrXrp3rYgAAAIDClKMwHB0dnatOBw8enKdiAAAAgMKUpzBsMplks9nk4eGhgIAAJSQkKCMjQ15eXipdujRhGAAAAG4hR2H4+PHj9tfffPONhg8frgkTJqhNmzby8PCQJH311VcaN26cxowZUzCVAgAAAE6W6/sMT506VVFRUWrXrp09CEtSs2bN9Morr+jNN990aoEAAABAQcl1GD5//rwqVap0232BgYG6cuVKvosCAAAACkOuw3Dt2rW1Zs0aZWVlOWxPS0vTsmXLFBIS4rTiAAAAgIKU61urDR8+XH369LHfRzggIECXL1/Wnj17lJKSotWrVxdEnQAAAIDT5ToMR0REaN26dVqyZIl2796t+Ph4BQQE6E9/+pMGDRqkatWqFUSdAAAAgNPlOgxLUt26dYvFE0cAAAAKSlpSgtKTkwr9uJaSfvL2K52vPpYsWaJ//vOfev/99+/Y5tq1a3r99df11VdfyWQyqX379ho1apR8fX3zdezClqcwnJ6erk2bNunAgQNKTExUQECAGjZsqKeeeko+Pnl7HjYAAEBxkp6cpF+//FjpydcL7ZiWkv56oPmT+QrDa9as0bx589SwYcO7touKilJKSopWrFihxMREjRs3Tjdu3NCsWbPyfOyikOswnJiYqBdeeEHHjx9XxYoVVa5cOcXGxurvf/+71qxZo7Vr18rf378gagUAAHAr6cnXlZ6UUNRl5MjFixc1adIk7d+/X9WrV79r28OHD+vAgQPavn27atSoIenm7Xf79u2r4cOHKygoqBAqdo5c301izpw5unDhglavXq3du3dr/fr12r17t1avXq0rV65o/vz5BVEnAAAACtAPP/wgLy8vffzxxwoNDb1r25iYGJUrV84ehKWb15WZTCYdOnSooEt1qlyH4c8//1xDhw7NNnXesGFDRUVFaefOnU4rDgAAAIUjMjJSCxcuVJUqVe7Z9uLFi6pQoYLDNovFojJlyuj8+fMFVWKByHUYTk5OvuObVKVKFcXHx+e3JgAAALiwlJQUWSyWbNu9vb2VlpZWBBXlXa7D8AMPPKAvvvjitvu++OILbq0GAABQzPn4+Cg9PT3b9rS0NJUoUaIIKsq7XF9A16dPH7366qvKyspS+/btdd999+ny5cv6+9//rg0bNmjSpEkFUScAAABcRHBwsHbt2uWwLT09XfHx8SpfvnwRVZU3uQ7D7dq108mTJ7V48WKtW7dOkmSz2WSxWDRw4EA988wzTi8SAAAArqNRo0aaPXu2Tp06ZV8VcODAAUnSI488UpSl5Vqe7jM8cOBAde/eXd99950SEhJUunRphYaGqnTp/N3gGQAAAK4nKytLV69elb+/v3x8fBQaGqrw8HANGzZMkydP1o0bNzRx4kQ99dRTbnVbNSmPYViSSpUqpWbNmunq1as6c+aMrFarM+sCAABwe5aShfvshYI63vnz59WyZUvNmDFDnTt3lslkUnR0tKZMmaKePXvK29tbbdu21dixYwvk+AUpx2H4l19+0ebNm2UymdS1a1dVr15d8+fP1zvvvKOsrCx5eHioa9eumjBhgjw8PAqyZgAAAJdnKemnB5o/WSTHza+ZM2c6fF+5cmX9+OOPDtsCAwO1YMGCfB+rqOUoDB88eFB9+vSR2WyWt7e31qxZo5dfflmLFy9W165dVa9ePR05ckTr1q1TxYoV9dJLLxV03QAAAC7N2690vh6LjMKRozAcHR2tiIgILVy4UL6+vpo9e7befPNN9ezZU2PGjJEkPfPMMypVqpS2bdtGGAYAAIBbyNF9ho8ePapnn31Wvr6+kqRevXrJZrOpWbNmDu1atmyp06dPO79KAAAAoADkKAxfv35dZcuWtX9fpkwZSTcvovs9i8Xidk8dAQAAgHHl+Al0v78ozmQyOfwvAAAA4I5y/Tjm3yMMAwAAwJ3l+NZqkydPlp/fzVt12Gw2SdKECRNUsmRJe5ukpCQnlwcAAAAUnByF4UaNGkn6Xwi+07aSJUuqYcOGzqwPAAAAKDA5CsPvv/9+QdcBAAAAFLp8rRkGAAAA3BlhGAAAAIZFGAYAAIBhEYYBAABgWIRhAAAAGBZhGAAAAIZFGAYAAIBhEYYBAABgWIRhAAAAGBZhGAAAAIZFGAYAAIBhEYYBAABgWIRhAAAAGBZhGAAAAIZFGAYAAIBhEYYBAABgWIRhAAAAGBZhGAAAAIZFGAYAAIBhEYYBAABgWIRhAAAAGBZhGAAAAIZFGAYAAIBhuVUYjo2NVVhYmDZv3mzfduzYMXXv3l0NGjRQZGSkVq1aVYQVAgAAwJ24TRjOyMjQiBEjdOPGDfu2a9euqXfv3qpatao2bdqkQYMGafbs2dq0aVMRVgoAAAB34VnUBeTUwoUL5efn57Btw4YN8vLy0tSpU+Xp6akaNWro1KlTWrp0qbp06VJElQIAAMBduMXM8MGDB7V+/XrNnDnTYXtMTIwiIiLk6fm/TN+4cWOdPHlSly9fLuwyAQAA4GZcfmY4MTFRo0aN0vjx41WhQgWHfRcuXFDNmjUdtpUvX16SdP78ed133315OqbZbJLZbLprG5PJJJPJJPN/v1yN2WSSSSaZzK5bn9kkmTzMMptt+e6P8cgfxsN1MBauhfFwLc4eD0BygzA8efJkhYWFqWPHjtn2paamymKxOGzz9vaWJKWlpeX5mGXLlpQpB/8nkJicKi+Lpyzervc2enl5ymSSLF4ekrdXUZeTjcXiKU8vT/mXKeG0PhmPvGM8XAdj4VoYD9dSEOMBuN4n8Xe2bt2qmJgYbdu27bb7fXx8lJ6e7rDtVgguUSLvH5SrV5NzNDOcmZGljPRMpadl5vlYBSUjI1M2m5SekaW0tIyiLic7S6YyMzIVH39DNptzZlsYj3xgPFwHY+FaGA/XkovxCAgoWUhFwd25dBjetGmTrly5oubNmztsnzRpkrZv367g4GDFxcU57Lv1fVBQUJ6Pa7XaZLXe/UNmNptks9lk/e+Xq7HabLLJJpvVdeuz2iRlWe/5XucE45E/jIfrYCxcC+PhWpw9HoDk4mF49uzZSk1NddjWunVrRUVF6cknn9RHH32kdevWKSsrSx4eHpKkffv26f7771dgYGBRlAwAAAA34tJ3kwgKClK1atUcviQpMDBQQUFB6tKli5KSkjRu3DidOHFCmzdv1ooVK9S/f/8irhwAAADuwKXD8L0EBgZq2bJlio2NVadOnRQdHa1Ro0apU6dORV0aAAAA3IBLL5O4nR9//NHh+5CQEK1fv76IqgEAAIA7c+uZYQAAACA/CMMAAAAwLMIwAAAADIswDAAAAMMiDAMAAMCwCMMAAAAwLMIwAAAADIswDAAAAMMiDAMAAMCwCMMAAAAwLMIwAAAADIswDAAAAMMiDAMAAMCwCMMAAAAwLMIwAAAADIswDAAAAMMiDAMAAMCwCMMAAAAwLMIwAAAADIswDAAAAMMiDAMAAMCwCMMAAAAwLMIwAAAADIswDAAAAMMiDAMAAMCwCMMAAAAwLMIwAAAADIswDAAAAMMiDAMAAMCwCMMAAAAwLMIwAAAADIswDAAAAMMiDAMAAMCwCMMAAAAwLMIwAAAADIswDAAAAMMiDAMAAMCwCMMAAAAwLMIwAAAADIswDAAAAMMiDAMAAMCwCMMAAAAwLMIwAAAADIswDAAAAMMiDAMAAMCwCMMAAAAwLMIwAAAADIswDAAAAMMiDAMAAMCwCMMAAAAwLMIwAAAADIswDAAAAMMiDAMAAMCwCMMAAAAwLMIwAAAADIswDAAAAMMiDAMAAMCwCMMAAAAwLMIwAAAADIswDAAAAMMiDAMAAMCwCMMAAAAwLMIwAAAADIswDAAAAMMiDAMAAMCwCMMAAAAwLMIwAAAADIswDAAAAMMiDAMAAMCwCMMAAAAwLMIwAAAADIswDAAAAMMiDAMAAMCw3CIMx8fHa+LEiWrWrJnCw8P17LPPKiYmxr7/m2++UefOnRUaGqq2bdvqk08+KcJqAQAA4C7cIgwPHz5chw8f1ty5c7Vp0ybVqVNHffr00a+//qpffvlF/fv312OPPabNmzfr6aef1qhRo/TNN98UddkAAABwcZ5FXcC9nDp1Sl9//bXWrl2rRx55RJI0YcIE7d27V9u2bdOVK1dUq1YtDRs2TJJUo0YNHT16VMuWLVOTJk2KsnQAAAC4OJefGQ4ICNDSpUtVv359+zaTySSTyaTExETFxMRkC72NGzfWoUOHZLPZCrtcAAAAuBGXnxkuVaqUHn/8cYdtO3bs0KlTp/TXv/5VW7ZsUXBwsMP+8uXLKyUlRdeuXVPZsmVzfUyz2SSz2XTXNrcCufm/X67GbDLJJJNMZtetz2ySTB5mmc35/6WF8cgfxsN1MBauhfFwLc4eD0BygzD8R99++63Gjh2r1q1bq3nz5kpNTZXFYnFoc+v79PT0PB2jbNmSMuXg/wQSk1PlZfGUxdv13kYvL0+ZTJLFy0Py9irqcrKxWDzl6eUp/zIlnNYn45F3jIfrYCxcC+PhWgpiPADX+yTexa5duzRixAiFh4dr9uzZkiRvb+9soffW976+vnk6ztWryTmaGc7MyFJGeqbS0zLzdJyClJGRKZtNSs/IUlpaRlGXk50lU5kZmYqPv+GU5SyMRz4xHq6DsXAtjIdrycV4BASULKSi4O7cJgyvXr1a06ZNU9u2bTVr1iz77G+FChUUFxfn0DYuLk4lSpSQv79/no5ltdpktd79Q2Y2m2Sz2WT975ersdpssskmm9V167PaJGVZ7/le5wTjkT+Mh+tgLFwL4+FanD0egOQGF9BJ0tq1a/Xaa6/p+eef19y5cx2WRTRs2FAHDhxwaL9v3z6Fh4fLbHaL0wMAAEARcfmZ4djYWE2fPl1PPPGE+vfvr8uXL9v3+fj4qEePHurUqZNmz56tTp06ac+ePfrHP/6hZcuWFWHVAAAAcAcuH4Z37NihjIwMffbZZ/rss88c9nXq1EkzZ87UokWL9MYbb2jlypWqXLmy3njjDe4xDAAAgHty+TA8YMAADRgw4K5tmjVrpmbNmhVSRQAAACguWFQLAAAAwyIMAwAAwLAIwwAAADAswjAAAAAMizAMAAAAwyIMAwAAwLAIwwAAADAswjAAAAAMizAMAAAAwyIMAwAAwLAIwwAAADAswjAAAAAMizAMAAAAwyIMAwAAwLAIwwAAADAswjAAAAAMizAMAAAAwyIMAwAAwLAIwwAAADAswjAAAAAMizAMAAAAwyIMAwAAwLAIwwAAADAswjAAAAAMizAMAAAAwyIMAwAAwLAIwwAAADAswjAAAAAMizAMAAAAwyIMAwAAwLAIwwAAADAswjAAAAAMizAMAAAAwyIMAwAAwLAIwwAAADAswjAAAAAMizAMAAAAwyIMAwAAwLAIwwAAADAswjAAAAAMizAMAAAAwyIMAwAAwLAIwwAAADAswjAAAAAMizAMAAAAwyIMAwAAwLAIwwAAADAswjAAAAAMizAMAAAAwyIMAwAAwLAIwwAAADAswjAAAAAMizAMAAAAwyIMAwAAwLAIwwAAADAswjAAAAAMizAMAAAAwyIMAwAAwLAIwwAAADAswjAAAAAMizAMAAAAwyIMAwAAwLAIwwAAADAswjAAAAAMizAMAAAAwyIMAwAAwLAIwwAAADAswjAAAAAMizAMAAAAwyIMAwAAwLAIwwAAADAswjAAAAAMizAMAAAAwyoWYdhqtWrBggV67LHH1KBBA/Xr10+nT58u6rIAAADg4opFGF60aJHWrl2r1157TevWrZPValXfvn2Vnp5e1KUBAADAhbl9GE5PT9e7776rqKgoNW/eXLVr19abb76pCxcuaOfOnUVdHgAAAFyY24fh48ePKzk5WU2aNLFvK1WqlB5++GEdPHiwCCsDAACAqzPZbDZbUReRHzt37tSQIUN05MgR+fj42Le/8sorSk1N1ZIlS3LdZ1aWNUftrFabkm+kyWp1vbfQ09Oskj6eyky9IZstZ+dTmEwmszx9S0gmD6f1yXjkHePhOhgL18J4uJbcjIeHh9vP96GQeBZ1AfmVkpIiSbJYLA7bvb29lZCQkKc+c/oB8vCQypQukadjFBYPr9JFXUKhYTxcC+PhOhgL18J4AK7F7X9tujUb/MeL5dLS0uTr61sUJQEAAMBNuH0YrlChgiQpLi7OYXtcXJyCgoKKoiQAAAC4CbcPw7Vr15afn5/2799v35aYmKijR4+qUaNGRVgZAAAAXJ3brxm2WCzq3r27Zs+erbJly6pSpUp64403FBwcrNatWxd1eQAAAHBhbh+GJSkqKkqZmZkaP368UlNT1ahRIy1fvlxeXl5FXRoAAABcmNvfWg0AAADIK7dfMwwAAADkFWEYAAAAhkUYBgAAgGERhgEAAGBYhGEAAAAYFmEYAAAAhkUYBgAAgGERhouBJUuWqEePHndtc+3aNb366qtq1KiRIiIiNGXKFKWkpBRShcVffHy8Jk6cqGbNmik8PFzPPvusYmJi7tj+zJkz6t+/v8LDw9W0aVPNmzdPWVlZhVhx8XblyhWNHDlSjRs3VlhYmF566SX98ssvd2zP56NwxMbGKiwsTJs3b75jG8aiYF28eFG1atXK9nWnMWE8YATF4gl0RrZmzRrNmzdPDRs2vGu7qKgopaSkaMWKFUpMTNS4ceN048YNzZo1q5AqLd6GDx+uS5cuae7cuQoMDNT777+vPn36aMuWLXrggQcc2mZkZKhPnz6qXr261q1bp99++03jxo2T2WxWVFRUEZ1B8TJo0CBZrVYtXbpUJUuW1Pz589WrVy/t3LlTvr6+2drz+Sh4GRkZGjFihG7cuHHXdoxFwTp+/Li8vb21a9cumUwm+3Z/f//btmc8YAg2uKULFy7Y+vfvb2vQoIGtbdu2tu7du9+x7bfffmurWbOm7cSJE/Zte/futdWqVct24cKFwii3WDt58qStZs2atpiYGPs2q9Vqa9WqlW3evHnZ2m/bts1Wr149W3x8vH3bunXrbOHh4ba0tLRCqbk4i4+Ptw0fPtz2448/2rcdO3bMVrNmTduRI0eytefzUTjmzJlje+GFF2w1a9a0bdq06bZtGIuCt3TpUlvHjh1z1JbxgFGwTMJN/fDDD/Ly8tLHH3+s0NDQu7aNiYlRuXLlVKNGDfu2iIgImUwmHTp0qKBLLfYCAgK0dOlS1a9f377NZDLJZDIpMTExW/uYmBjVrVtXpUuXtm9r3LixkpKSdOzYsUKpuTgrXbq05syZo5o1a0qSrl69qhUrVig4OFgPPvhgtvZ8PgrewYMHtX79es2cOfOu7RiLgvfjjz86vL93w3jAKFgm4aYiIyMVGRmZo7YXL15UhQoVHLZZLBaVKVNG58+fL4jyDKVUqVJ6/PHHHbbt2LFDp06d0l//+tds7S9cuKDg4GCHbeXLl5cknT9//p6/3CDnJkyYoA0bNshisejtt99WiRIlsrXh81GwEhMTNWrUKI0fPz7b+/xHjEXB++mnnxQQEKDnn39esbGxqlatml5++WU1a9YsW1vGA0bBzLABpKSkyGKxZNvu7e2ttLS0IqioePv22281duxYtW7dWs2bN8+2PzU1Ndt4eHt7SxLj4WQ9e/bUpk2b1KFDBw0aNEg//PBDtjZ8PgrW5MmTFRYWpo4dO96zLWNRsDIzM/Xrr78qISFBQ4YM0dKlS9WgQQO99NJL+uabb7K1ZzxgFMwMG4CPj4/S09OzbU9LS7vtTBnybteuXRoxYoTCw8M1e/bs27a53Xjc+oeF8XCuW8sipk2bpiNHjmj16tWaMWOGQxs+HwVn69atiomJ0bZt23LUnrEoWJ6entq/f788PDzk4+MjSapXr55+/vlnLV++XE2aNHFoz3jAKJgZNoDg4GDFxcU5bEtPT1d8fLz9z/PIv9WrV2vIkCFq0aKFFi9ebJ/t/aPbjcet74OCggq8zuLu6tWr+uSTT5SZmWnfZjab9eCDD2Z73yU+HwVp06ZNunLlipo3b66wsDCFhYVJkiZNmqS+fftma89YFLySJUvag/AtDz30kC5evJitLeMBoyAMG0CjRo104cIFnTp1yr7twIEDkqRHHnmkqMoqVtauXavXXntNzz//vObOnXvbPy3e0qhRIx09elRJSUn2bfv27VPJkiVVu3btwii3WLt8+bKGDx/u8GffjIwMHT169LYXDvH5KDizZ8/W9u3btXXrVvuXdPN2XdOmTcvWnrEoWD///LPCw8O1f/9+h+3/+c9/bntxKeMBoyAMF0NZWVm6dOmSUlNTJUmhoaEKDw/XsGHD9P3332vfvn2aOHGinnrqKWYinSA2NlbTp0/XE088of79++vy5cu6dOmSLl26pOvXrys9PV2XLl2y/7mxVatWKleunIYOHarjx49r165dmjt3rl588cW7hmjkTM2aNdWsWTO9/vrrOnjwoH766SeNGTNGiYmJ6tWrF5+PQhQUFKRq1ao5fElSYGCggoKCGItCVqNGDT3wwAOaOnWqYmJi9Msvv2jGjBn67rvv9PLLLzMeMCzCcDF0/vx5NW3aVNu3b5d08zZf0dHRqly5snr27KmhQ4eqWbNmmjx5ctEWWkzs2LFDGRkZ+uyzz9S0aVOHr2nTpunw4cNq2rSpDh8+LOnmxSfLli2T1WrVX/7yF02ZMkXPPfecBg4cWMRnUnzMnTtXTZo00bBhw/T0008rPj5ea9asUcWKFfl8uBDGonCZzWYtXrxYISEhGjp0qDp16qQjR47ovffeU82aNRkPGJbJZrPZiroIAAAAoCgwMwwAAADDIgwDAADAsAjDAAAAMCzCMAAAAAyLMAwAAADDIgwDAADAsAjDAOAE3KUSANwTYRgoZn755Re99tpratOmjUJDQ/XII4+oW7duWrt2rTIzM4u6vDxZuHChatWqdcf9Z86cUa1atbR58+YiqefQoUN66aWX8l3P/v37VatWrWyPy82LHj16qEePHvnuBwCKO8+iLgCA82zfvl1jx45VjRo11Lt3b91///1KTU3Vnj17NH36dO3du1eLFi2SyWQq6lKLlY0bN+qXX37Jdz9169bV+vXr9eCDDzqhKgBAThCGgWLil19+0dixY/XYY49p3rx58vT838f78ccf16OPPqqoqCh9+umnateuXRFWijvx8/NTgwYNiroMADAUlkkAxcSyZctkNps1ZcoUhyB8S5s2bfTUU085bLNarVq6dKmeeOIJ1atXT23atNH777/v0KZHjx4aN26cli5dqubNm6t+/frq1q2bvv/+e4d2P/30k/r376/w8HCFh4dr0KBBOn36tH3/rSUA69atU4sWLRQeHq6vv/5a0s2Z1c6dO6tBgwYKCQnRn//8Z3366ae5fg8uXbqkqKgohYWFKSIiQhMmTFBycrJDm40bN6p9+/aqV6+emjdvroULFyorKytbm5zWM2bMGG3ZskVnz57NtjQiJ/X83h+XSSxcuFBPPPGEvvzyS3Xs2NE+Rlu3bnX4uXPnzmnw4MF65JFH9P/+3//Te++9d9v+73bu58+f1yOPPOKwtCItLU3t2rVT+/btlZaWdse6AcCdEYaBYuLzzz9X48aNFRgYeMc2s2bNcpgVnjx5shYsWKAnn3xSixcvVtu2bTV9+nS99dZbDj+3Y8cOff755xo/frzmzp2ry5cva8iQIfYgFRsbq27duunKlSuaNWuWpk2bptOnT+vZZ5/VlStXHPqKjo7W6NGjNXHiRIWFhWnNmjWaOHGiWrVqpSVLlmj27NmyWCwaMWKELly4kKv3YP78+apQoYIWLVqknj17asOGDYqOjrbvX7JkiSZMmKAmTZpo8eLFev755/XOO+9owoQJ9ja5rWfgwIF6/PHHVa5cOa1fv17NmzfPcT05cenSJU2dOlUvvPCCli5dqsqVK2v06NH2ZRk3btxQ9+7d9dNPP+m1117ThAkTtHHjRh0+fNihn3ude4UKFTRmzBgdOHBAmzZtkiTNmTNHv/32m+bMmSNvb+9c1Q0A7oJlEkAxkJCQoISEBFWvXj3bvj9eNGcymeTh4aHY2Fht2LBBw4cPt1/81bRpU5lMJi1ZskTPPfecAgIC7H0sX75cfn5+kqTk5GSNHj1ax44dU7169RQdHS1fX1+tWLHC3qZJkyZq1aqVli1bptGjR9uP/9xzz6lt27b270+fPq0+ffpo4MCB9m2VKlVS586ddejQIbVv3z7H70ObNm00duxY+/G//vpr7du3T5J0/fp1LVq0SM8884zGjx9vP98yZcpo/Pjx6t27tx566KFc11O1alWVLVtWFovFvsThxo0b96wnp1JSUjRt2jQ1adJEklS9enW1aNFCe/bsUY0aNbRlyxadO3dOf//73+1rjUNDQ/XEE0/Y+8jpuT/99NPauXOn/va3v6lMmTJatWqVRo4cqdq1a+eqZgBwJ4RhoBiwWq233X7q1Cm1bt3aYVulSpW0e/du7du3TzabTZGRkQ6BOTIyUm+//bYOHTqkVq1aSZIefPBBe8iVpKCgIEk3g5ok7du3TxEREfLx8bH35efnp4YNG+pf//qXw/Hr1Knj8P2YMWMkSYmJifr111916tQp+zKB9PT0XL0PDRs2dPi+cuXKOnTokCTp8OHDSk1Nve35StLXX3+thx56qNDqyY3fryMODg6W9L/AHRMTo6pVqzpcdFehQgWHn8npuUvS66+/rg4dOmjw4MGKiIjQiy++mOt6AcCdEIaBYiAgIEAlSpTQ2bNnHbZXqFBBH374of37t956Sz/99JMkKT4+XpLuOPN68eJF+2tfX1+HfWbzzRVWt0J4fHy8tm/fru3bt2frp2zZsg7flyhRwuH73377TRMnTtQ333wjLy8vPfDAA/aZyNzeu/d2dd7q49b5/v4WaL8XFxdXqPXktZ9b7/2tfhISEuwz+L9Xrlw5Xb58WVLOz126+YtOkyZNtGPHDjVv3pw7jwAo9gjDQDERGRmpL774QklJSfZZXIvFovr169vblClTxv66VKlSkqSVK1eqZMmS2fqrWLFijo/t7++vP/3pT+rdu3e2fbe7mO8Wq9Wql156SV5eXvrwww9Vp04deXp66sSJE/roo49yfPycuHW+s2fPvu1ykvvuu69Q63GWgIAAnTp1Ktv2WwFYytm53/LPf/5TO3bsUJ06dewX8FWpUsXpdQOAq+ACOqCYeOmll5SZmanx48ff9s/5qampDnd3uPUn/GvXrql+/fr2r6tXr2r+/PkOYepeIiIidOLECdWpU8feT7169bRixQp99tlnd/y5a9euKTY2Vl27dlX9+vXtwfmrr76SdOflH3kRGhoqLy8vXbx40eF8PT09NXfuXJ05cybP9dyarS0KjRs31pkzZ/Tvf//bvu3q1av67rvv7N/n5Nylm2uLx48frz/96U9avXq1SpUqpb/+9a88XQ9AscbMMFBM1KpVS2+88YbGjh2rzp07q2vXrqpVq5YyMzN1+PBhffjhh7p8+bL69u1rb//kk09qwoQJOnv2rOrVq6fY2Fi9+eabqly58m1nEO9k4MCB6tatm/r3769nn31W3t7eWr9+vXbt2qUFCxbc8ecCAwNVqVIlrVmzRsHBwSpVqpT27t2rVatWSfrfmmRnCAgIUN++fTV//nwlJSXp0Ucf1cWLFzV//nyZTCbVrl1b/v7+eaqnVKlSunz5svbs2ZNtTXRB+/Of/6xVq1Zp8ODBGjZsmPz8/PT22287BPecnLskTZ8+XdeuXdOqVavk5+enCRMmaNCgQVq9ejVPswNQbBGGgWKkTZs2qlevnj744AN9+OGHOnv2rGw2m6pUqaJ27dqpW7duDiF3xowZWrJkidatW6cLFy4oMDBQ7dq109ChQ+Xh4ZHj49auXVtr1qzRm2++qVGjRslms6lmzZp666231LJly7v+7KJFizRt2jSNGTNGFotFDz74oN5++21Nnz5dMTExTg1hQ4cOVbly5bR27VotW7ZMpUuXVpMmTTR8+HD5+/vnuZ7OnTtrz549GjRokKKiogr1oSYWi0UrV67U9OnTNW3aNJlMJv3lL39RlSpVHG5rd69z37NnjzZv3qyRI0eqatWqkqRWrVqpdevWmjNnjpo1a6Zq1aoV2nkBQGEx2fj7FwAAAAyKNcMAAAAwLMIwAAAADIswDAAAAMMiDAMAAMCwCMMAAAAwLMIwAAAADIswDAAAAMMiDAMAAMCwCMMAAAAwLMIwAAAADIswDAAAAMMiDAMAAMCw/j/C5iMLbZgNcwAAAABJRU5ErkJggg==\n"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import seaborn as sns\n",
"sns.set_theme()\n",
"g = sns.catplot(\n",
" data=train, kind=\"bar\",\n",
" x=\"GeneralHealth\", y=\"WeightInKilograms\", hue=\"HadHeartAttack\",\n",
" errorbar=\"sd\", palette=\"dark\", alpha=.6, height=6\n",
")\n",
"g.despine(left=True)\n",
"g.set_axis_labels(\"General health index\", \"Body mass (kg)\")\n",
"g.legend.set_title(\"Had heart attack\")"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"### Osoby palące częsciej miały zawał:"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 66,
"outputs": [
{
"data": {
"text/plain": " SmokerStatus HadHeartAttack\n0 0.0 0.037883\n1 1.0 0.072598\n2 2.0 0.088887\n3 3.0 0.090192",
"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>SmokerStatus</th>\n <th>HadHeartAttack</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>0.0</td>\n <td>0.037883</td>\n </tr>\n <tr>\n <th>1</th>\n <td>1.0</td>\n <td>0.072598</td>\n </tr>\n <tr>\n <th>2</th>\n <td>2.0</td>\n <td>0.088887</td>\n </tr>\n <tr>\n <th>3</th>\n <td>3.0</td>\n <td>0.090192</td>\n </tr>\n </tbody>\n</table>\n</div>"
},
"execution_count": 66,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"valid.groupby('SmokerStatus', as_index=False)['HadHeartAttack'].mean()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"### Osoby z gorszym wskaźnikiem \"GeneralHealth\" w tym zbiorze danych częściej miały zawał:"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 67,
"outputs": [
{
"data": {
"text/plain": " GeneralHealth HadHeartAttack\n0 1.0 0.228411\n1 2.0 0.129270\n2 3.0 0.056693\n3 4.0 0.027336\n4 5.0 0.014743",
"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>GeneralHealth</th>\n <th>HadHeartAttack</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>1.0</td>\n <td>0.228411</td>\n </tr>\n <tr>\n <th>1</th>\n <td>2.0</td>\n <td>0.129270</td>\n </tr>\n <tr>\n <th>2</th>\n <td>3.0</td>\n <td>0.056693</td>\n </tr>\n <tr>\n <th>3</th>\n <td>4.0</td>\n <td>0.027336</td>\n </tr>\n <tr>\n <th>4</th>\n <td>5.0</td>\n <td>0.014743</td>\n </tr>\n </tbody>\n</table>\n</div>"
},
"execution_count": 67,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"valid.groupby('GeneralHealth', as_index=False)['HadHeartAttack'].mean()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 68,
"outputs": [
{
"data": {
"text/plain": "SmokerStatus 0.0 1.0 2.0 3.0\nGeneralHealth \n1.0 0.194640 0.310680 0.257100 0.222222\n2.0 0.090772 0.146429 0.184443 0.155059\n3.0 0.039989 0.031068 0.091645 0.060469\n4.0 0.021611 0.032070 0.035265 0.048292\n5.0 0.011078 0.012579 0.026298 0.018315",
"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>SmokerStatus</th>\n <th>0.0</th>\n <th>1.0</th>\n <th>2.0</th>\n <th>3.0</th>\n </tr>\n <tr>\n <th>GeneralHealth</th>\n <th></th>\n <th></th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>1.0</th>\n <td>0.194640</td>\n <td>0.310680</td>\n <td>0.257100</td>\n <td>0.222222</td>\n </tr>\n <tr>\n <th>2.0</th>\n <td>0.090772</td>\n <td>0.146429</td>\n <td>0.184443</td>\n <td>0.155059</td>\n </tr>\n <tr>\n <th>3.0</th>\n <td>0.039989</td>\n <td>0.031068</td>\n <td>0.091645</td>\n <td>0.060469</td>\n </tr>\n <tr>\n <th>4.0</th>\n <td>0.021611</td>\n <td>0.032070</td>\n <td>0.035265</td>\n <td>0.048292</td>\n </tr>\n <tr>\n <th>5.0</th>\n <td>0.011078</td>\n <td>0.012579</td>\n <td>0.026298</td>\n <td>0.018315</td>\n </tr>\n </tbody>\n</table>\n</div>"
},
"execution_count": 68,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"valid.pivot_table('HadHeartAttack',index='GeneralHealth', columns='SmokerStatus')"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"## Normalizacja część 2 - Skalowanie kolumn numerycznych do 0-1"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 69,
"outputs": [],
"source": [
"from sklearn.preprocessing import MinMaxScaler\n",
"scaler = MinMaxScaler()\n",
"def scale_float_columns(dataset):\n",
" numerical_columns = list(dataset.select_dtypes(include=['float64']).columns)\n",
" dataset[numerical_columns] = scaler.fit_transform(dataset[numerical_columns])"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 70,
"outputs": [
{
"data": {
"text/plain": " State Male GeneralHealth PhysicalHealthDays \\\n339824 South Dakota 0.0 3.0 3.0 \n127927 Kansas 0.0 3.0 30.0 \n362523 Utah 1.0 5.0 0.0 \n183687 Michigan 1.0 3.0 0.0 \n191905 Michigan 0.0 4.0 0.0 \n\n MentalHealthDays LastCheckupTime \\\n339824 21.0 Within past year (anytime less than 12 months ... \n127927 0.0 Within past year (anytime less than 12 months ... \n362523 0.0 Within past year (anytime less than 12 months ... \n183687 7.0 Within past year (anytime less than 12 months ... \n191905 0.0 Within past year (anytime less than 12 months ... \n\n PhysicalActivities SleepHours RemovedTeeth HadHeartAttack ... \\\n339824 1.0 8.0 2.0 0.0 ... \n127927 1.0 10.0 1.0 0.0 ... \n362523 1.0 7.0 1.0 0.0 ... \n183687 1.0 8.0 0.0 0.0 ... \n191905 1.0 7.0 0.0 0.0 ... \n\n HeightInMeters WeightInKilograms BMI AlcoholDrinkers HIVTesting \\\n339824 1.60 52.16 20.37 0.0 1.0 \n127927 1.68 97.52 34.70 0.0 0.0 \n362523 1.83 113.85 34.04 0.0 0.0 \n183687 1.78 83.91 26.54 1.0 0.0 \n191905 1.57 68.04 27.44 1.0 1.0 \n\n FluVaxLast12 PneumoVaxEver TetanusLast10Tdap HighRiskLastYear \\\n339824 1.0 1.0 1.0 0.0 \n127927 1.0 1.0 NaN 0.0 \n362523 0.0 0.0 1.0 0.0 \n183687 1.0 1.0 1.0 0.0 \n191905 0.0 1.0 1.0 0.0 \n\n CovidPos \n339824 0.0 \n127927 0.0 \n362523 1.0 \n183687 0.0 \n191905 0.0 \n\n[5 rows x 40 columns]",
"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>State</th>\n <th>Male</th>\n <th>GeneralHealth</th>\n <th>PhysicalHealthDays</th>\n <th>MentalHealthDays</th>\n <th>LastCheckupTime</th>\n <th>PhysicalActivities</th>\n <th>SleepHours</th>\n <th>RemovedTeeth</th>\n <th>HadHeartAttack</th>\n <th>...</th>\n <th>HeightInMeters</th>\n <th>WeightInKilograms</th>\n <th>BMI</th>\n <th>AlcoholDrinkers</th>\n <th>HIVTesting</th>\n <th>FluVaxLast12</th>\n <th>PneumoVaxEver</th>\n <th>TetanusLast10Tdap</th>\n <th>HighRiskLastYear</th>\n <th>CovidPos</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>339824</th>\n <td>South Dakota</td>\n <td>0.0</td>\n <td>3.0</td>\n <td>3.0</td>\n <td>21.0</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>1.0</td>\n <td>8.0</td>\n <td>2.0</td>\n <td>0.0</td>\n <td>...</td>\n <td>1.60</td>\n <td>52.16</td>\n <td>20.37</td>\n <td>0.0</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>0.0</td>\n </tr>\n <tr>\n <th>127927</th>\n <td>Kansas</td>\n <td>0.0</td>\n <td>3.0</td>\n <td>30.0</td>\n <td>0.0</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>1.0</td>\n <td>10.0</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>...</td>\n <td>1.68</td>\n <td>97.52</td>\n <td>34.70</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>NaN</td>\n <td>0.0</td>\n <td>0.0</td>\n </tr>\n <tr>\n <th>362523</th>\n <td>Utah</td>\n <td>1.0</td>\n <td>5.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>1.0</td>\n <td>7.0</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>...</td>\n <td>1.83</td>\n <td>113.85</td>\n <td>34.04</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>1.0</td>\n </tr>\n <tr>\n <th>183687</th>\n <td>Michigan</td>\n <td>1.0</td>\n <td>3.0</td>\n <td>0.0</td>\n <td>7.0</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>1.0</td>\n <td>8.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>...</td>\n <td>1.78</td>\n <td>83.91</td>\n <td>26.54</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>0.0</td>\n </tr>\n <tr>\n <th>191905</th>\n <td>Michigan</td>\n <td>0.0</td>\n <td>4.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>1.0</td>\n <td>7.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>...</td>\n <td>1.57</td>\n <td>68.04</td>\n <td>27.44</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>0.0</td>\n </tr>\n </tbody>\n</table>\n<p>5 rows × 40 columns</p>\n</div>"
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"test.head()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 71,
"outputs": [
{
"data": {
"text/plain": " State Male GeneralHealth PhysicalHealthDays \\\n339824 South Dakota 0.0 0.50 0.1 \n127927 Kansas 0.0 0.50 1.0 \n362523 Utah 1.0 1.00 0.0 \n183687 Michigan 1.0 0.50 0.0 \n191905 Michigan 0.0 0.75 0.0 \n\n MentalHealthDays LastCheckupTime \\\n339824 0.700000 Within past year (anytime less than 12 months ... \n127927 0.000000 Within past year (anytime less than 12 months ... \n362523 0.000000 Within past year (anytime less than 12 months ... \n183687 0.233333 Within past year (anytime less than 12 months ... \n191905 0.000000 Within past year (anytime less than 12 months ... \n\n PhysicalActivities SleepHours RemovedTeeth HadHeartAttack ... \\\n339824 1.0 0.304348 0.666667 0.0 ... \n127927 1.0 0.391304 0.333333 0.0 ... \n362523 1.0 0.260870 0.333333 0.0 ... \n183687 1.0 0.304348 0.000000 0.0 ... \n191905 1.0 0.260870 0.000000 0.0 ... \n\n HeightInMeters WeightInKilograms BMI AlcoholDrinkers \\\n339824 0.482517 0.110156 0.097513 0.0 \n127927 0.538462 0.279650 0.264860 0.0 \n362523 0.643357 0.340670 0.257153 0.0 \n183687 0.608392 0.228795 0.169567 1.0 \n191905 0.461538 0.169494 0.180077 1.0 \n\n HIVTesting FluVaxLast12 PneumoVaxEver TetanusLast10Tdap \\\n339824 1.0 1.0 1.0 0.0 \n127927 0.0 1.0 1.0 NaN \n362523 0.0 0.0 0.0 0.0 \n183687 0.0 1.0 1.0 0.0 \n191905 1.0 0.0 1.0 0.0 \n\n HighRiskLastYear CovidPos \n339824 0.0 0.0 \n127927 0.0 0.0 \n362523 0.0 1.0 \n183687 0.0 0.0 \n191905 0.0 0.0 \n\n[5 rows x 40 columns]",
"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>State</th>\n <th>Male</th>\n <th>GeneralHealth</th>\n <th>PhysicalHealthDays</th>\n <th>MentalHealthDays</th>\n <th>LastCheckupTime</th>\n <th>PhysicalActivities</th>\n <th>SleepHours</th>\n <th>RemovedTeeth</th>\n <th>HadHeartAttack</th>\n <th>...</th>\n <th>HeightInMeters</th>\n <th>WeightInKilograms</th>\n <th>BMI</th>\n <th>AlcoholDrinkers</th>\n <th>HIVTesting</th>\n <th>FluVaxLast12</th>\n <th>PneumoVaxEver</th>\n <th>TetanusLast10Tdap</th>\n <th>HighRiskLastYear</th>\n <th>CovidPos</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>339824</th>\n <td>South Dakota</td>\n <td>0.0</td>\n <td>0.50</td>\n <td>0.1</td>\n <td>0.700000</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>1.0</td>\n <td>0.304348</td>\n <td>0.666667</td>\n <td>0.0</td>\n <td>...</td>\n <td>0.482517</td>\n <td>0.110156</td>\n <td>0.097513</td>\n <td>0.0</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>0.0</td>\n </tr>\n <tr>\n <th>127927</th>\n <td>Kansas</td>\n <td>0.0</td>\n <td>0.50</td>\n <td>1.0</td>\n <td>0.000000</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>1.0</td>\n <td>0.391304</td>\n <td>0.333333</td>\n <td>0.0</td>\n <td>...</td>\n <td>0.538462</td>\n <td>0.279650</td>\n <td>0.264860</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>NaN</td>\n <td>0.0</td>\n <td>0.0</td>\n </tr>\n <tr>\n <th>362523</th>\n <td>Utah</td>\n <td>1.0</td>\n <td>1.00</td>\n <td>0.0</td>\n <td>0.000000</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>1.0</td>\n <td>0.260870</td>\n <td>0.333333</td>\n <td>0.0</td>\n <td>...</td>\n <td>0.643357</td>\n <td>0.340670</td>\n <td>0.257153</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>1.0</td>\n </tr>\n <tr>\n <th>183687</th>\n <td>Michigan</td>\n <td>1.0</td>\n <td>0.50</td>\n <td>0.0</td>\n <td>0.233333</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>1.0</td>\n <td>0.304348</td>\n <td>0.000000</td>\n <td>0.0</td>\n <td>...</td>\n <td>0.608392</td>\n <td>0.228795</td>\n <td>0.169567</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>0.0</td>\n </tr>\n <tr>\n <th>191905</th>\n <td>Michigan</td>\n <td>0.0</td>\n <td>0.75</td>\n <td>0.0</td>\n <td>0.000000</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>1.0</td>\n <td>0.260870</td>\n <td>0.000000</td>\n <td>0.0</td>\n <td>...</td>\n <td>0.461538</td>\n <td>0.169494</td>\n <td>0.180077</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>0.0</td>\n </tr>\n </tbody>\n</table>\n<p>5 rows × 40 columns</p>\n</div>"
},
"execution_count": 71,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"scale_float_columns(test)\n",
"scale_float_columns(train)\n",
"scale_float_columns(valid)\n",
"test.head()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"## 5. Czyszczenie brakujących pól\n",
"\n",
"Nie możemy użyć .dropna() gdyż większość wierszy ma brakujące wartości:"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 72,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"445132\n",
"199110\n"
]
}
],
"source": [
"print(df.shape[0])\n",
"print(df.shape[0] - df.dropna().shape[0])"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 73,
"outputs": [
{
"data": {
"text/plain": " State Male GeneralHealth PhysicalHealthDays \\\n339824 South Dakota 0.0 0.50 0.1 \n127927 Kansas 0.0 0.50 1.0 \n362523 Utah 1.0 1.00 0.0 \n183687 Michigan 1.0 0.50 0.0 \n191905 Michigan 0.0 0.75 0.0 \n\n MentalHealthDays LastCheckupTime \\\n339824 0.700000 Within past year (anytime less than 12 months ... \n127927 0.000000 Within past year (anytime less than 12 months ... \n362523 0.000000 Within past year (anytime less than 12 months ... \n183687 0.233333 Within past year (anytime less than 12 months ... \n191905 0.000000 Within past year (anytime less than 12 months ... \n\n PhysicalActivities SleepHours RemovedTeeth HadHeartAttack ... \\\n339824 1.0 0.304348 0.666667 0.0 ... \n127927 1.0 0.391304 0.333333 0.0 ... \n362523 1.0 0.260870 0.333333 0.0 ... \n183687 1.0 0.304348 0.000000 0.0 ... \n191905 1.0 0.260870 0.000000 0.0 ... \n\n HeightInMeters WeightInKilograms BMI AlcoholDrinkers \\\n339824 0.482517 0.110156 0.097513 0.0 \n127927 0.538462 0.279650 0.264860 0.0 \n362523 0.643357 0.340670 0.257153 0.0 \n183687 0.608392 0.228795 0.169567 1.0 \n191905 0.461538 0.169494 0.180077 1.0 \n\n HIVTesting FluVaxLast12 PneumoVaxEver TetanusLast10Tdap \\\n339824 1.0 1.0 1.0 0.0 \n127927 0.0 1.0 1.0 NaN \n362523 0.0 0.0 0.0 0.0 \n183687 0.0 1.0 1.0 0.0 \n191905 1.0 0.0 1.0 0.0 \n\n HighRiskLastYear CovidPos \n339824 0.0 0.0 \n127927 0.0 0.0 \n362523 0.0 1.0 \n183687 0.0 0.0 \n191905 0.0 0.0 \n\n[5 rows x 40 columns]",
"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>State</th>\n <th>Male</th>\n <th>GeneralHealth</th>\n <th>PhysicalHealthDays</th>\n <th>MentalHealthDays</th>\n <th>LastCheckupTime</th>\n <th>PhysicalActivities</th>\n <th>SleepHours</th>\n <th>RemovedTeeth</th>\n <th>HadHeartAttack</th>\n <th>...</th>\n <th>HeightInMeters</th>\n <th>WeightInKilograms</th>\n <th>BMI</th>\n <th>AlcoholDrinkers</th>\n <th>HIVTesting</th>\n <th>FluVaxLast12</th>\n <th>PneumoVaxEver</th>\n <th>TetanusLast10Tdap</th>\n <th>HighRiskLastYear</th>\n <th>CovidPos</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>339824</th>\n <td>South Dakota</td>\n <td>0.0</td>\n <td>0.50</td>\n <td>0.1</td>\n <td>0.700000</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>1.0</td>\n <td>0.304348</td>\n <td>0.666667</td>\n <td>0.0</td>\n <td>...</td>\n <td>0.482517</td>\n <td>0.110156</td>\n <td>0.097513</td>\n <td>0.0</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>0.0</td>\n </tr>\n <tr>\n <th>127927</th>\n <td>Kansas</td>\n <td>0.0</td>\n <td>0.50</td>\n <td>1.0</td>\n <td>0.000000</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>1.0</td>\n <td>0.391304</td>\n <td>0.333333</td>\n <td>0.0</td>\n <td>...</td>\n <td>0.538462</td>\n <td>0.279650</td>\n <td>0.264860</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>NaN</td>\n <td>0.0</td>\n <td>0.0</td>\n </tr>\n <tr>\n <th>362523</th>\n <td>Utah</td>\n <td>1.0</td>\n <td>1.00</td>\n <td>0.0</td>\n <td>0.000000</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>1.0</td>\n <td>0.260870</td>\n <td>0.333333</td>\n <td>0.0</td>\n <td>...</td>\n <td>0.643357</td>\n <td>0.340670</td>\n <td>0.257153</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>1.0</td>\n </tr>\n <tr>\n <th>183687</th>\n <td>Michigan</td>\n <td>1.0</td>\n <td>0.50</td>\n <td>0.0</td>\n <td>0.233333</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>1.0</td>\n <td>0.304348</td>\n <td>0.000000</td>\n <td>0.0</td>\n <td>...</td>\n <td>0.608392</td>\n <td>0.228795</td>\n <td>0.169567</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>0.0</td>\n </tr>\n <tr>\n <th>191905</th>\n <td>Michigan</td>\n <td>0.0</td>\n <td>0.75</td>\n <td>0.0</td>\n <td>0.000000</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>1.0</td>\n <td>0.260870</td>\n <td>0.000000</td>\n <td>0.0</td>\n <td>...</td>\n <td>0.461538</td>\n <td>0.169494</td>\n <td>0.180077</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>0.0</td>\n </tr>\n </tbody>\n</table>\n<p>5 rows × 40 columns</p>\n</div>"
},
"execution_count": 73,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"test.head()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"Uzupełniam brakujące wartości medianą:"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 74,
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"C:\\Users\\Adrian\\AppData\\Local\\Temp\\ipykernel_18732\\896322512.py:4: FutureWarning: Dropping of nuisance columns in DataFrame reductions (with 'numeric_only=None') is deprecated; in a future version this will raise TypeError. Select only valid columns before calling the reduction.\n",
" test.fillna(test.median(),inplace=True)\n",
"C:\\Users\\Adrian\\AppData\\Local\\Temp\\ipykernel_18732\\896322512.py:5: FutureWarning: Dropping of nuisance columns in DataFrame reductions (with 'numeric_only=None') is deprecated; in a future version this will raise TypeError. Select only valid columns before calling the reduction.\n",
" train.fillna(train.median(),inplace=True)\n",
"C:\\Users\\Adrian\\AppData\\Local\\Temp\\ipykernel_18732\\896322512.py:6: FutureWarning: Dropping of nuisance columns in DataFrame reductions (with 'numeric_only=None') is deprecated; in a future version this will raise TypeError. Select only valid columns before calling the reduction.\n",
" valid.fillna(valid.median(),inplace=True)\n"
]
}
],
"source": [
"#test.dropna(inplace=True)\n",
"#train.dropna(inplace=True)\n",
"#valid.dropna(inplace=True)\n",
"test.fillna(test.median(),inplace=True)\n",
"train.fillna(train.median(),inplace=True)\n",
"valid.fillna(valid.median(),inplace=True)"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 75,
"outputs": [
{
"data": {
"text/plain": " State Male GeneralHealth PhysicalHealthDays \\\n339824 South Dakota 0.0 0.50 0.1 \n127927 Kansas 0.0 0.50 1.0 \n362523 Utah 1.0 1.00 0.0 \n183687 Michigan 1.0 0.50 0.0 \n191905 Michigan 0.0 0.75 0.0 \n\n MentalHealthDays LastCheckupTime \\\n339824 0.700000 Within past year (anytime less than 12 months ... \n127927 0.000000 Within past year (anytime less than 12 months ... \n362523 0.000000 Within past year (anytime less than 12 months ... \n183687 0.233333 Within past year (anytime less than 12 months ... \n191905 0.000000 Within past year (anytime less than 12 months ... \n\n PhysicalActivities SleepHours RemovedTeeth HadHeartAttack ... \\\n339824 1.0 0.304348 0.666667 0.0 ... \n127927 1.0 0.391304 0.333333 0.0 ... \n362523 1.0 0.260870 0.333333 0.0 ... \n183687 1.0 0.304348 0.000000 0.0 ... \n191905 1.0 0.260870 0.000000 0.0 ... \n\n HeightInMeters WeightInKilograms BMI AlcoholDrinkers \\\n339824 0.482517 0.110156 0.097513 0.0 \n127927 0.538462 0.279650 0.264860 0.0 \n362523 0.643357 0.340670 0.257153 0.0 \n183687 0.608392 0.228795 0.169567 1.0 \n191905 0.461538 0.169494 0.180077 1.0 \n\n HIVTesting FluVaxLast12 PneumoVaxEver TetanusLast10Tdap \\\n339824 1.0 1.0 1.0 0.0 \n127927 0.0 1.0 1.0 0.0 \n362523 0.0 0.0 0.0 0.0 \n183687 0.0 1.0 1.0 0.0 \n191905 1.0 0.0 1.0 0.0 \n\n HighRiskLastYear CovidPos \n339824 0.0 0.0 \n127927 0.0 0.0 \n362523 0.0 1.0 \n183687 0.0 0.0 \n191905 0.0 0.0 \n\n[5 rows x 40 columns]",
"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>State</th>\n <th>Male</th>\n <th>GeneralHealth</th>\n <th>PhysicalHealthDays</th>\n <th>MentalHealthDays</th>\n <th>LastCheckupTime</th>\n <th>PhysicalActivities</th>\n <th>SleepHours</th>\n <th>RemovedTeeth</th>\n <th>HadHeartAttack</th>\n <th>...</th>\n <th>HeightInMeters</th>\n <th>WeightInKilograms</th>\n <th>BMI</th>\n <th>AlcoholDrinkers</th>\n <th>HIVTesting</th>\n <th>FluVaxLast12</th>\n <th>PneumoVaxEver</th>\n <th>TetanusLast10Tdap</th>\n <th>HighRiskLastYear</th>\n <th>CovidPos</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>339824</th>\n <td>South Dakota</td>\n <td>0.0</td>\n <td>0.50</td>\n <td>0.1</td>\n <td>0.700000</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>1.0</td>\n <td>0.304348</td>\n <td>0.666667</td>\n <td>0.0</td>\n <td>...</td>\n <td>0.482517</td>\n <td>0.110156</td>\n <td>0.097513</td>\n <td>0.0</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>0.0</td>\n </tr>\n <tr>\n <th>127927</th>\n <td>Kansas</td>\n <td>0.0</td>\n <td>0.50</td>\n <td>1.0</td>\n <td>0.000000</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>1.0</td>\n <td>0.391304</td>\n <td>0.333333</td>\n <td>0.0</td>\n <td>...</td>\n <td>0.538462</td>\n <td>0.279650</td>\n <td>0.264860</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>0.0</td>\n </tr>\n <tr>\n <th>362523</th>\n <td>Utah</td>\n <td>1.0</td>\n <td>1.00</td>\n <td>0.0</td>\n <td>0.000000</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>1.0</td>\n <td>0.260870</td>\n <td>0.333333</td>\n <td>0.0</td>\n <td>...</td>\n <td>0.643357</td>\n <td>0.340670</td>\n <td>0.257153</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>1.0</td>\n </tr>\n <tr>\n <th>183687</th>\n <td>Michigan</td>\n <td>1.0</td>\n <td>0.50</td>\n <td>0.0</td>\n <td>0.233333</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>1.0</td>\n <td>0.304348</td>\n <td>0.000000</td>\n <td>0.0</td>\n <td>...</td>\n <td>0.608392</td>\n <td>0.228795</td>\n <td>0.169567</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>0.0</td>\n </tr>\n <tr>\n <th>191905</th>\n <td>Michigan</td>\n <td>0.0</td>\n <td>0.75</td>\n <td>0.0</td>\n <td>0.000000</td>\n <td>Within past year (anytime less than 12 months ...</td>\n <td>1.0</td>\n <td>0.260870</td>\n <td>0.000000</td>\n <td>0.0</td>\n <td>...</td>\n <td>0.461538</td>\n <td>0.169494</td>\n <td>0.180077</td>\n <td>1.0</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>1.0</td>\n <td>0.0</td>\n <td>0.0</td>\n <td>0.0</td>\n </tr>\n </tbody>\n</table>\n<p>5 rows × 40 columns</p>\n</div>"
},
"execution_count": 75,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"test.head()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"Kolumny kategoryczne wypełniłem w czasie normalizacji wartościami \"Unknown\" ponieważ fillna-->median nie działa dla tego typu danych\n",
"(https://stackoverflow.com/questions/49127897/python-pandas-fillna-median-not-working)"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 76,
"outputs": [
{
"data": {
"text/plain": "0.0 42796\n1.0 1717\nName: HighRiskLastYear, dtype: int64"
},
"execution_count": 76,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"test[\"HighRiskLastYear\"].value_counts()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 77,
"outputs": [
{
"data": {
"text/plain": "0"
},
"execution_count": 77,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"test[\"HighRiskLastYear\"].isna().sum()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"### Brak wartości non-null:"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 78,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"Int64Index: 44513 entries, 339824 to 52161\n",
"Data columns (total 40 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 State 44513 non-null category\n",
" 1 Male 44513 non-null float64 \n",
" 2 GeneralHealth 44513 non-null float64 \n",
" 3 PhysicalHealthDays 44513 non-null float64 \n",
" 4 MentalHealthDays 44513 non-null float64 \n",
" 5 LastCheckupTime 44513 non-null category\n",
" 6 PhysicalActivities 44513 non-null float64 \n",
" 7 SleepHours 44513 non-null float64 \n",
" 8 RemovedTeeth 44513 non-null float64 \n",
" 9 HadHeartAttack 44513 non-null float64 \n",
" 10 HadAngina 44513 non-null float64 \n",
" 11 HadStroke 44513 non-null float64 \n",
" 12 HadAsthma 44513 non-null float64 \n",
" 13 HadSkinCancer 44513 non-null float64 \n",
" 14 HadCOPD 44513 non-null float64 \n",
" 15 HadDepressiveDisorder 44513 non-null float64 \n",
" 16 HadKidneyDisease 44513 non-null float64 \n",
" 17 HadArthritis 44513 non-null float64 \n",
" 18 HadDiabetes 44513 non-null float64 \n",
" 19 DeafOrHardOfHearing 44513 non-null float64 \n",
" 20 BlindOrVisionDifficulty 44513 non-null float64 \n",
" 21 DifficultyConcentrating 44513 non-null float64 \n",
" 22 DifficultyWalking 44513 non-null float64 \n",
" 23 DifficultyDressingBathing 44513 non-null float64 \n",
" 24 DifficultyErrands 44513 non-null float64 \n",
" 25 SmokerStatus 44513 non-null float64 \n",
" 26 ECigaretteUsage 44513 non-null float64 \n",
" 27 ChestScan 44513 non-null float64 \n",
" 28 RaceEthnicityCategory 44513 non-null category\n",
" 29 AgeCategory 44513 non-null category\n",
" 30 HeightInMeters 44513 non-null float64 \n",
" 31 WeightInKilograms 44513 non-null float64 \n",
" 32 BMI 44513 non-null float64 \n",
" 33 AlcoholDrinkers 44513 non-null float64 \n",
" 34 HIVTesting 44513 non-null float64 \n",
" 35 FluVaxLast12 44513 non-null float64 \n",
" 36 PneumoVaxEver 44513 non-null float64 \n",
" 37 TetanusLast10Tdap 44513 non-null float64 \n",
" 38 HighRiskLastYear 44513 non-null float64 \n",
" 39 CovidPos 44513 non-null float64 \n",
"dtypes: category(4), float64(36)\n",
"memory usage: 12.7 MB\n"
]
}
],
"source": [
"test.info()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 79,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"RangeIndex: 676777 entries, 0 to 676776\n",
"Data columns (total 40 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 State 676777 non-null category\n",
" 1 Male 676777 non-null float64 \n",
" 2 GeneralHealth 676777 non-null float64 \n",
" 3 PhysicalHealthDays 676777 non-null float64 \n",
" 4 MentalHealthDays 676777 non-null float64 \n",
" 5 LastCheckupTime 676777 non-null category\n",
" 6 PhysicalActivities 676777 non-null float64 \n",
" 7 SleepHours 676777 non-null float64 \n",
" 8 RemovedTeeth 676777 non-null float64 \n",
" 9 HadHeartAttack 676777 non-null float64 \n",
" 10 HadAngina 676777 non-null float64 \n",
" 11 HadStroke 676777 non-null float64 \n",
" 12 HadAsthma 676777 non-null float64 \n",
" 13 HadSkinCancer 676777 non-null float64 \n",
" 14 HadCOPD 676777 non-null float64 \n",
" 15 HadDepressiveDisorder 676777 non-null float64 \n",
" 16 HadKidneyDisease 676777 non-null float64 \n",
" 17 HadArthritis 676777 non-null float64 \n",
" 18 HadDiabetes 676777 non-null float64 \n",
" 19 DeafOrHardOfHearing 676777 non-null float64 \n",
" 20 BlindOrVisionDifficulty 676777 non-null float64 \n",
" 21 DifficultyConcentrating 676777 non-null float64 \n",
" 22 DifficultyWalking 676777 non-null float64 \n",
" 23 DifficultyDressingBathing 676777 non-null float64 \n",
" 24 DifficultyErrands 676777 non-null float64 \n",
" 25 SmokerStatus 676777 non-null float64 \n",
" 26 ECigaretteUsage 676777 non-null float64 \n",
" 27 ChestScan 676777 non-null float64 \n",
" 28 RaceEthnicityCategory 676777 non-null category\n",
" 29 AgeCategory 676777 non-null category\n",
" 30 HeightInMeters 676777 non-null float64 \n",
" 31 WeightInKilograms 676777 non-null float64 \n",
" 32 BMI 676777 non-null float64 \n",
" 33 AlcoholDrinkers 676777 non-null float64 \n",
" 34 HIVTesting 676777 non-null float64 \n",
" 35 FluVaxLast12 676777 non-null float64 \n",
" 36 PneumoVaxEver 676777 non-null float64 \n",
" 37 TetanusLast10Tdap 676777 non-null float64 \n",
" 38 HighRiskLastYear 676777 non-null float64 \n",
" 39 CovidPos 676777 non-null float64 \n",
"dtypes: category(4), float64(36)\n",
"memory usage: 188.5 MB\n"
]
}
],
"source": [
"train.info()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 80,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"Int64Index: 44514 entries, 66965 to 224311\n",
"Data columns (total 40 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 State 44514 non-null category\n",
" 1 Male 44514 non-null float64 \n",
" 2 GeneralHealth 44514 non-null float64 \n",
" 3 PhysicalHealthDays 44514 non-null float64 \n",
" 4 MentalHealthDays 44514 non-null float64 \n",
" 5 LastCheckupTime 44514 non-null category\n",
" 6 PhysicalActivities 44514 non-null float64 \n",
" 7 SleepHours 44514 non-null float64 \n",
" 8 RemovedTeeth 44514 non-null float64 \n",
" 9 HadHeartAttack 44514 non-null float64 \n",
" 10 HadAngina 44514 non-null float64 \n",
" 11 HadStroke 44514 non-null float64 \n",
" 12 HadAsthma 44514 non-null float64 \n",
" 13 HadSkinCancer 44514 non-null float64 \n",
" 14 HadCOPD 44514 non-null float64 \n",
" 15 HadDepressiveDisorder 44514 non-null float64 \n",
" 16 HadKidneyDisease 44514 non-null float64 \n",
" 17 HadArthritis 44514 non-null float64 \n",
" 18 HadDiabetes 44514 non-null float64 \n",
" 19 DeafOrHardOfHearing 44514 non-null float64 \n",
" 20 BlindOrVisionDifficulty 44514 non-null float64 \n",
" 21 DifficultyConcentrating 44514 non-null float64 \n",
" 22 DifficultyWalking 44514 non-null float64 \n",
" 23 DifficultyDressingBathing 44514 non-null float64 \n",
" 24 DifficultyErrands 44514 non-null float64 \n",
" 25 SmokerStatus 44514 non-null float64 \n",
" 26 ECigaretteUsage 44514 non-null float64 \n",
" 27 ChestScan 44514 non-null float64 \n",
" 28 RaceEthnicityCategory 44514 non-null category\n",
" 29 AgeCategory 44514 non-null category\n",
" 30 HeightInMeters 44514 non-null float64 \n",
" 31 WeightInKilograms 44514 non-null float64 \n",
" 32 BMI 44514 non-null float64 \n",
" 33 AlcoholDrinkers 44514 non-null float64 \n",
" 34 HIVTesting 44514 non-null float64 \n",
" 35 FluVaxLast12 44514 non-null float64 \n",
" 36 PneumoVaxEver 44514 non-null float64 \n",
" 37 TetanusLast10Tdap 44514 non-null float64 \n",
" 38 HighRiskLastYear 44514 non-null float64 \n",
" 39 CovidPos 44514 non-null float64 \n",
"dtypes: category(4), float64(36)\n",
"memory usage: 12.7 MB\n"
]
}
],
"source": [
"valid.info()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": null,
"outputs": [],
"source": [],
"metadata": {
"collapsed": false
}
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 0
}