Files
machine_learning_projects/3.宝可梦数据集分析/平时作业/病马数据集分析(1).ipynb
T
less IS more 36115579e0 平时实践任务
Signed-off-by: less IS more <13190735+wnflt@user.noreply.gitee.com>
2023-07-17 01:38:43 +00:00

959 lines
140 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": "code",
"execution_count": 25,
"id": "00faa3e3",
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"from sklearn import preprocessing\n",
"from sklearn.preprocessing import StandardScaler\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.metrics import accuracy_score,confusion_matrix,roc_curve,roc_auc_score\n",
"from sklearn.ensemble import RandomForestClassifier,BaggingClassifier,AdaBoostClassifier\n",
"from sklearn.naive_bayes import GaussianNB\n",
"from sklearn.tree import DecisionTreeClassifier\n",
"from sklearn.svm import SVC\n",
"from sklearn.linear_model import LogisticRegression\n",
"from sklearn.neighbors import KNeighborsClassifier\n",
"\n",
"plt.rcParams['font.sans-serif'] = ['SimHei']\n",
"plt.rcParams['axes.unicode_minus'] = False"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "15f3d4a6",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>直肠温度</th>\n",
" <th>脉搏</th>\n",
" <th>呼吸频率</th>\n",
" <th>红细胞体积</th>\n",
" <th>总蛋白值</th>\n",
" <th>y</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>38.5</td>\n",
" <td>66</td>\n",
" <td>28</td>\n",
" <td>45.0</td>\n",
" <td>8.4</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>39.2</td>\n",
" <td>88</td>\n",
" <td>20</td>\n",
" <td>50.0</td>\n",
" <td>85.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>38.3</td>\n",
" <td>40</td>\n",
" <td>24</td>\n",
" <td>33.0</td>\n",
" <td>6.7</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>39.1</td>\n",
" <td>164</td>\n",
" <td>84</td>\n",
" <td>48.0</td>\n",
" <td>7.2</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>37.3</td>\n",
" <td>104</td>\n",
" <td>35</td>\n",
" <td>74.0</td>\n",
" <td>7.4</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>361</th>\n",
" <td>38.6</td>\n",
" <td>60</td>\n",
" <td>30</td>\n",
" <td>40.0</td>\n",
" <td>6.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>362</th>\n",
" <td>37.8</td>\n",
" <td>42</td>\n",
" <td>40</td>\n",
" <td>36.0</td>\n",
" <td>6.2</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>363</th>\n",
" <td>38.0</td>\n",
" <td>60</td>\n",
" <td>12</td>\n",
" <td>44.0</td>\n",
" <td>65.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>364</th>\n",
" <td>38.0</td>\n",
" <td>42</td>\n",
" <td>12</td>\n",
" <td>37.0</td>\n",
" <td>5.8</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>365</th>\n",
" <td>37.6</td>\n",
" <td>88</td>\n",
" <td>36</td>\n",
" <td>44.0</td>\n",
" <td>6.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>366 rows × 6 columns</p>\n",
"</div>"
],
"text/plain": [
" 直肠温度 脉搏 呼吸频率 红细胞体积 总蛋白值 y\n",
"0 38.5 66 28 45.0 8.4 0.0\n",
"1 39.2 88 20 50.0 85.0 0.0\n",
"2 38.3 40 24 33.0 6.7 1.0\n",
"3 39.1 164 84 48.0 7.2 0.0\n",
"4 37.3 104 35 74.0 7.4 0.0\n",
".. ... ... ... ... ... ...\n",
"361 38.6 60 30 40.0 6.0 NaN\n",
"362 37.8 42 40 36.0 6.2 NaN\n",
"363 38.0 60 12 44.0 65.0 NaN\n",
"364 38.0 42 12 37.0 5.8 NaN\n",
"365 37.6 88 36 44.0 6.0 NaN\n",
"\n",
"[366 rows x 6 columns]"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = pd.read_csv('data_horse.csv', encoding='gbk')\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "50e7733a",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"RangeIndex: 366 entries, 0 to 365\n",
"Data columns (total 6 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 直肠温度 366 non-null float64\n",
" 1 脉搏 366 non-null int64 \n",
" 2 呼吸频率 366 non-null int64 \n",
" 3 红细胞体积 366 non-null float64\n",
" 4 总蛋白值 366 non-null float64\n",
" 5 y 357 non-null float64\n",
"dtypes: float64(4), int64(2)\n",
"memory usage: 17.3 KB\n"
]
}
],
"source": [
"# 缺失值检测\n",
"df.info()"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "ecd6e86b",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>直肠温度</th>\n",
" <th>脉搏</th>\n",
" <th>呼吸频率</th>\n",
" <th>红细胞体积</th>\n",
" <th>总蛋白值</th>\n",
" <th>y</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>366.000000</td>\n",
" <td>366.000000</td>\n",
" <td>366.000000</td>\n",
" <td>366.000000</td>\n",
" <td>366.000000</td>\n",
" <td>357.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>30.945902</td>\n",
" <td>65.808743</td>\n",
" <td>24.603825</td>\n",
" <td>41.173224</td>\n",
" <td>21.796721</td>\n",
" <td>0.613445</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>14.950152</td>\n",
" <td>32.676103</td>\n",
" <td>19.968438</td>\n",
" <td>17.092791</td>\n",
" <td>27.142298</td>\n",
" <td>0.487644</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>37.200000</td>\n",
" <td>48.000000</td>\n",
" <td>12.000000</td>\n",
" <td>36.000000</td>\n",
" <td>6.100000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>38.000000</td>\n",
" <td>60.000000</td>\n",
" <td>21.500000</td>\n",
" <td>43.000000</td>\n",
" <td>7.150000</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>38.400000</td>\n",
" <td>86.000000</td>\n",
" <td>35.000000</td>\n",
" <td>50.000000</td>\n",
" <td>53.750000</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>40.800000</td>\n",
" <td>184.000000</td>\n",
" <td>96.000000</td>\n",
" <td>75.000000</td>\n",
" <td>89.000000</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 直肠温度 脉搏 呼吸频率 红细胞体积 总蛋白值 y\n",
"count 366.000000 366.000000 366.000000 366.000000 366.000000 357.000000\n",
"mean 30.945902 65.808743 24.603825 41.173224 21.796721 0.613445\n",
"std 14.950152 32.676103 19.968438 17.092791 27.142298 0.487644\n",
"min 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000\n",
"25% 37.200000 48.000000 12.000000 36.000000 6.100000 0.000000\n",
"50% 38.000000 60.000000 21.500000 43.000000 7.150000 1.000000\n",
"75% 38.400000 86.000000 35.000000 50.000000 53.750000 1.000000\n",
"max 40.800000 184.000000 96.000000 75.000000 89.000000 1.000000"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 整体统计分布\n",
"df.describe()"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "b259231f",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>直肠温度</th>\n",
" <th>脉搏</th>\n",
" <th>呼吸频率</th>\n",
" <th>红细胞体积</th>\n",
" <th>总蛋白值</th>\n",
" <th>y</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>直肠温度</th>\n",
" <td>1.000000</td>\n",
" <td>0.120148</td>\n",
" <td>0.158018</td>\n",
" <td>0.061343</td>\n",
" <td>0.055913</td>\n",
" <td>0.172629</td>\n",
" </tr>\n",
" <tr>\n",
" <th>脉搏</th>\n",
" <td>0.120148</td>\n",
" <td>1.000000</td>\n",
" <td>0.382535</td>\n",
" <td>0.265804</td>\n",
" <td>-0.013928</td>\n",
" <td>-0.276255</td>\n",
" </tr>\n",
" <tr>\n",
" <th>呼吸频率</th>\n",
" <td>0.158018</td>\n",
" <td>0.382535</td>\n",
" <td>1.000000</td>\n",
" <td>0.092584</td>\n",
" <td>-0.050794</td>\n",
" <td>-0.036938</td>\n",
" </tr>\n",
" <tr>\n",
" <th>红细胞体积</th>\n",
" <td>0.061343</td>\n",
" <td>0.265804</td>\n",
" <td>0.092584</td>\n",
" <td>1.000000</td>\n",
" <td>0.152847</td>\n",
" <td>-0.152119</td>\n",
" </tr>\n",
" <tr>\n",
" <th>总蛋白值</th>\n",
" <td>0.055913</td>\n",
" <td>-0.013928</td>\n",
" <td>-0.050794</td>\n",
" <td>0.152847</td>\n",
" <td>1.000000</td>\n",
" <td>0.114651</td>\n",
" </tr>\n",
" <tr>\n",
" <th>y</th>\n",
" <td>0.172629</td>\n",
" <td>-0.276255</td>\n",
" <td>-0.036938</td>\n",
" <td>-0.152119</td>\n",
" <td>0.114651</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 直肠温度 脉搏 呼吸频率 红细胞体积 总蛋白值 y\n",
"直肠温度 1.000000 0.120148 0.158018 0.061343 0.055913 0.172629\n",
"脉搏 0.120148 1.000000 0.382535 0.265804 -0.013928 -0.276255\n",
"呼吸频率 0.158018 0.382535 1.000000 0.092584 -0.050794 -0.036938\n",
"红细胞体积 0.061343 0.265804 0.092584 1.000000 0.152847 -0.152119\n",
"总蛋白值 0.055913 -0.013928 -0.050794 0.152847 1.000000 0.114651\n",
"y 0.172629 -0.276255 -0.036938 -0.152119 0.114651 1.000000"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 可视化各元素之间的相关性,各变量间相关性不弱,可能会影响后期的分类算法\n",
"df.corr()"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "487963cd",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"y 1.000000\n",
"直肠温度 0.172629\n",
"总蛋白值 0.114651\n",
"呼吸频率 -0.036938\n",
"红细胞体积 -0.152119\n",
"脉搏 -0.276255\n",
"Name: y, dtype: float64"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 可视化变量y与其他变量的相关性\n",
"df.corr()['y'].sort_values(ascending=False)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "c43eb497",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>直肠温度</th>\n",
" <th>脉搏</th>\n",
" <th>红细胞体积</th>\n",
" <th>总蛋白值</th>\n",
" <th>y</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>38.5</td>\n",
" <td>66</td>\n",
" <td>45.0</td>\n",
" <td>8.4</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>39.2</td>\n",
" <td>88</td>\n",
" <td>50.0</td>\n",
" <td>85.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>38.3</td>\n",
" <td>40</td>\n",
" <td>33.0</td>\n",
" <td>6.7</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>39.1</td>\n",
" <td>164</td>\n",
" <td>48.0</td>\n",
" <td>7.2</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>37.3</td>\n",
" <td>104</td>\n",
" <td>74.0</td>\n",
" <td>7.4</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 直肠温度 脉搏 红细胞体积 总蛋白值 y\n",
"0 38.5 66 45.0 8.4 0.0\n",
"1 39.2 88 50.0 85.0 0.0\n",
"2 38.3 40 33.0 6.7 1.0\n",
"3 39.1 164 48.0 7.2 0.0\n",
"4 37.3 104 74.0 7.4 0.0"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 剔除相关性弱的变量\n",
"df = df[df.columns[df.corr()['y'].abs()>0.1]]\n",
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "c8bf5784",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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Ozc++MEPxve+972YNWtWxtx3H8rSp0+fA65TVVUVN954Y7bKBoDj0oQJE1q986y8vDw2btwYNTU1MWbMmOjbt28OqgOA/Jf1ne5XX301zj333PT3voqKimLYsGHx9ttvt+uhLJ6ECgC5VVZWFlOmTBG4AeAgsh66BwwYELt27cro+81vfhP/8i//0q6HsngSKgAAAPku66H7ggsuiPr6+li2bFm8+uqrcdNNN8Xzzz8f48eP91AWAAAAjilZ/053aWlpPPLII/GlL30prr322ujfv3+sXLkyhgwZEtXV1TF9+vSorKyMvXv3xlNPPZXt8gAAAKDDZD10R0SMHj06/r//7/87oN9DWQAAADiW5CR0H0xZWVmUlZXlugwAAAA4aln/TjcAAAAcL4RuAAAASIjQDQAAAAkRugEAACAhQjcAAAAkROgGAACAhAjdAAAAkBChGwAAABIidAMAAEBChG4AAABIiNANAAAACRG6AQAAICFCNwAAACRE6AYAAICECN0AAACQEKEbAAAAEiJ0AwAAQEKEbgAAAEiI0A0AAAAJEboBAAAgIUI3AAAAJEToBgAAgIQI3QAAAJAQoRsAAAASInQDAABAQoRuAAAASIjQDQAAAAkRugEAACAhQjcAAAAkROgGAACAhAjdAAAAkBChGwAAABIidAMAAEBChG4AAABIiNANAAAACRG6AQAAICFCNwAAACRE6AYAAICECN0AAACQkKJcFwAAHJ+23frvkerW7YD+vldemoNqACAZdroBAAAgIUI3AAAAJEToBgAAgIQI3QAAAJAQoRsAAAASInQDAABAQoRuAKBVq1evjsGDB0dRUVGce+65UV9fHxERFRUVUVBQkD6GDBmS40oBIH8J3QDAAV566aWYNWtWLFiwILZs2RKnnXZaXH755RER8eyzz8aaNWuisbExGhsb47nnnstxtQCQv4pyXQAAkH/q6+tj/vz5cckll0RExJVXXhkTJ06MPXv2RG1tbYwdOzZ69OiR4yoBIP/Z6QYADjBp0qSYM2dOuv3CCy/EkCFDYsOGDdHS0hIjRoyIbt26xcSJE2Pz5s05rBQA8pvQDQAc1O7du2PhwoVx1VVXRV1dXQwdOjTuvvvuqKuri86dO8fs2bMPen4qlYrm5uaMAwCOF24vBwAO6oYbbogePXrEFVdcEZ07d44ZM2akx5YsWRKD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fvazSdQHABwhazYA5F67d7p//vOfx4YNG6JLly4REdG1a9eYN29eDBs2rMOLAwCOnDUbAHKv3TvdH/zgB+P222/P6Lv99tvj7LPP7rCiAICjZ80GgNxr90730qVLY8KECXHnnXfGoEGD4uWXX44dO3bEY489lkR9AMARsmYDQO61O3SfffbZ8eKLL8aPfvSjaGhoiJkzZ8YFF1wQJ5xwQhL1AQBHyJoNALnX7tvL6+rq4rzzzovCwsKorKyMr3/963HuuefGiy++mER9AMARsmYDQO4d0dPLP/7xj8f48eMjIuKZZ56JSZMmxZw5czq8OADgyFmzASD32n17+fPPPx+rVq2KXr16RUTECSecEBUVFXHWWWd1eHEAwJGzZgNA7h3R08vvuOOOjL477rgjhg4d2mFFAQBHz5oNALnX7p3u73znO3H++efH7bffHgMHDoxXXnklGhsb45FHHkmiPgDgCFmzASD32h26zznnnNi4cWM89NBD8eqrr8ZnPvOZuOCCC6Jnz55J1AcAHCFrNgDkXrtDd0REz54942//9m87uhYAoINZswEgt9r9nW4AAADg8AjdAAAAkBChGwAAABIidAMAAEBCjuhBagAAtO0/b57cav9fzf5RlisBINfsdAMAAEBChG4AAABIiNvL4Th0wX23HHLOmos+m4VKAADg2GanGwAAABIidAMAAEBChG4AAABIiNANAAAACRG6AYA2bd++PQYNGhSbNm1K91VUVERBQUH6GDJkSO4KBIA85+nlAECrtm3bFpMnT84I3BERzz77bKxZsybGjBkTERGFhYU5qA4A3htyttO9ffv2+MUvfhHbtm3LVQkAwEFMmzYtpk2bltG3Z8+eqK2tjbFjx0bv3r2jd+/e0bNnzxxVCAD5Lyehe+XKlTFkyJC4+uqr49RTT42VK1dGRERtbW2MGjUq+vTpE5WVldHS0pKL8gCAiKiuro4vfOELGX0bNmyIlpaWGDFiRHTr1i0mTpwYmzdvzlGFAJD/sh6633zzzaioqIinn346nnvuubj55pvjuuuui1QqFZMnT46RI0dGTU1N1NXVxfLly7NdHgDwR4MHDz6gr66uLoYOHRp333131NXVRefOnWP27NkHvU4qlYrm5uaMAwCOF1n/TveOHTti8eLFcfbZZ0dExPDhw6OxsTHWrl0bTU1NsWjRoujevXvM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smVL1NTUxJgxY6Jv3765Lgfesz784Q/HpEmT4qtf/Wqr45/97GfjRz/6UfTo0SNeffXVeP7552PRokXx7//+79G5c+eIiPjDH/4Qb7/9dkYQnzx5cvTu3TuWLVsWP/zhD2P69OmtXv+OO+6ISy+99KA1TpkyJU4++eRYunTpkf+gQE5YryG71q9fH3fccUe6/eUvfzn69+8fTz/9dFx99dVRUFAQixYtir/+67/OOO/v/u7v4txzz42rrroqo7+srCw2bNgQd911V2zbtq3N/14Ajk5e/jqrrKwspkyZYgGHdvjUpz4V/fr1S+8aDxw4MP77v/87li5dmm6fdtppcdJJJ8X8+fMjIqJr166xcOHC+PWvfx1nn312dO7cOaqrq6OpqSm2bdsWzzzzTPTo0SM+97nPZex833///dGnT59YunRpdOnSJT796U/Hrl27Mo7Wwva//Mu/xF/8xV9k1PjMM8/EypUr0+2ysrLo1atX7N27N2t/dsCRsV5Ddr388svxX//1X/GRj3wkVq5cGU1NTbF3794477zz4vnnn48rrrginnzyyQPO69atW3Tv3j2ampriIx/5SHz84x+PcePGxe9///u46KKL4oEHHognnngizjvvvNi6dWsOfjI4tuXVg9SAI/fDH/7wgL73ve998dOf/jT+8i//stVz/vz7l3/a3r59e3zyk5+MK664Iv75n/853b9nz57Ys2dP3HTTTdHS0hIPPvhgrF69Ok455ZSMa7311lsxYcKEjL49e/bE1KlT47vf/W7s3r07Vq1aFdOmTYuioqJIpVJxyy23xOzZs9O77ADA/ygsLIxTTz01ysvL4/rrr4/i4uL47Gc/G6tWrYouXbrE4MGDo6amJj2/oaEhfvnLX8aWLVvil7/8ZfTv3z9+8IMfRNeuXaOoqCg+9KEPxfLly+OEE06IlpaW2LNnT5x00kk5/Anh2JSXO93Akdm2bVvGLvLvf//7mDBhQkbfnj17Ms65//7746tf/Wr89re/Tfe9/fbbUV5eHh/72McyAndExKpVq2LSpEnx9ttvR0FBQRQUFMTUqVNj27ZtGce0adNarbGgoCB27doVu3fvjs985jPp74/t3bs3KioqYt++ffH222938J8MALz3FRQUxGuvvRY//elPY+fOnRER8b3vfS/eeuut+NnPfpZe45uamuIzn/lMvPzyy7FixYp48cUX4xe/+EXcd9998a1vfSv+6q/+Kj72sY/Fa6+9Fueff3587GMfizPOOCOefvppD0SEBNjphmNI586d49VXXz0gWEfs33nu2bPnAQ9I27p1a3Tp0iUddH/zm9/E5ZdfHnv27Il58+bFq6++GhH7X/nTt2/fKC8vj+rq6pg9e3bcfvvt7boNvKWlJTp37hyf+MQnoqmpKSIiPvShD6XHIiL+6q/+Kt555534j//4j+jZs2f7/xAA4BhVUFAQzz//fHz1q1+Nbdu2RUtLS7z99tvRtWvXiIhIpVIREVFZWRkNDQ0xbNiwuOuuu2LOnDkxevTomDlzZlxzzTXxkY98JD70oQ/F/Pnz49JLL40uXbrEnXfeGV26dMnljwfHLKEbjiGFhYWxd+/eVp8E3tLS0upvr6+++uq49NJL48Mf/nBERFx55ZVRW1sbjY2NMWbMmNixY0f07t07zjnnnFi9enV07949fvjDH8b1118fe/bsiYKCgvjJT37S6tPMJ02alNF+++23o7i4OH7+85/Hzp0744QTToh77703IiJ2794dQ4cOjeeee87TUwGgFXv37o2JEyfG8uXL48wzz4ytW7fG6NGjo6mpKa699tr41a9+FRUVFfHyyy/Ho48+GsXFxelzX3zxxViyZElERJSWlsYpp5wShYWFUVZWFsXFxdGtW7dc/VhwzBO64RhTWFgYmzZtOqD/rbfeynjtV0TEvn37Dpj30EMPxTe/+c34zW9+E6WlpbFr164YPnx4/OxnP0vPKSkpifnz50dRUVFceOGFceGFFx5WbX/4wx8yvis2e/bsWLhwYUZ7z549ftMOAK14dyf7XSeffHL87ne/i0GDBsWHPvSh6N69e9x///3xwgsvRHFxcfz617+OH/zgB/Hwww9Ht27dorKyMlpaWmL16tXx05/+NJqamuIb3/hGdOrUKV599dVW/7sAOHpCNxxj9u7dG2efffYB/a0tpG+99VZ8+ctfjq9+9avp28ibmppiyZIl8ZOf/CSuuuqq+MIXvhAvvvhilJaWps/7wx/+EGeccUY0NDTESSedFJ06dYqdO3dGcXFx7Nu3L955553o0aNH/OEPf4hdu3alz9u6dWuMGDEi5s2bF6tWrYqIiBNOOCE9vmvXrvi///f/xje+8Y0O+/MAgGNFc3NzrFq1Kh566KF48803IyLit7/9bTQ3N8cZZ5wR73//+6OoqCheeOGFGDlyZOzevTs6d+4cw4cPj4suuihmzpwZX/7yl2Px4sVx0UUXxRlnnBHr1q2Lr3zlK9G5c+cYPHhwbn9AOEa5hxOOMYWFhVFbW3vA8Z//+Z8HzH3ttdfie9/7XvqVYU1NTTFt2rSYOXNmdOvWLf77v/87PvGJT8Tvfve7jND90EMPxahRo6JLly7RuXPn+K//+q+49NJLY/Xq1fHtb387Lr300nj11VcPeAr5r3/96zjllFPin//5n6O+vj569+4d3/jGN+L555+Pm2++OXbv3h3/8A//kPifEQC8F23atCm++c1vxrZt22LIkCERsf+BqB/72MeioKAgIiK+8pWvxGWXXRZvvvlmnHXWWTFv3rwoKyuLiIhbbrklHnzwwbjuuutiyJAhsXfv3hg+fHh897vfjR/84Adx0UUXRX19fc5+PjhWCd1wjNm7d28MGTLkgGP48OEHzP3lL3+Z8f3v73//+9GrV6+48cYb45prrok5c+ZE9+7d4/XXX88I3d///vfj05/+dETEQb9//adjzc3N8d///d8xcuTIiIgoKiqKO+64I+bMmRM33XRTTJ8+PVatWhXve9/7jvaPAACOSS+//HKcccYZ6fabb74ZCxcujFmzZqX7PvWpT8WHPvShGDt2bLzyyisZ58+aNStqa2vjb/7mb6KmpiZ+/etfx69//es499xzY+XKlVFXV5dxfaBjCN1wDNi7d2/s3r07IvbvdL+7iP7psX79+vT83bt3x8svvxyNjY3xgQ98IH2NL37xi3H33XfHvHnzYsuWLfGP//iPERGxefPm9IPSfvWrX8WTTz4Zn/rUp9pV4/e+970477zzokePHhGx/1byV155JcrKyuKLX/xinHjiifHCCy/EL3/5y/j973+ffpo5ALD/gag/+9nP4i//8i/jtddei507d8ZPf/rTGDhwYEyaNCn27duX/mV3dXV1fOADH4j3ve998f3vfz/WrVsXXbp0iaKioujatWv86le/im9+85uxe/fueO655+K1116LiP1vKvEwU+h4BS3+yxbe8x5++OG4+OKLo1u3bunby9ry7utFrrvuutiwYUOsWLEi/uZv/iYeffTRWLduXcybNy9eeeWVePLJJ+NrX/tarFu3LmpqamLjxo0xaNCgWLVqVdx1113xla98JT7x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NDU1pY+GhoZslA0Ax52CgoI455xzYvny5bF69eoDfiHeu3fv2LdvX2zdurXV863ZABzPcha6/3wBLy0tjTfeeCNjzo4dO6JLly6tnl9cXBwlJSUZBwDQcZ544omorKxMt4uKiiIi4mtf+1qsWrUq3b9u3bro1KlTmzvY1mwAjmdF2f7AJ554ItauXRvf+ta39hfwxwX8zDPPjFtvvTU9b9OmTZFKpaK0tDTbJQIAsX9tLi8vj/e///1x/vnnxw033BDjx4+Pc845J+bNmxf9+/ePPXv2REVFRcycOTP9XBYA4H9kfaf7zDPPjJtvvjmqq6ujoaEhrr/++hg/fnxccMEF0dTUFCtWrIiIiAULFsS4ceOisLAw2yUCABFx8sknxz333BOLFy+OoUOHxs6dO+OOO+6Iyy67LC6++OKYMmVKzJw5M8aPHx833XRTrssFgLxU0NLS0pLtD3300Ufji1/8Yrz66qsxYcKE+O53vxt9+/aNBx98MKZPnx49e/aMvXv3xlNPPRVDhw49rGs2NzdHr1694qV/qY6e3bodMN73yks7+scAgES8u6Y1NTUdk7dit7ZmW6cBeK853PU667eXR0RMmDCh1deBlZeXx8aNG6OmpibGjBkTffv2zUF1AAAA0DFyEroPpqysLMrKynJdBgAAABy1nD29HAAAAI51QjcAAAAkROgGAACAhAjdAAAAkBChGwAAABIidAMAAEBChG4AAABIiNANAAAACRG6AQAAICFCNwAAACRE6AYAAICECN0AAACQEKEbAAAAEiJ0AwAAQEKEbgAAAEiI0A0AAAAJEboBAAAgIUI3AAAAJEToBgAAgIQI3QAAAJAQoRsAAAASInQDAABAQoRuAAAASIjQDQAAAAkRugEAACAhQjcAAAAkROgGAACAhAjdAAAAkBChGwAAABIidAMAAEBChG4AAABIiNANAAAACRG6AQAAICFCNwAAACRE6AYAAICECN0AAACQEKEbAAAAEiJ0AwAAQEKEbgAAAEiI0A0AHNT27dvjF7/4RWzbti3XpQDAe47QDQC0aeXKlTFkyJC4+uqr49RTT42VK1dGRERtbW2MGjUq+vTpE5WVldHS0pLjSgEgPwndAECr3nzzzaioqIinn346nnvuubj55pvjuuuui1QqFZMnT46RI0dGTU1N1NXVxfLly3NdLgDkJaEbAGjV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dDeCfJl6DarZIiJybeuoXveoK90RERGYzeaAmMViobGxMaiI/+IXvyAnJ8d47fP5OHv2LP369SMsLOyy9FdERKQ7+P1+GhoaGDx48JXuSkhfpl6DaraIiFybOluve9Sgu2/fvpSXlwfEGhoaiIqKCmprNpuDCn6fPn26s3siIiKXTXx8/JXuQpu+TL0G1WwREbl2daZe96iJ1MaNG8c777xjvLZarbhcLvr27XsFeyUiIiIXU70WERHpvB416J44cSLnz5/nD3/4AwB5eXnce++9hIeHX+GeiUiLHjQNhIhcIarXIiIindejJlID2LlzJw899BC9evXC6/VSUlJCSkrKle6WSI+yd+9ebr/99qDbNdvi8Xiorq4mMTGxy/tevXo1p06dYtWqVV1+LxG5eqlei3Sdy+UKmgvh+PHj9O/fn4SEhKC2ERERXT65derUKYYNG9bp9mfPng24i8XhcOD3+43VC0SkYz3qSjdAZmYmFRUVbNiwgePHj6uAi7Ry7tw5MjMzOXnyZKe3ef3117n99ttxtLFkXigLFy5kyJAhpKamEh8fT1FREQC7d+9myJAh7W67fft2Zs2aFRBbtmxZwERKoZw5c4bi4mKefPJJ3nzzzU73VUQuP9Vrka77/e9/z+TJk3E6v1hebPHixSxatCio7be//W1SUlJITU01vmJjY0lKSgqIhYeH89RTT7W5z3vuuYeNGzd2qn/V1dUMHDiQw4cPG7GtW7eSkpKiO99EvoQeNZFaiyFDhnT4T73I/6oNGzYwY8YM0tLSgOale7Zs2UJ0dDR2u524uDgcDgcZGRn8+c9/Bppv/XzuueeIjm5eG3n48OF4PMHrpqalpfH6668DEBUVxeLFi8nOzmbq1KlERkby2WefsXfvXtasWdNuH//2t78FnaGPiooiMjIyZPvf/OY3rFixApPJRGRkJAsWLGDo0KHcf//9HDlyxOi30+lk0KBBvPfee1/iiIlId1G9Fuman/zkJxQUFLBt2zYeeeQRzp07x1tvvcWxY8eC2u7btw+AN998k8TEREaMGMGdd97JokWLmDRpEtB88nrmzJkhB+0A//jHP4iKimLmzJmd6t/WrVuZMGECxcXFTJ06FZPJ1LyufUMDX/va1wBoampi9erVTJky5VIOgcj/hB53pVtE2maz2di4cSNLliyhvr6e++67j6VLl/LZ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\n",
"text/plain": [
"<Figure size 1000x1000 with 4 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# 观测每个变量分布\n",
"fig, axes = plt.subplots(2, 2, figsize=(10, 10))\n",
"\n",
"for i, column in enumerate(df.columns[:-1]):\n",
" ax = axes[i // 2, i % 2] # 获取当前子图\n",
" ax.tick_params(axis='x', which='both', bottom=False, top=False, labelbottom=False) # 不显示x轴刻度和标签\n",
"\n",
" sns.countplot(x=column, data=df, ax=ax) # 绘制柱状图\n",
"\n",
"plt.tight_layout() # 调整子图布局\n",
"plt.show()\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "e4ea7074",
"metadata": {},
"outputs": [],
"source": [
"# 把异常点转化为缺失值\n",
"df[df.columns[:-1]] = df[df.columns[:-1]].replace(0, np.nan)"
]
},
{
"cell_type": "code",
"execution_count": 57,
"id": "7e892e12",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>直肠温度</th>\n",
" <th>脉搏</th>\n",
" <th>红细胞体积</th>\n",
" <th>总蛋白值</th>\n",
" <th>y</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>38.5</td>\n",
" <td>66.0</td>\n",
" <td>45.0</td>\n",
" <td>8.4</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>39.2</td>\n",
" <td>88.0</td>\n",
" <td>50.0</td>\n",
" <td>85.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>38.3</td>\n",
" <td>40.0</td>\n",
" <td>33.0</td>\n",
" <td>6.7</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>39.1</td>\n",
" <td>164.0</td>\n",
" <td>48.0</td>\n",
" <td>7.2</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>37.3</td>\n",
" <td>104.0</td>\n",
" <td>74.0</td>\n",
" <td>7.4</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 直肠温度 脉搏 红细胞体积 总蛋白值 y\n",
"0 38.5 66.0 45.0 8.4 0.0\n",
"1 39.2 88.0 50.0 85.0 0.0\n",
"2 38.3 40.0 33.0 6.7 1.0\n",
"3 39.1 164.0 48.0 7.2 0.0\n",
"4 37.3 104.0 74.0 7.4 0.0"
]
},
"execution_count": 57,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 缺失值的填充\n",
"df['直肠温度'] = df['直肠温度'].fillna(df['直肠温度'].mean())\n",
"df[['脉搏','红细胞体积','总蛋白值']] = df[['脉搏','红细胞体积','总蛋白值']].fillna(df[['脉搏','红细胞体积','总蛋白值']].median())\n",
"df.isnull().sum()\n",
"df = df.dropna()\n",
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "982382b1",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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8LLwox/9KD09PTn++OOz33775dRTT82jjz465DvTEnenAfDyNuKh+7HHHssJJ5yQurq6JElNTU2mT5+ezZs356mnnuqztqurK2PGjBnwPLW1tTnwwAP7bADA8Ghra8sxxxyTm266KW1tbdl3331z4YUXDvnOtMTdaQC8vI146J4yZUo2bdrUZ+y//uu/8rnPfS5r1qzpHduwYUPK5XJvOAcARs4555yTNWvWpLGxMQ0NDbnqqqty7733Zvv27UO6My1xdxoAL28jHrrnzJmTdevW5Zprrsljjz2Wz3/+83nooYdy8sknp1QqZcWKFUmSJUuWZPbs2amurh7pEgGA3zFx4sRs3749hx566JDuTEvcnQbAy9uIh+66urrcfffduf766/Oa17wmV155ZW6++eZMmzYty5Yty0UXXZRDDjkkt9xyS5YsWTLS5QEAST784Q9n5cqVvfvf//73s88+++R1r3udO9MAYAhqKvGhM2fOzL/927/1G58/f37Wr1+flpaWzJo1K5MnT65AdQDA8ccfn8svvzyHHnpotm7dmksvvTTnn39+nzvTzjvvPHemAcBOVCR070h9fX3q6+srXQYAvKydd955WbduXU477bSMHz8+p59+ehYtWpSamposW7YsCxYsSFNTU7Zt25bVq1dXulwAGLVGXegGAEaHxYsXZ/Hixf3G3ZkGALtO6AYAhsydaQCwa0b8QWoAAADwciF0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEEqErovvfTSVFVV9W7Tpk1LkrS2tqaxsTGTJk1KU1NT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PPLII+no6Mjdd99dRH0AwG7SswGg8oYcul//+tdn/fr1ufPOO/PYY4/lne98Z+bMmZPx48cXUR8AsJv0bACovCGH7iQZP3583vGOdwx3LQDAMNOzAaCyhvydbgAAAGDXCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQSoWup9++ul873vfy8aNGytVAgAAABSqIqH75ptvzrRp03LJJZfkla98ZW6++eYkSWtraxobGzNp0qQ0NTWlp6enEuUBAADAsBjx0P2b3/wml156aR588MH88Ic/zLXXXpuPfvSjKZfLmTdvXmbMmJGWlpa0tbWlubl5pMsDAACAYTPioburqytXXnlljj322CTJcccdl46OjqxatSqlUilLly7N1KlTs2jRoixfvnykywMAAIBhUzPSHzhlypScc845SZLnn38+V1xxRc4444ysXbs2M2fOzLhx45Ik06dPT1tb26DnKZfLKZfLvfudnZ3FFg4AAABDNOKh+0Vr167NH//xH2fMmDH5yU9+kk9/+tNpaGjona+qqkp1dXU6OjoyadKkfscvXrw4n/rUp0ayZBj15tx21Q7n7zrjfSNUCQAAkFTw6eXTp0/Pfffdl2OOOSYXXHBBampqUltb22fN2LFj093dPeDxCxcuTKlU6t3a29tHomwAAADYZRUL3VVVVXn961+f5ubm3HHHHamrq8tTTz3VZ01XV1fGjBkz4PG1tbU58MAD+2wAAAAwmox46L7//vvT1NTUu19T88Id7q997WuzZs2a3vENGzakXC6nrq5upEsEAACAYTHiofu1r31trr322ixbtizt7e352Mc+lpNPPjlz5sxJqVTKihUrkiRLlizJ7NmzU11dPdIlAgAAwLAY8dB92GGH5etf/3quvPLKHHPMMenu7s7111+fmpqaLFu2LBdddFEOOeSQ3HLLLVmyZMlIlwcAAADDpiJPLz/llFMGfB3Y/Pnzs379+rS0tGTWrFmZPHlyBaoDAACA4VGxV4YNpr6+PvX19ZUuAwAAAPZYxZ5eDgAAAHs7oRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgILUVLoAAIBKeOyqCwccP/x9145wJQDszVzpBgAAgIII3QAAAFAQoRsAGNAdd9yRI488MjU1NTnhhBOybt26JElra2saGxszadKkNDU1paenp8KVAsDoJXQDAP384he/yAUXXJAlS5bk8ccfz6te9aq8613vSrlczrx58zJjxoy0tLSkra0tzc3NlS4XAEYtoRsA6GfdunVZtGhR3va2t+WQQw7Je9/73rS0tGTVqlUplUpZunRppk6dmkWLFmX58uWVLhcARi1PLwcA+pk7d26f/Z/+9KeZNm1a1q5dm5kzZ2bcuHFJkunTp6etrW2H5yqXyymXy737nZ2dw18wAIxSrnQDADu0ZcuWXHHFFbn44ovT2dmZhoaG3rmqqqpUV1eno6Nj0OMXL16cCRMm9G5TpkwZibIBYFQQugGAHfr4xz+eAw44IO95z3tSU1OT2traPvNjx45Nd3f3oMcvXLgwpVKpd2tvby+6ZAAYNdxeDgAM6p//+Z9zzTXXZM2aNdl3331TV1eX1tbWPmu6uroyZsyYQc9RW1vbL6gDwMuFK90AwIAefvjhnHPOObn66qtz9NFHJ0kaGxuzZs2a3jUbNmxIuVxOXV1dpcoEgFFN6AYA+tm0aVPmzp2b+fPn57TTTsuzzz6bZ599NieeeGJKpVJWrFiRJFmyZElmz56d6urqClcMAKOT28sBgH7uueeerFu3LuvWrct1113XO/7II49k2bJlWbBgQZqamrJt27asXr26gpUCwOgmdAMjbt4tt+90zbfOOn0EKgEGM3/+/PT09Aw4d8QRR2T9+vVpaWnJrFmzMnny5BGuDgBeOoRuAGDI6uvrU19fX+kyAGDU851uAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCA1lS4A2HvMveXmHc7fedbZI1QJAACMDq50AwAAQEEqErrvuOOOHHnkkampqckJJ5yQdevWJUlaW1vT2NiYSZMmpampKT09PZUoDwAAAIbFiIfuX/ziF7nggguyZMmSPP7443nVq16Vd73rXSmXy5k3b15mzJiRlpaWtLW1pbm5eaTLAwAAgGEz4qF73bp1WbRoUd72trflkEMOyXvf+960tLRk1apVKZVKWbp0aaZOnZpFixZl+fLlI10eAAAADJsRf5Da3Llz++z/9Kc/zbRp07J27drMnDkz48aNS5JMnz49bW1tg56nXC6nXC737nd2dhZTMAAAAOymij69fMuWLbniiivyoQ99KA8//HAaGhp656qqqlJdXZ2Ojo5MmjSp37GLFy/Opz71qZEsF4bVW27/xA7nv336/x6hSvYe82+5f4fz3zjrT0aoEgAAeEFFn17+8Y9/PAcccEDe8573pKamJrW1tX3mx44dm+7u7gGPXbhwYUqlUu/W3t4+EiUDAADALqvYle5//ud/zjXXXJM1a9Zk3333TV1dXVpbW/us6erqypgxYwY8vra2tl9IBwAAgNGkIle6H3744Zxzzjm5+uqrc/TRRydJGhsbs2bNmt41GzZsSLlcTl1dXSVKBAAAgD024qF706ZNmTt3bubPn5/TTjstzz77bJ599tmceOKJKZVKWbFiRZJkyZIlmT17dqqrq0e6RAAAABgWI357+T333JN169Zl3bp1ue6663rHH3nkkSxbtiwLFixIU1NTtm3bltWrV490eQAAADBsRjx0z58/Pz09PQPOHXHEEVm/fn1aWloya9asTJ48eYSrAwDYNf959VsHnZv+3m+OYCUAjGYVfWXYQOrr61NfX1/pMgAAAGCPVfSVYQAAALA3E7oBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUJCaShcAAEBlXN98yoDj7zz/nhGuhJeqt95y54Dj3zxr7ghXAqOXK90AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiIB6nxsnXZLafucP5zZ909QpUAAAB7K1e6AQAAoCBCNwAAABTE7eUAALAb3nL74kHnvn36whGshMG8/db1g8597cxXj2AlvJy50g0AAAAFEboBAACgIG4vh5ehObdet9M1d5357hGoBAAA9m6udAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCAepAYAMICfX3XagOPT3nfHCFcCvJx956anBhyf/Y7JI1wJu8uVbgAAACiIK93AqHbaLd/e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RRddlJkzZ+b888/PBz/4wfzhH/5h3vCGN2TRokU599xzM2bMmNxwww0ZM2ZMJX882GsJ3bAXqa6uzrZt2wZ8EnhPT8+A/3p9ySWX5Nxzz80b3/jGJMl73/vetLa2pqOjI7NmzUpXV1cmTpyY17/+9bnjjjsybty4fPOb38zHPvaxbN26NVVVVfnOd74z4NPM586d22d/8+bNqa2tzb/+67+mu7s7+++/f2655ZYkyZYtW3LMMcfkhz/8oaenAsAAtm3bllNPPTXNzc157WtfmyeeeCIzZ85MqVTKhz/84fzkJz/JpZdemocffjj33HNPamtre4/92c9+lquuuipJUldXl8MPPzzV1dWpr69PbW1t9ttvv0r9WLDXE7phL1NdXZ0NGzb0G3/22Wf7vPYrSbZv395v3Z133pnPfvaz+a//+q/U1dVl06ZNOe644/Iv//IvvWsOPPDALFq0KDU1NTnjjDNyxhln7FJtzz33XJ/vil144YW54oor+uxv3brVv7QDwABevJL9osMOOyy//vWv09DQkDe84Q0ZN25cbrvttvz0pz9NbW1tfv7zn+ef/umf8u1vfzv77bdfmpqa0tPTkzvuuCPf/e53UyqV8pnPfCb77LNPHnvssQH/vwDYc0I37GW2bduWY489tt/4QI302WefzUc+8pF88pOf7L2NvFQq5aqrrsp3vvOdXHzxxfnABz6Qn/3sZ6mrq+s97rnnnstRRx2V9vb2HHzwwdlnn33S3d2d2trabN++Pc8//3wOOOCAPPfcc9m0aVPvcU888USOP/74XH755Vm5cmWSZP/99++d37RpU/76r/86n/nMZ4bt1wMA9hadnZ1ZuXJl7rzzzvzmN79Jkvzyl79MZ2dnjjrqqLz61a9OTU1NfvrTn2bGjBnZsmVL9t133xx33HE588wzc/755+cjH/lIrrzyypx55pk56qij8v3vfz+f+MQnsu++++bII4+s7A8Ieyn3cMJeprq6Oq2trf22//iP/+i39le/+lW+/OUv974yrFQq5eyzz87555+f/fbbL//5n/+ZP/uzP8uvf/3rPqH7zjvvTGNjY8aMGZN99903//f//t+ce+65ueOOO/KP//iPOffcc/PYY4/1ewr5z3/+8xx++OH527/926xbty4TJ07MZz7zmTz00EO59tprs2XLlvzlX/5l4b9GAPBStGHDhnz2s5/Nxo0bM23atCQvPBD1TW96U6qqqpIkn/jEJ3LeeeflN7/5TY4++uhcfvnlqa+vT5Jcd911+cY3vpGPfvSjmTZtWrZt25bjjjsuX/ziF/NP//RPOfPMM7Nu3bqK/XywtxK6YS+zbdu2TJs2rd923HHH9Vv74x//uM/3v7/yla9kwoQJ+dSnPpUPfvCDueiiizJu3Lg8+eSTfUL3V77ylfz5n/95kuzw+9e/PdfZ2Zn//M//zIwZM5IkNTU1uf7663PRRRfl85//fBYsWJCVK1fmFa94xZ7+EgDAXunhhx/OUUcd1bv/m9/8JldccUUuuOCC3rG3vvWtecMb3pCTTjopjzzySJ/jL7jggrS2tubtb397Wlpa8vOf/zw///nPc8IJJ+Tmm29OW1tbn/MDw0Pohr3Atm3bsmXLliQvXOl+sYn+9rZ27dre9Vu2bMnDDz+cjo6OvOY1r+k9x4c+9KHcdNNNufzyy/P444/nr/7qr5Ikjz76aO+D0n7yk5/kgQceyFvf+tYh1fjlL385J554Yg444IAkL9xK/sgjj6S+vj4f+tCHctBBB+WnP/1pfvzjH+eZZ57pfZo5APDCA1H/5V/+Jb//+7+fX/3qV+nu7s53v/vdHHHEEZk7d262b9/e+4/dy5Yty2te85q84hWvyFe+8pV8//vfz5gxY1JTU5OxY8fmJz/5ST772c9my5Yt+eEPf5hf/epXSV54U4mHmcLwq+rxf7bwkvftb387Z511Vvbbb7/e28sG8+LrRT760Y/mRz/6UVasWJG3v/3tueeee/L9738/l19+eR555JE88MAD+d//+3/n+9//flpaWrJ+/fo0NDRk5cqVufHGG/OJT3wif/Znf5YtW7Zk0qRJA36ne+PGjRkzZkza29vzhS98Iccee2y6u7vziU98Itu2bcusWbPy9re/PSeddFLuvffefPvb386aNWuybt26vPe9783nP//5EfoVBIDR7YEHHsi73vWu/OIXv8hrXvOaHHnkkbnrrruybdu2/Mu//Es+9rGP5aijjsoNN9zQ57hLLrkk++67b/7mb/4mkyZNSpJs3Lix9zWiv//7v5/6+vrceuutfe5qA4aP0A0vUx0dHXn00Udz3HHH5Qtf+EJe/epX5+CDD87f/d3f5Zprrsn48eOzcuXKPPLIIznllFNy/PHH9x77/PPP9/u+9q7asmVLnn322R029ueffz7btm3rfe8oAJD84Ac/yIwZM1Iul/u8DuzRRx/N7bffnne+852CM4xCQjcAAAAUxJc2AAAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQWoqXcBw2b59e375y19m/PjxqaqqqnQ5ALDbenp60tXVlcMOOyz77LP3/fu4ng3A3mBX+/VeE7p/+ctfZsqUKZUuAwCGTXt7ew4//PBKlzHs9GwA9iY769d7TegeP358khd+4AMPPLDC1QDA7uvs7MyUKVN6e9veRs8GYG+wq/16rwndL96eduCBB2rgAOwV9tZbr/VsAPYmO+vXe98XxQAAAGCUELoBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAGCnPvaxj2XevHm9+62trWlsbMykSZPS1NSUnp6eClYHAKOX0A0A7FBra2u++MUv5sorr0ySlMvlzJs3LzNmzEhLS0va2trS3Nxc0RoBYLQSugGAQfX09OTCCy/MBz/4wUydOjVJsmrVqpRKpSxdujRTp07NokWLsnz58gpXCgCjk9ANAAzquuuuy0MPPZSGhobceeedef7557N27drMnDkz48aNS5JMnz49bW1tg56jXC6ns7OzzwYALxdCNwAwoGeffTYf//jH8+pXvzqPPfZYli5dmpNOOimdnZ1paGjoXVdVVZXq6up0dHQMeJ7FixdnwoQJvduUKVNG6kcAgIoTugGAAd1222157rnncv/99+ev//qvc++99+Y3v/lNvvzlL6e2trbP2rFjx6a7u3vA8yxcuDClUql3a29vH4nyAWBUqKl0AQDA6PTYY4/lhBNOSF1dXZKkpqYm06dPz4YNG/LUU0/1WdvV1ZUxY8YMeJ7a2tp+IR0AXi5c6QYABjRlypRs2rSpz9h//dd/5XOf+1zWrFnTO7Zhw4aUy+XecA4A/DehGwAY0Jw5c7Ju3bpcc801eeyxx/L5z38+Dz30UE4++eSUSqWsWLEiSbJkyZLMnj071dXVFa4YAEYft5cDAAOqq6vL3Xffncsuuywf/vCHc+ihh+bmm2/OtGnTsmzZsixYsCBNTU3Ztm1bVq9eXelyAWBUEroBgEHNnDkz//Zv/9ZvfP78+Vm/fn1aWloya9asTJ48uQLVAcDoJ3TDS9Cc2/5+wPG7zvjQCFcCvJzV19envr6+0mXwMnfON07tN3bD/LsrUAnAwHynGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABalI6L700ktTVVXVu02bNi1J0tramsbGxkyaNClNTU3p6empRHkAAAAwLCoSun/wgx/krrvuSkdHRzo6OvLDH/4w5XI58+bNy4wZM9LS0pK2trY0NzdXojwAAAAYFiMeurdu3ZrW1tacdNJJmThxYiZOnJjx48dn1apVKZVKWbp0aaZOnZpFixZl+fLlI10eAAAADJsRD90/+tGP0tPTk+OPPz777bdfTj311Dz66KNZu3ZtZs6cmXHjxiVJpk+fnra2tkHPUy6X09nZ2WcDAACA0WTEQ3dbW1uOOeaY3HTTTWlra8u+++6bCy+8MJ2dnWloaOhdV1VVlerq6nR0dAx4nsWLF2fChAm925QpU0bqRwAAAIBdMuKh+5xzzsmaNWvS2NiYhoaGXHXVVbn33nuzffv21NbW9lk7duzYdHd3D3iehQsXplQq9W7t7e0jUT4AAADssppKFzBx4sRs3749hx56aFpbW/vMdXV1ZcyYMQMeV1tb2y+kAwAAwGgy4le6P/zhD2flypW9+9///vezzz775HWve13WrFnTO75hw4aUy+XU1dWNdIkAAAAwLEb8Svfxxx+fyy+/PIceemi2bt2aSy+9NOeff35OPvnklEqlrFixIuedd16WLFmS2bNnp7q6eqRLBAAAgGEx4qH7vPPOy7p163Laaadl/PjxOf3007No0aLU1NRk2bJlWbBgQZqamrJt27asXr16pMsDAACAYVOR73QvXrw4ixcv7jc+f/78rF+/Pi0tLZk1a1YmT55cgeoAAABgeFT8QWq/q76+PvX19ZUuAwAAAPbYiD9IDQAAAF4uhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAMCALr300lRVVfVu06ZNS5K0tramsbExkyZNSlNTU3p6eipcKQCMXkI3ADCgH/zgB7nrrrvS0dGRjo6O/PCHP0y5XM68efMyY8aMtLS0pK2tLc3NzZUuFQBGLaEbAOhn69ataW1tzUknnZSJEydm4sSJGT9+fFatWpVSqZSlS5dm6tSpWbRoUZYvX17pcgFg1BK6AYB+fvSjH6WnpyfHH3989ttvv5x66ql59NFHs3bt2sycOTPjxo1LkkyfPj1tbW07PFe5XE5nZ2efDQBeLoRuAKCftra2HHPMMbnpppvS1taWfffdNxdeeGE6OzvT0NDQu66qqirV1dXp6OgY9FyLFy/OhAkTercpU6aMxI8AAKOC0A0A9HPOOedkzZo1aWxsTENDQ6666qrce++92b59e2pra/usHTt2bLq7uwc918KFC1MqlXq39vb2ossHgFGjptIFAACj38SJE7N9+/YceuihaW1t7TPX1dWVMWPGDHpsbW1tv6AOAC8XrnQDAP18+MMfzsqVK3v3v//972efffbJ6173uqxZs6Z3fMOGDSmXy6mrq6tEmQAw6rnSDQD0c/zxx+fyyy/PoYcemq1bt+bSSy/N+eefn5NPPjmlUikrVqzIeeedlyVLlmT27Nmprq6udMkAMCoJ3QBAP+edd17WrVuX0047LePHj8/pp5+eRYsWpaamJsuWLcuCBQvS1NSUbdu2ZfXq1ZUuFwBGLaEbABjQ4sWLs3jx4n7j8+fPz/r169PS0pJZs2Zl8uTJFagOAF4ahG4AYMjq6+tTX19f6TIAYNTzIDUAAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKUvHQfeqpp6a5uTlJ0tramsbGxkyaNClNTU3p6empbHEAAACwByoaum+44Ybcc889SZJyuZx58+ZlxowZaWlpSVtbW28YBwAAgJeiioXuZ555JpdddlmOOuqoJMmqVatSKpWydOnSTJ06NYsWLcry5csrVR4AAADssZpKffBll12W008/PZs2bUqSrF27NjNnzsy4ceOSJNOnT09bW1ulygMAAIA9VpEr3Q888EDuu+++fOYzn+kd6+zsTENDQ+9+VVVVqqur09HRMeA5yuVyOjs7+2wAAAAwmox46N68eXMuvPDCXH311TnwwAN7x2tqalJbW9tn7dixY9Pd3T3geRYvXpwJEyb0blOmTCm0bgAAABiqEQ/dn/70p9PY2Jg5c+b0Ga+rq8tTTz3VZ6yrqytjxowZ8DwLFy5MqVTq3drb2wurGQAAAHbHiH+n+8Ybb8xTTz2ViRMnJkm6u7uzcuXKHHHEEXn++ed7123YsCHlcjl1dXUDnqe2trbflXEAAAAYTUY8dD/44IPZunVr7/5HPvKRzJw5M+eff36OPvrorFixIuedd16WLFmS2bNnp7q6eqRLBAAAgGEx4qH78MMP77N/wAEH5KCDDspBBx2UZcuWZcGCBWlqasq2bduyevXqkS4PAAAAhk3FXhn2oubm5t7/nj9/ftavX5+WlpbMmjUrkydPrlxhAAAAsIcqHrp/V319ferr6ytdBgAAAOyxirynGwAAAF4OhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBgJ069dRT09zcnCRpbW1NY2NjJk2alKampvT09FS2OAAYxYRuAGCHbrjhhtxzzz1JknK5nHnz5mXGjBlpaWlJW1tbbxgHAPoTugGAQT3zzDO57LLLctRRRyVJVq1alVKplKVLl2bq1KlZtGhRli9fXuEqAWD0qql0AQDA6HXZZZfl9NNPz6ZNm5Ika9euzcyZMzNu3LgkyfTp09PW1rbDc5TL5ZTL5d79zs7O4goGgFHGlW4AYEAPPPBA7rvvvnzmM5/pHevs7ExDQ0PvflVVVaqrq9PR0THoeRYvXpwJEyb0blOmTCm0bgAYTYRuAKCfzZs358ILL8zVV1+dAw88sHe8pqYmtbW1fdaOHTs23d3dg55r4cKFKZVKvVt7e3thdQPAaOP2cgCgn09/+tNpbGzMnDlz+ozX1dWltbW1z1hXV1fGjBkz6Llqa2v7BXUAeLkQugGAfm688cY89dRTmThxYpKku7s7K1euzBFHHJHnn3++d92GDRtSLpdTV1dXoUoBYHQTugGAfh588MFs3bq1d/8jH/lIZs6cmfPPPz9HH310VqxYkfPOOy9LlizJ7NmzU11dXcFqAWD0EroBgH4OP/zwPvsHHHBADjrooBx00EFZtmxZFixYkKampmzbti2rV6+uUJUAMPoJ3QDATjU3N/f+9/z587N+/fq0tLRk1qxZmTx5cuUKA4BRTugGAIasvr4+9fX1lS4DAEY9rwwDAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUJCKhe6nn3463/ve97Jx48ZKlQAAAACFqkjovvnmmzNt2rRccskleeUrX5mbb745SdLa2prGxsZMmjQpTU1N6enpqUR5AAAAMCxGPHT/5je/yaWXXpoHH3wwP/zhD3Pttdfmox/9aMrlcubNm5cZM2akpaUlbW1taW5uHunyAAAAYNiMeOju6urKlVdemWOPPTZJctxxx6WjoyOrVq1KqVTK0qVLM3Xq1CxatCjLly8f6fIAAABg2NSM9AdOmTIl55xzTpLk+eefzxVXXJEzzjgja9euzcyZMzNu3LgkyfTp09PW1jboecrlcsrlcu9+Z2dnsYUDAADAEFXsQWpr167NIYccknvvvTdXXnllOjs709DQ0DtfVVWV6urqdHR0DHj84sWLM2HChN5typQpI1U6AAAA7JKKhe7p06fnvvvuyzHHHJMLLrggNTU1qa2t7bNm7Nix6e7uHvD4hQsXplQq9W7t7e0jUTYAAADssoqF7qqqqrz+9a9Pc3Nz7rjjjtTV1eWpp57qs6arqytjxowZ8Pja2toceOCBfTYAAAAYTUY8dN9///1pamrq3a+peeFr5a997WuzZs2a3vENGzakXC6nrq5upEsEAACAYTHiofu1r31trr322ixbtizt7e352Mc+lpNPPjlz5sxJqVTKihUrkiRLlizJ7NmzU11dPdIlAgAAwLAY8dB92GGH5etf/3quvPLKHHPMMenu7s7111+fmpqaLFu2LBdddFEOOeSQ3HLLLVmyZMlIlwcAAADDZsRfGZYkp5xyyoCvA5s/f37Wr1+flpaWzJo1K5MnT65AdQAAADA8KhK6d6S+vj719fWVLgMAAAD2WMWeXg4AAAB7O6EbAAAACiJ0AwAAQEGEbgAAACjIsITunp6ebNu2bThOBQAUSM8GgJE15NB98cUXp1wu9xm7//77c/TRRw9bUQDAntOzAaDyhhy6r7322n4N/Jhjjsmjjz46bEUBAHtOzwaAytvl93SvWLEiyQu3pd14440ZN25c7/53vvOdvPGNbyymQgBgSPRsABg9djl0f+UrX0mSVFVV5YYbbkhNzQuH7rPPPpk2bVpuuummYioEAIZEzwaA0WOXQ/cDDzyQ5IWGfdddd+XAAw8srCgAYPfp2QAwegz5O90XXnhhamtri6gFABhGejYAVN4uX+l+0dVXX51yuZz29vb09PT0mXvlK185bIUBAHtGzwaAyhty6L7qqqvS1NSULVu29GngVVVV3vsJAKOIng0AlTfk28s/8YlP5LOf/Ww2b96c7du3926aNwCMLno2AFTekEP3gQcemD/90z/NvvvuW0Q9AMAw0bMBoPKGHLr/8R//Me95z3vS2tpaRD0AwDDRswGg8ob8ne73v//9efrpp3Pcccdl0qRJfV5D8vDDDw9rcQDA7tOzAaDyhhy6m5ubCygDABhuejYAVN6QQ3dDQ0MRdQAAw0zPBoDKG3LoPuKII1JVVdX76pGqqqreOU9DBYDRQ88GgMob8oPUXnzVyPbt2/Pcc8/lgQceyJve9Kbcd999RdQHAOwmPRsAKm/IV7p/23777ZeTTjop3/zmN3PSSSflBz/4wXDVBQAMIz0bACpjyFe6B/Lkk0/miSeeGI5TAQAF2p2e/fTTT+d73/teNm7cWFBVALD3GnLobmhoyJFHHtm7vepVr8pRRx2Vc889t4j6AIDdNBw9++abb860adNyySWX5JWvfGVuvvnmJElra2saGxszadKkNDU19X5vHADoa49fGVZVVZXDDz88Rx555HDVBAAMgz3t2b/5zW9y6aWX5sEHH8yxxx6b66+/Ph/96Edz+umnZ968eTnllFNy88035/3vf3+am5tzwQUXFPBTAMBL25CvdP/RH/1R/uiP/ij77bdfNm7cmP3220/gBoBRaE97dldXV6688soce+yxSZLjjjsuHR0dWbVqVUqlUpYuXZqpU6dm0aJFWb58eVE/BgC8pA35Svfjjz+e0047LevXr89hhx2WX/7yl3nNa16TO+64I4cddlgRNQIAu2FPe/aUKVNyzjnnJEmef/75XHHFFTnjjDOydu3azJw5M+PGjUuSTJ8+PW1tbYOep1wup1wu9+53dnbu4U8GAC8dQ77SfeGFF+aNb3xjnnrqqaxbty6//vWv84Y3vCHvfve7i6gPANhNw9Wz165dm0MOOST33ntvrrzyynR2dqahoaF3vqqqKtXV1eno6Bjw+MWLF2fChAm925QpU/bo5wKAl5Ihh+5//dd/zeWXX54xY8YkScaOHZvLL788//Zv/zbsxQEAu2+4evb06dNz33335ZhjjskFF1yQmpqa1NbW9lkzduzYdHd3D3j8woULUyqVerf29vbd+4EA4CVoyKH7da97Xb761a/2GfvqV7/a+30vAGB0GK6eXVVVlde//vVpbm7OHXfckbq6ujz11FN91nR1dfWG+99VW1ubAw88sM8GAC8XQ/5O99VXX51TTjklN9xwQxoaGvLwww+nq6sr9957bxH1AQC7aU979v33359Vq1bl7/7u75IkNTUv/G/Da1/72nzpS1/qXbdhw4aUy+XU1dUN/w8BAC9xQw7dxx57bH72s5/lW9/6Vtrb23P++ednzpw52X///YuoDwDYTXvas1/72tdm/vz5efWrX503v/nN+fjHP56TTz45c+bMybvf/e6sWLEi5513XpYsWZLZs2enurq64J8IAF56hnx7eVtbW0488cRUV1enqakpn/70p3PCCSfkZz/7WRH1AQC7aU979mGHHZavf/3rufLKK3PMMceku7s7119/fWpqarJs2bJcdNFFOeSQQ3LLLbdkyZIlBf80APDStFtPL/+TP/mTnHzyyUmSNWvWZO7cubnooouGvTgAYPcNR88+5ZRT0tbWls7Oznz961/P5MmTkyTz58/P+vXrs2zZsqxbty7HHHNMIT8DALzUDfn28oceeigrV67MhAkTkiT7779/Lr300hx99NHDXhwAsPuK7tn19fWpr68flnMBwN5qt55efv311/cZu/766/0LNwCMMno2AFTekK90f+ELX8ib3/zmfPWrX80RRxyRRx55JB0dHbn77ruLqA8A2E16NgBU3pBD9+tf//qsX78+d955Zx577LG8853vzJw5czJ+/Pgi6gMAdpOeDQCVN+TQnSTjx4/PO97xjuGuBQAYZno2AFTWkL/TDQAAAOwaoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgNZUuAIbqczedMujcZe+4ZwQrAQAA2DFXugEAAKAgQjcAAAAUROgGAACAglQkdN9xxx058sgjU1NTkxNOOCHr1q1LkrS2tqaxsTGTJk1KU1NTenp6KlEeAAAADIsRD92/+MUvcsEFF2TJkiV5/PHH86pXvSrvete7Ui6XM2/evMyYMSMtLS1pa2tLc3PzSJcHAAAAw2bEQ/e6deuyaNGivO1tb8shhxyS9773vWlpacmqVatSKpWydOnSTJ06NYsWLcry5ctHujwAAAAYNiP+yrC5c+f22f/pT3+aadOmZe3atZk5c2bGjRuXJJk+fXra2tpGujwAAAAYNhV9kNqWLVtyxRVX5OKLL05nZ2caGhp656qqqlJdXZ2Ojo4Bjy2Xy+ns7OyzAQAAwGhS0dD98Y9/PAcccEDe8573pKamJrW1tX3mx44dm+7u7gGPXbx4cSZMmNC7TZkyZSRKBgAAgF1WsdD9z//8z7nmmmty4403Zt99901dXV2eeuqpPmu6uroyZsyYAY9fuHBhSqVS79be3j4SZQMAAMAuG/HvdCfJww8/nHPOOSdXX311jj766CRJY2NjvvSlL/Wu2bBhQ8rlcurq6gY8R21tbb8r4wAAADCajPiV7k2bNmXu3LmZP39+TjvttDz77LN59tlnc+KJJ6ZUKmXFihVJkiVLlmT27Nmprq4e6RIBAABgWIz4le577rkn69aty7p163Ldddf1jj/yyCNZtmxZFixYkKampmzbti2rV68e6fIAAABg2Ix46J4/f356enoGnDviiCOyfv36tLS0ZNasWZk8efIIVwcAAADDpyLf6d6R+vr61NfXV7oMAAAA2GMVfWUYAAAA7M2EbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAMKA77rgjRx55ZGpqanLCCSdk3bp1SZLW1tY0NjZm0qRJaWpqSk9PT4UrBYDRS+gGAPr5xS9+kQsuuCBLlizJ448/nle96lV517velXK5nHnz5mXGjBlpaWlJW1tbmpubK10uAIxaQjcA0M+6deuyaNGivO1tb8shhxyS9773vWlpacmqVatSKpWydOnSTJ06NYsWLcry5csrXS4AjFo1lS4AABh95s6d22f/pz/9aaZNm5a1a9dm5syZGTduXJJk+vTpaWtr2+G5yuVyyuVy735nZ+fwFwwAo5Qr3QDADm3ZsiVXXHFFLr744nR2dqahoaF3rqqqKtXV1eno6Bj0+MWLF2fChAm925QpU0aibAAYFYRuAGCHPv7xj+eAAw7Ie97zntTU1KS2trbP/NixY9Pd3T3o8QsXLkypVOrd2tvbiy4ZAEYNt5cDAIP653/+51xzzTVZs2ZN9t1339TV1aW1tbXPmq6urowZM2bQc9TW1vYL6gDwciF0w15ozm1fHHD8rjMuHuFKgJeyhx9+OOecc06uvvrqHH300UmSxsbGfOlLX+pds2HDhpTL5dTV1VWqTAAY1dxeDgD0s2nTpsydOzfz58/PaaedlmeffTbPPvtsTjzxxJRKpaxYsSJJsmTJksyePTvV1dUVrhgARidXugGAfu65556sW7cu69aty3XXXdc7/sgjj2TZsmVZsGBBmpqasm3btqxevbqClQLA6CZ0AwD9zJ8/Pz09PQPOHXHEEVm/fn1aWloya9asTJ48eYSrA4CXDqEbABiy+vr61NfXV7oMABj1fKcbAAAACiJ0AwAAQEGEbgAAACiI73TDKPSW2xcPOP7t0xeOcCXFmHfL7YPOfeus00ew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6eXsLbf/7z773z79E4V8zpxbl/XZv+vM9xTyOcDIELoZdtc3nzLg+DvPv2eEKwF217+teGrQuf/vvMkjWAkAwEub28sBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAK4unlAADD4AfXzOuzP+Oib1WoEpLkzd88o8/+qrfeljff8e6+Y6ddN5IlMYpceNuj/cauPeOVFahkx75zU/+3icx+RzFvEfnJF3/dZ/+1Fx9SyOcM5Nd/v7bP/iEfOm7EPnskuNINAAAABRG6AQAAoCBuL6efb375zQOOv/V/rRrhSoCXsyc++9iA47/3l4ePcCUAALvPlW4AAAAoiNANAAAABRG6AQAAoCBCNwAAABTEg9QAAIboR198a5/91138zQHXrVk2t8/+zPfcWVhNe5u/vOXUPvufPevuXHJb37EvnHH3Hn/OW77x4T77356/dGjH376k7/Gnf2yPaxrInFuX99m/68y/KORz6G/J7U/02f/Y6b834Lov3/Zkv7H/dcbBuenWjX3G3nHmQcNX3G/5P1/t+07v//E/J+cHX+5b04z/dXAhn82OudINAAAABRG6AQAAoCBuL38J+vdr5w44fsKFblmDvcU1t/160LmLzjhkBCvZfW1XD/wzHP3el0b9AADDwZVuAAAAKIjQDQAAAAURugEAAKAgvtMNAMAe+ccbTumzf+k591SoktFtzm2f77N/1xnvr1AlVNrtt/R9jdjpZxXzGrHR6FdL2/rsH/rhoytUychxpRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAXxILW90Orr5gw4/kfvvmuEK4Hd89Zb7hx07ptnzR3BSgb39lvXDzj+tTNfvUvHL7r9iQHH/+r039vtmobiOzc9Nejc7HdMHpEa9tSvPjfw78Ghl+3a78GeevIfvzPo3MGXzs6TVw3+d+7B75uTJ79w66DzY9/5Z3tUGwAwerjSDQAAAAVxpRsAeMl58por++wffNEHh3T841e9t89+/fuuHnDdz646rd/Ya953x5A+i/+2+OZT+o0tPHvve73YnNs+12f/rjMu28HaL/7O2ouH9Flzb/1qn/07z/yfQzp+b/Pnt/64z/7Xzzwmb7/tF33GvnbG1EGP/6vbH++zv+j0+uErbifu+lrf14jNeXsxrxH70bIn+4297j0H7/Lxj/9d37v16pt+L0/83aP9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\n",
"text/plain": [
"<Figure size 1000x1000 with 4 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# 再次观测每个变量分布\n",
"fig, axes = plt.subplots(2, 2, figsize=(10, 10))\n",
"\n",
"for i, column in enumerate(df.columns[:-1]):\n",
" ax = axes[i // 2, i % 2] # 获取当前子图\n",
" ax.tick_params(axis='x', which='both', bottom=False, top=False, labelbottom=False) # 不显示x轴刻度和标签\n",
"\n",
" sns.countplot(x=column, data=df, ax=ax) # 绘制柱状图\n",
"\n",
"plt.tight_layout() # 调整子图布局\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 127,
"id": "744f6225",
"metadata": {},
"outputs": [],
"source": [
"# 划分特征变量与目标变量\n",
"X = df.iloc[:, :-1] \n",
"y = df.iloc[:, -1] \n",
"\n",
"# 对数据集进行划分,由于变量取值不同,还需要进行标准化\n",
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)\n",
"X_train = StandardScaler().fit_transform(X_train)\n",
"X_test = StandardScaler().fit_transform(X_test)"
]
},
{
"cell_type": "code",
"execution_count": 128,
"id": "fa1bcf5b",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"准确率: 0.639\n"
]
}
],
"source": [
"# Bagging对y进行预测\n",
"base_classifier = DecisionTreeClassifier()\n",
"bagging_classifier = BaggingClassifier(base_classifier, n_estimators=10)\n",
"bagging_classifier.fit(X_train, y_train)\n",
"y_pred = bagging_classifier.predict(X_test)\n",
"accuracy = accuracy_score(y_test, y_pred)\n",
"print(f\"准确率: {accuracy:.3f}\")"
]
},
{
"cell_type": "code",
"execution_count": 129,
"id": "4b75475f",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"准确率: 0.759\n"
]
}
],
"source": [
"# Adaboost对y进行预测\n",
"base_classifier = DecisionTreeClassifier(max_depth=1)\n",
"adaboost_classifier = AdaBoostClassifier(base_classifier, n_estimators=10)\n",
"adaboost_classifier.fit(X_train, y_train)\n",
"y_pred = adaboost_classifier.predict(X_test)\n",
"accuracy = accuracy_score(y_test, y_pred)\n",
"print(f\"准确率: {accuracy:.3f}\")"
]
},
{
"cell_type": "code",
"execution_count": 136,
"id": "431329e4",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"准确率: 0.769\n"
]
}
],
"source": [
"# 朴素贝叶斯分类\n",
"naive_bayes_classifier = GaussianNB()\n",
"naive_bayes_classifier.fit(X_train, y_train)\n",
"y_pred = naive_bayes_classifier.predict(X_test)\n",
"accuracy = accuracy_score(y_test, y_pred)\n",
"print(f\"准确率: {accuracy:.3f}\")"
]
},
{
"cell_type": "code",
"execution_count": 137,
"id": "809029a8",
"metadata": {},
"outputs": [],
"source": [
"# 保存模型结构\n",
"import time\n",
"\n",
"model_result = {}\n",
"\n",
"models = [BaggingClassifier(),AdaBoostClassifier(),GaussianNB()]\n",
"for model in models:\n",
" try:\n",
" model_name = str(model).split('(')[0]\n",
" start = time.time()\n",
" model.fit(X_train,y_train)\n",
" y_pred = model.predict(X_test)\n",
" end = time.time()\n",
" # 存储准确率和混淆矩阵\n",
" model_result[model_name] = [accuracy_score(y_test,y_pred),confusion_matrix(y_test,y_pred),end-start]\n",
" except Exception as e:\n",
" print(model_name,e)\n",
"\n",
"## 使用df保存模型的结果\n",
"df_result = pd.DataFrame(model_result).T\n",
"df_result.columns = ['accuracy_score','confusion_matrix','time']\n",
"\n",
"df_result.sort_values(by='accuracy_score',ascending=False,inplace=True)"
]
},
{
"cell_type": "code",
"execution_count": 139,
"id": "fc7e41a4",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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Nm3apNzcXN177706cOCAJOmuu+5ScHCwWrVqVW7/3t7eWrhwoe666y5J0po1a3T11VeroKBAL730khISEnTfffe5tp88ebIrkJwSHBys77//Xs2bN9ctt9wiY4ysVqsaNmwo6WSgslgsrnlP3nvvPfXt21f+/v6SpPvuu0/t27dXhw4dZLVaVVhYqCNHjmjcuHEaP368ioqK9Mknn6hr166uvg4dOqTp06crOjpaU6dO1aRJk7Ry5Uo98cQT6t+/v1q2bKnbb79d27Zt05dffqnAwMByPxsAwP/hzhIA1DFjx47Ve++95woUt9xyi66//nr16tVL+fn5+uijj+Tl5eWxNjc3V6NHj9bAgQMVGxurN954Q1arVdOnT9eKFSsUERGhdevWqUWLFrruuus0cOBApaSkuIYo9/LyUk5OjjZs2KCDBw/qo48+ks1mk81m0/Lly3Xttde6Tddff70kyWq1SpLq1aun0NBQhYaGyuFwKDQ0VC1atFBwcLAkqUWLFgoJCVFhYaGKiorK/AxO7e905513np544gkFBQXpnnvucVtXWFgoHx+fUjXNmzfX8uXLtWzZMl188cVyOp3Kzs5Wdna2fv/9dxUXFysrK0uZmZnatm2bW21+fr6SkpKUm5urUaNGadSoUTp+/Li6du2qBg0aaP/+/XruuefUq1cvHThwQPv379fhw4d13nn/90d3vXr19MILL2jp0qVq0KCBevXqpczMTI0ePVo33XST/vvf/6p+/fqaM2eOvvzyS7Vu3brMzwQAUBphCQDqmODgYPXq1UuStH37do0YMUJvv/22BgwYoB07dmjIkCH6+OOPS4WN1157TeHh4UpKStLTTz+tRYsWuR4N8/f3d/13WFiY1q1bpylTpmjNmjUaOHCgPv74Y9d+3nzzTZWUlOjIkSP65z//qby8PFksFg0fPlz79+93m7Kzs916aNasmWbPnq1Ro0Zp3759evjhhzVt2jTX423Tp0/Xww8/LKfT6Rr6u6SkpNxH8k43fvx4vf7663rwwQf1+eefu5aX98ifn5+frr/+eg0cOFA//PCDOnbsqI4dO2rGjBnas2ePOnTooI4dO5YadW/KlCk6fPiwYmJi1K1bN33wwQfas2dPhT3+Mchu3bpVd911l8aMGaM333xTmzdv1rhx4zRjxgy1b99eKSkpWr58ua655hplZGRU6nMAAJxEWAKAOubw4cNauHCh+vXrp4suukg5OTn6/vvv9fHHH2vTpk0KCgrSDTfcoKCgIPXt21fjx49XSkqKrrvuOt18883atGmTxo0b57bPevXquQUSm82mxx9/XDt27NALL7yga6+9VtLJ4crnzp2r0NBQXXTRRerevbtefPHFCt+jOX39V199pT59+ujiiy92PeZ3apS5UwFp4sSJSk1N1UsvvaRXXnnF9Zjb6YYPH+56t+mqq66SdPJOUdeuXfX777/r8ccfd21b1p2lefPmqUOHDnr//fclST179tTvv/+u33//XbNmzVLLli3lcDh09OhRHTp0yFX3/vvv67nnnlP9+vXVr18/3XXXXfL395e3t7frblSTJk1033336euvv3aNiHe6Y8eOacqUKeratavCwsK0ePFide7cWfXq1VPjxo01depUHT9+XHfddZcGDhyoiy66SF27dtW7775b7mcNAPg/hCUAqCMOHTqkrl27qmnTppo6dapCQkL0+eefa968eWrcuLGys7Pl6+urJ598Uj/88IMmT56s4OBgJScnq2HDhmrUqJGSkpLUrl27Sh+zefPmbu/+zJs3Tz4+PrrmmmskSSNHjlRmZqZsNpuWLVumZs2aqWHDhqpfv76aNWvmeqzuVBgqLCzU448/Li8vL33wwQeux+kuuugijR07VrNnz3Y7/k8//aRt27ZpypQppXpLTExUVlaWsrKySv1A7kMPPaSvvvpK33zzjaSTvwX1xztLGzdu1AMPPKC9e/e6lhUXF7t+N+nEiRMyxigvL092u93tR2KjoqK0YMECtWzZslRfx48fV1hYmA4dOqT58+erR48eOnTokFvYOrXdBx98oHfffVcJCQkqKCjQ5Zdfrt69e+vRRx+Vr6+vkpKS1LRpU6WlpWnx4sV65pln/vTvagFAXcIADwBQRzRp0kTjx49XmzZtFB0dLZvNptdee63M7Zs3b669e/equLjY4zs+Z+ro0aOaPXu2nn/+eS1fvlySFBsbq2uuuUYWi8X1+z8jR46Ut7e35s6dK0kyxqiwsFDSyTtYb7/9toqLi1VcXCy73S6r1Sp/f39dcsklevDBBzV27FjXMWfMmKETJ0643mk6XWBgoFq0aCFJpdZfdtll6tSpk1577TV1795dBQUFpQZGmDdvnmJiYhQZGela9u2337r2eeLECR0/flyhoaEqKSmRj4+PK/CEhYVp+PDheuqppzx+TgcPHtS1116rPXv2aPfu3a47c6erX7++vv32W9cdr1PvPZ06765du6pfv37atGmTq+af//ynTpw4oaKiItls/BUAACrCNyUA1CG33Xab67+9vLz09ttve/yLeHJysusxtOoISpLUsGFDrV+/XmFhYa6wJEmzZ8/W7NmzXY/yHTx4UMYYvfLKK67hzM877zxX0AgICNCUKVM0ffp0j8fx8/MrtSwnJ6fUY2wVefXVV9WhQwdJJx95a9SokWvdb7/9psWLF5cKmz179tSaNWskSf/5z380e/ZsZWZmlnucU2Hx1KOGe/fu1YUXXqj3339fb7zxhpKSklyP+Z0+fPjAgQO1du1a1atXz23QB+nkHa5bb73V4/KioiKlpKSof//+lf4sAKCu4jE8AKijPP1uz+mqKySdLiwsrNSySZMm6ciRIzpw4IBmzZolb29v3X333WrQoIFWrlzpWne68ePH68CBA8rNzXX9rtHixYvVuHFj1/yp3zfat2+fgoKCSh03NzfXNXJdTk5OqfVdunRxDaZw5MgRt7A0fvx4BQcHa/DgwZU671N3x/Lz80ut+/TTT1VUVKQLL7xQhYWFWr9+vbp27SqbzabzzjtPFovFNWLgH+uKi4tdd7BOn6xWq5YuXVpqeWFhoYqLi9WvX79K9Q0AdR13lgCgDjt8+HCpEeekk0HCGFPp/RQXF7uGB68MY4zb/nfs2KFnnnlGb731lutu16RJk9S9e3fNmDFDI0aMkNVq1YkTJ7Rp0yb5+PiUCnNHjhxRcXGxx/M5ePCg6tWrp4svvtjV77hx40oNVOFJYWGhtmzZ4noMz+FwaPPmzXrggQfcAowxRmvXri018t7p861atXK703T6iIPXXHONCgoK9NZbb+mDDz4o1ccfRycsa3S+ivzxbhMAoGyEJQCoo06cOOH6UVZPQkNDK72vwsJC13tFleF0OlVYWKgTJ07o2muv1caNGzVs2DBlZGQoJCRE0sn3bq666ipNnDhRTz/9tL7//nsVFRXpsssuk7e3d5l3xrp16+bxeF26dHEbsOGPP0p71VVX6cSJE667SU899ZTS09P1448/yul0ugalaNSokdLS0kqFw+LiYl1++eUeR5szxrjeszpd+/btXSP1zZ49W1deeaW6du2qq6++2m27/fv3uwbKOP0OV1nONLwCADwjLAFAHbVlyxY1bdpU9evX/9P7OhV8Kuv0d33efvtt+fn5ebzj0bdvX/Xt21e///67AgICJJW+w1IVc+fO1aWXXuqa79Kli9atW+d2p6hVq1b69ttvdccdd2jYsGFug0B4uqtzKmg1a9as0n18+OGHrv+uV6+ekpOT3XoYMmSIbrrpJtWvX18hISH64IMPPI6gdzqn0ynp/4ZRBwBUncWcyXMWAAAAAFBH8OAyAAAAAHhAWAIAAAAADwhLAAAAAOABYQkAAAAAPKiV0fDS09M1fPhwbd++Xffee69mzZpV6ncp/ujpp5/W7NmzVVBQoL59+2rBggVq3LhxpY5XUlKivXv3ys/Pr8LjAAAAAPj7MsYoLy9P559/fsW/PWdq2PHjx014eLgZOXKk2b59uxk4cKB55ZVXyq1Zu3at6dChg/n111/Ntm3bzMCBA82wYcMqfcysrCwjiYmJiYmJiYmJiYmJyUgyWVlZFeaIGr+zlJKSIrvdrsTERPn6+mrGjBkaPXq0hg8fXmbN999/r4EDB+rCCy+UJN1222164YUXKn1MPz8/SVJWVlalfswPAAAAwN+Tw+FQWFiYKyOUp8bDUlpamrp16yZfX19JUmRkpDIyMsqt6dixo/71r39p5MiR8vPzU1JSkvr27VvpY5569K5Ro0aEJQAAAACVej2nxgd4cDgcioiIcM1bLBZZrVbl5uaWWdO/f3+1a9dObdu2VUhIiI4dO6aJEyeWub3T6ZTD4XCbAAAAAOBM1HhYstls8vb2dlvm4+Oj/Pz8MmuWLl2qXbt26ddff9Xhw4fVsWNH/eMf/yhz+5kzZ8rf3981hYWFVVv/AAAAAOqGGg9LQUFBysnJcVuWl5cnLy+vMmuWLFmi++67TxdeeKGCgoI0Z84cvfvuu/r99989bh8fHy+73e6asrKyqvMUAAAAANQBNf7OUnR0tF5++WXXfGZmppxOp4KCgsqsKSoq0oEDB1zz+/btkyQVFxd73N7b27vU3SsAAAAAOBM1HpZiYmJkt9u1aNEi3XnnnUpISFCfPn1ktVrlcDhUv3591atXz62mR48eSkxMVIsWLVS/fn3NmTNHl19+eaV/ZwkAAAAAzpTFGGNq+qDvv/++hg4dKj8/PxUXF2vt2rXq0KGDwsPDNWfOHA0ePNht++PHj2vChAl65513dOjQIV1++eVKSkpSmzZtKnU8h8Mhf39/2e12RsMDAAAA6rAzyQY1/s6SJA0ePFjbtm3TggULtHnzZnXo0EHSyUfy/hiUpJMDQMydO1d79uyR0+nUmjVrKh2U8PeRnp6u6OhoBQYGKi4uThXl/GnTpslisZSa1qxZ47bdkCFDNGbMGNe8MUazZs1Su3bt1KRJE40ePVrHjh07G6cEAACAv7BaCUuSFBoaquuvv17BwcG11QLOIU6nU7GxsYqKilJqaqoyMjKUnJxcbs3EiROVm5vrmtLS0hQcHKwuXbq4tvn000+1atUqTZ8+3bUsKSlJc+fO1euvv66vv/5a33//vUaNGnW2Tg0AAAB/UbXyGF5N4zG8c9/777+vu+++W9nZ2fL19VVaWppGjx6tr776qtL7GDFihCIiIhQfHy9JKigoUMeOHfXoo4/q7rvvdm0XExOjm266SQ8++KAk6eOPP9aQIUP4vS4AAIC/gTPJBjU+wANQFWlpaerWrZt8fX0lSZGRkcrIyKh0/d69e/Xee+9p586drmXTp09XQUGBbDabVq1apauuukoWi0WHDh1Sy5YtXdtZrVZZrdbqOxkAAACcE2rtMTzgTDgcDkVERLjmLRaLrFarcnNzK1X/4osvaujQoWrYsKEkaffu3UpMTFTbtm21e/duxcXF6cYbb5QxRp07d9b777/vql24cKH69etXrecDAACAvz7uLOGcYLPZSv12lo+Pj/Lz8xUYGFhubXFxsV566SWtWrXKtSw5OVkhISFauXKlvL299eCDD6pVq1ZauXKlZsyYoQEDBuiKK66Qw+HQxo0b9eWXX56V8wIAAMBfF3eWcE4ICgpSTk6O27K8vDx5eXlVWLt69Wo1adJEF198sWtZdna2evfu7Qpgfn5+ateunXbu3Knw8HBlZGRowYIFatmypfr27asrrriiek8IAAAAf3mEJZwToqOjtX79etd8ZmamnE6ngoKCKqxdunSpbrjhBrdlYWFhKigocM2XlJQoOztbrVq1knTyMb9GjRrp888/V0JCQjWdBQAAAM4lhCWcE2JiYmS327Vo0SJJUkJCgvr06SOr1SqHw6HCwsIyaz/55BNdddVVbstuvfVWffTRR3rnnXeUnZ2t+Ph4OZ1O9ejRw7XNv//9b91yyy269NJLz85JAQAA4C+Nd5ZwTrDZbFqwYIGGDh2quLg4FRcXa+3atZJOjow3Z84cjz9ovGPHDu3du1fR0dFuyy+88EK99dZbeuyxx/Trr7+qTZs2+uCDD+Tn5ydJ2r59u9544w2lp6ef9XMDAADAXxO/s1TNouIWndX913Un8o4o/0CmGpzfVvV8+c2sv5Mfn76ztlsAAAB1AL+zhL8tL78geflV/J4SAAAA8GfxzhIAAAAAeEBYAgAAAAAPCEsAgHNKenq6oqOjFRgYqLi4OFX06u20adNksVhKTWvWrHHbrrCwUJ06dSq1fPv27ZX6mQIAwN8PYQkAcM5wOp2KjY1VVFSUUlNTlZGRoeTk5HJrJk6cqNzcXNeUlpam4OBgdenSxW27WbNmlRoBc+fOnRo0aJByc3Or+1QAAOcAwhIA4JyRkpIiu92uxMREtWnTRjNmzFBSUlK5NT4+PgoICHBN//nPfzR27Fj5+/u7ttm2bZtmz56t8PBwt9pBgwbp3nvvPRunAgA4BxCWAADnjLS0NHXr1k2+vr6STv7OWkZGRqXr9+7dq/fee09jxoxxWz5y5EhNnDhRrVq1clu+fPly3XLLLX++cQDAOYmwBAA4ZzgcDkVERLjmLRaLrFZrpR+Te/HFFzV06FA1bNjQtWzhwoWy2+0aP358qe1bt27955sGAJyz+J0lAMA5w2azydvb222Zj4+P8vPzFRgYWG5tcXGxXnrpJa1atcq1LCcnR/Hx8frkk09ks/FHIgDAHXeWAADnjKCgIOXk5Lgty8vLk5eXV4W1q1evVpMmTXTxxRe7lj300EO655571Llz5+puFQDwN0BYAgCcM6Kjo7V+/XrXfGZmppxOZ6WG9l66dKluuOEGt2VvvPGG5s2b5xr84auvvtK1116rhISEau8dAHDuISwBAM4ZMTExstvtWrRokSQpISFBffr0kdVqlcPhUGFhYZm1n3zyia666iq3ZTt37tTGjRu1YcMGbdiwQV27dtXLL7+sUaNGndXzAACcG3hAGwCq2e4nOtV2C39rT/aur5H33qXx99+tYiMtHR6h3U90Uo9nt2hK/+a65uJGpWp2HXFq754sNft8tHavs7qW//FfDC0HfpPl03g5tj4px/9ftif3hCT+d60JLadsqu0WAMANYQkAcE655uJGWvvABdq4t0BRYb5q3ODkH2Vfj72wzJpWQd76bWrHCvf91vDSo9+FBXpp1+MV1wIA/n4ISwCAc06zRvXUrFG92m4DAPA3xztLAAAAAOABYQkAAAAAPCAsAQAAAIAHhCUAAAAA8ICwBAAAAAAeEJYAAAAAwAPCEgAAAAB4QFgCAAAAAA8ISwAAAADgAWEJAAAAADwgLAEAAACAB4QlAAAAAPCgVsJSenq6oqOjFRgYqLi4OBljyt1+2rRpslgspaY1a9bUTMMAAAAA6pwaD0tOp1OxsbGKiopSamqqMjIylJycXG7NxIkTlZub65rS0tIUHBysLl261EzTAAAAAOqcGg9LKSkpstvtSkxMVJs2bTRjxgwlJSWVW+Pj46OAgADX9J///Edjx46Vv79/DXUNAAAAoK6x1fQB09LS1K1bN/n6+kqSIiMjlZGRUen6vXv36r333tPOnTvL3MbpdMrpdLrmHQ5H1RsGAAAAUCfV+J0lh8OhiIgI17zFYpHValVubm6l6l988UUNHTpUDRs2LHObmTNnyt/f3zWFhYX96b4BAAAA1C01HpZsNpu8vb3dlvn4+Cg/P7/C2uLiYr300ksaNWpUudvFx8fLbre7pqysrD/VMwAAAIC6p8YfwwsKClJ6errbsry8PHl5eVVYu3r1ajVp0kQXX3xxudt5e3uXCmQAAAAAcCZq/M5SdHS01q9f75rPzMyU0+lUUFBQhbVLly7VDTfccDbbAwAAAABJtRCWYmJiZLfbtWjRIklSQkKC+vTpI6vVKofDocLCwjJrP/nkE1111VU11SoAAACAOqxW3llasGCBRo0apZCQEC1btkwJCQmSTo6Mt2LFCo91O3bs0N69exUdHV2T7QIAAACoo2r8nSVJGjx4sLZt26bU1FR1795dwcHBkk4+kleWNm3aqKioqIY6BAAAAFDX1UpYkqTQ0FCFhobW1uEBAAAAoFw1/hgeAAAAAJwLCEsAAAAA4AFhCQAAAAA8ICwBAAAAgAeEJQAAAADwgLAEAAAAAB4QlgAAAADAA8ISAAAAAHhAWAIAAAAADwhLAAAAAOABYQkAAAAAPCAsAQAAAIAHhCUAAAAA8ICwBAAAAAAeEJYAAAAAwAPCEgAAAAB4QFgCAAAATrN371598803ysvLq+1WUMsISwAAADhnpaenKzo6WoGBgYqLi5MxptK1Q4YM0ZgxY9yWPfPMM+rQoYNGjRqlFi1aaO3atdXdMs4hhCUAAACck5xOp2JjYxUVFaXU1FRlZGQoOTm5UrWffvqpVq1apenTp7uWbd26VU8//bQyMjK0ceNGPfzww5oyZcpZ6h7nAsISAAAAzkkpKSmy2+1KTExUmzZtNGPGDCUlJVVYV1BQoPvvv18JCQkKCAhwLS8qKtJLL72k5s2bS5IuueQS5ebmnq32cQ4gLAEAAOCclJaWpm7dusnX11eSFBkZqYyMjArrpk+froKCAtlsNq1atcr16F779u0VGxsrSTp69KjmzZunG2+88eydAP7yCEsAAAA4JzkcDkVERLjmLRaLrFZruXeDdu/ercTERLVt21a7d+9WXFycbrzxRrd3nT7++GM1b95c+/fv16OPPnpWzwF/bYQlAAAAnJNsNpu8vb3dlvn4+Cg/P7/MmuTkZIWEhGjlypV67LHHtGbNGq1du1YrV650bdOvXz+lpKTIZrNpwoQJZ61//PURlgAAAHBOCgoKUk5OjtuyvLw8eXl5lVmTnZ2t3r17u0KWn5+f2rVrp507d7q2sdls6tmzp+bOnauFCxeeneZxTiAsAQAA4JwUHR2t9evXu+YzMzPldDoVFBRUZk1YWJgKCgpc8yUlJcrOzlarVq30xhtv6JlnnnGts9lsslqtZ6d5nBMISwAAADgnxcTEyG63a9GiRZKkhIQE9enTR1arVQ6HQ4WFhaVqbr31Vn300Ud65513lJ2drfj4eDmdTvXo0UMXXXSRpk2bpvfee0+ZmZmaOnWqbrnllpo+LfyFWMyZ/HLXOcrhcMjf3192u12NGjU6q8eKilt0VvcP/F39+PSdtd1Ctdn9RKfabgE4J7Wcsqm2W6hWPeb1qO0W6oTDGw9r26vbZPWxypQYdXygo3yb++rHaT8q/MZwNY5sXKrmyC9HlLU8SwUHC+TdxFtt/reNGrU++XfEnB9ytHvFbhUVFKlx58aKuClCVi/uLtWUr8d8fdaPcSbZwHbWuwEAAADOksaRjdVwckMd231MfhF+qudXT5IUNS2qzJqgDkEK6uD5Ub3g6GAFRweflV5x7iEsAQAA4JzmHeAt7wDvijcEzhDvLAEAAACAB4QlAAAAAPCAsAQAAAAAHhCWAAAAAMADwhIAAAAAeEBYAgAAAAAPCEsAAAAA4EGthKX09HRFR0crMDBQcXFxMsZUunbIkCEaM2bMWewOAAAAAGohLDmdTsXGxioqKkqpqanKyMhQcnJypWo//fRTrVq1StOnTz+7TQIAAACo82o8LKWkpMhutysxMVFt2rTRjBkzlJSUVGFdQUGB7r//fiUkJCggIODsNwoAAACgTqvxsJSWlqZu3brJ19dXkhQZGamMjIwK66ZPn66CggLZbDatWrWq3Ef3nE6nHA6H2wQAAAAAZ6LGw5LD4VBERIRr3mKxyGq1Kjc3t8ya3bt3KzExUW3bttXu3bsVFxenG2+8sczANHPmTPn7+7umsLCwaj8PAAAAAH9vNR6WbDabvL293Zb5+PgoPz+/zJrk5GSFhIRo5cqVeuyxx7RmzRqtXbtWK1eu9Lh9fHy87Ha7a8rKyqrWcwAAAADw92er6QMGBQUpPT3dbVleXp68vLzKrMnOzlbv3r1dIcvPz0/t2rXTzp07PW7v7e1dKpABAAAAwJmo8TtL0dHRWr9+vWs+MzNTTqdTQUFBZdaEhYWpoKDANV9SUqLs7Gy1atXqrPYKAAAAoO6q8bAUExMju92uRYsWSZISEhLUp08fWa1WORwOFRYWlqq59dZb9dFHH+mdd95Rdna24uPj5XQ61aNHj5puHwAAAEAdUSvvLC1YsECjRo1SSEiIli1bpoSEBEknR8ZbsWJFqZoLL7xQb731lv7973+rXbt2WrFihT744AP5+fnVdPsAAAAA6ogaf2dJkgYPHqxt27YpNTVV3bt3V3BwsKSTj+SVZdCgQRo0aFANdQgAAACgrquVsCRJoaGhCg0Nra3DAwAAAEC5avwxPAAAAAA4FxCWAAAAAMADwhIAAAAAeEBYAgAAAAAPCEsAAAAA4AFhCQAAAAA8ICwBAAAAgAeEJQAAAADwgLAEAAAAAB4QlgAAAADAA8ISAAAAAHhAWAIAAAAADwhLAAAAAOABYQkAAAAAPCAsAQAAAIAHhCUAAAAA8ICwBAAAAAAeEJYAAAAAwAPCEgAAAAB4QFgCAAAAAA8ISwAAAADgAWEJAAAAADwgLAEAAACAB4QlAAAAAPCAsAQAAAAAHhCWAAAAAMADwhIAAAAAeEBYAgAAAAAPCEsAAAAA4AFhCQAAAAA8ICwBAAAAgAeEJQAAAADwgLAEAAAAAB4QlgAAAADAA8ISAAAAAHhQK2EpPT1d0dHRCgwMVFxcnIwxFdbExsbKYrG4pj59+tRApwAAAADqqhoPS06nU7GxsYqKilJqaqoyMjKUnJxcYd2PP/6oTZs2KTc3V7m5ufrggw/OfrMAAAAA6qwaD0spKSmy2+1KTExUmzZtNGPGDCUlJZVbk52dLWOMOnbsqICAAAUEBKhBgwY11DEAAACAuqjGw1JaWpq6desmX19fSVJkZKQyMjLKrfnhhx9UXFysFi1aqEGDBhoyZIhyc3Nrol0AAAAAdVSNhyWHw6GIiAjXvMVikdVqLTf8bNmyRVFRUfr000+VmpqqzMxMTZo0qcztnU6nHA6H2wQAAAAAZ6JKYamwsFAzZszQZZddptDQUP3yyy/6n//5H+3YsaPCWpvNJm9vb7dlPj4+ys/PL7Nm4sSJSklJUYcOHXTxxRfrqaee0rJly8rcfubMmfL393dNYWFhlT85AAAAAFAVw9L999+vd955R/fcc4/y8vLk6+urbt26aeTIkRXWBgUFKScnx21ZXl6evLy8Kn38gIAAHTp0SE6n0+P6+Ph42e1215SVlVXpfQMAAACAVMWwtGzZMi1btkwjRoyQ1WqV1WrVuHHj9N1331VYGx0drfXr17vmMzMz5XQ6FRQUVGbNzTff7Fbzww8/qFmzZqXuUJ3i7e2tRo0auU0AAAAAcCaqFJbCwsL05Zdfui3bvn2727tIZYmJiZHdbteiRYskSQkJCerTp4+sVqscDocKCwtL1URGRmrs2LH67rvvtHz5ck2ePFn3339/VVoHAAAAgEqxVaVo1qxZGjx4sP773/8qPz9fDz/8sNatW6dXX3214gPabFqwYIGGDh2quLg4FRcXa+3atZJOhqI5c+Zo8ODBbjXx8fHatWuX+vbtq6ZNm+q+++5TfHx8VVoHAAAAgEqpUljq37+/fvnlF7355pvq3LmzWrRooaeeeqpSd5YkafDgwdq2bZtSU1PVvXt3BQcHSzr5SJ4n9erVU1JSUoW/xwQAAAAA1aVKYUmS2rRpo0cffbTKBw4NDVVoaGiV6wEAAADgbKrSO0vLly/XkSNHqrsXAAAAAPjLqFJY+te//qWff/65unsBAAAAgL+MKoWlBx54QM8995yKi4urux8AAAAA+Euo0jtLjRs31qFDh3TppZdq1KhRatCggWvdnXfeWW3NAQAAAEBtqVJYSk5Olre3t7y9vbV06VLXcovFQlgCAAAA8LdQpbC0evXq6u4DAAAAAP5SqvTO0ikHDx7Ujz/+qEOHDlVXPwAAAADwl1ClsGS323XDDTeoWbNm6tmzp0JCQnTzzTfL4XBUd38AAAAAUCuqFJZGjx6tkpIS7dmzRwUFBdq9e7cKCwt1//33V3d/AAAAAFArqvTOUkpKin788Uc1b95ckhQaGqo5c+YoKiqqWpsDAAAAgNpSpTtLLVu21KpVq9yWrVq1Sq1ataqWpgAAAACgtlXpztJzzz2nQYMGaenSpWrdurV+++03ffPNN1qxYkV19wcAAAAAtaJKd5ZiYmKUkZGhK6+8UhaLRVdddZU2b96sK664orr7AwAAAIBaUaU7S5IUFhamiRMnVmcvAAAAAPCXUaU7S3v27NGNN96ojz/+WJJ06aWXasCAAdq/f3+1NgcAAAAAtaVKYWnEiBHy8fFR586dJUlvvvmmmjZtqlGjRlVnbwAAAABQa6r0GN66dev066+/6vzzz5ckXXDBBXryySfVsWPHam0OAAAAAGpLle4sRURE6IsvvnBbxtDhAAAAAP5OqnRnKTExUddff73efPNNhYeHa+fOnVq3bp0++OCD6u4PAAAAAGpFle4s9e7dW+np6erZs6ekk0OJp6en6+qrr67W5gAAAACgtlR56PDw8HDFx8dXZy8AAAAA8JdRpTtLv/32m26//XYZY5SamqpLLrlEnTp10ldffVXd/QEAAABArahSWBo2bJgaNWoki8WisWPHauDAgbruuus0evTo6u4PAAAAAGpFlR7D++mnn/TWW2/p6NGj2rBhg1avXq2cnBzNmTOnmtsDAAAAgNpRpbDUqlUrvfXWWzp+/Lguv/xy2Ww2hg4HAAAA8LdSpbA0Z84cDRs2TL6+vlqyZIlWrVqle++9V6+//np19wcAAAAAtaJKYalfv37at2+faz4/P185OTlq2LBhtTUGAAAAALWpSgM8/JGvr69bUOrWrZtbmAIAAACAc021hKU/2rJliwoLC8/GrgEAAACgRpyVsAQAAAAA5zrCEgAAAAB4QFgCAAAAAA/OSliyWCxnY7cAAAAAUGPOSlgyxpyN3QIAAABAjalSWNq6dWu563Nzc9WyZcsqNQQAAAAAfwVVCkuXXHKJLr30Uj311FPauXNndfcEAAAAALWuSmHp0KFDmjRpkjZt2qSoqChddtllevbZZ5WdnV2p+vT0dEVHRyswMFBxcXFn9NheYWGhOnXqpDVr1lSldQAAAAColCqFpQYNGujmm2/Wa6+9poMHD+ree+/VE088ofDwcMXExOibb74ps9bpdCo2NlZRUVFKTU1VRkaGkpOTK33sWbNmKT09vSptAwAAAECl2apauG3bNr3zzjt699139csvv2jAgAH63//9X+Xn5+vmm2/W3r17PdalpKTIbrcrMTFRvr6+mjFjhkaPHq3hw4dX6pizZ89WeHh4VdsGAAAAgEqpUljq1KmTduzYoWuuuUZjx47VddddpwYNGkiSdu7cqeDg4DJr09LS1K1bN/n6+kqSIiMjlZGRUanjjhw5UhMnTlRKSkq52zmdTjmdTte8w+Go1P4BAAAA4JQqPYb3yCOP6MCBA3rvvfd02223uYKSJEVERCgtLa3MWofDoYiICNe8xWKR1WpVbm5uucdcuHCh7Ha7xo8fX2F/M2fOlL+/v2sKCwurxFkBAAAAwP+pUlj6xz/+IT8/P9f8wYMHK11rs9nk7e3ttszHx0f5+fll1uTk5Cg+Pl5JSUmy2Sq+GRYfHy+73e6asrKyKt0fAAAAAEhVDEsZGRm69NJL9fbbb0uSevfurQ4dOlT4+0uSFBQUpJycHLdleXl58vLyKrPmoYce0j333KPOnTtXqj9vb281atTIbQIAAACAM1GlsDRy5EhdffXV6tevnyRp/fr1io2N1ahRoyqsjY6O1vr1613zmZmZcjqdCgoKKrPmjTfe0Lx58xQQEKCAgAB99dVXuvbaa5WQkFCV9gEAAACgQlUa4GHDhg1aunSp/P39JZ0cSnzMmDFq3759hbUxMTGy2+1atGiR7rzzTiUkJKhPnz6yWq1yOByqX7++6tWr51bzxx++HTJkiB566CH179+/Ku0DAAAAQIWqdGepU6dOWrx4sduyxYsXq0OHDhXW2mw2LViwQKNGjVJISIiWLVvmukMUGRmpFStWlKoJDw93m3x8fNSsWTMFBARUpX0AAAAAqFCV7iw9//zzGjBggF599VWFh4dr586dys3N1SeffFKp+sGDB2vbtm1KTU1V9+7dXUONZ2ZmVqp+zZo1VWkbAAAAACqtSmGpS5cu2rZtmz766CPt2bNHd9xxhwYNGuQ2Ql5FQkNDFRoaWpXDAwAAAMBZV6WwJEl+fn4aOnSo27KcnJxyf5AWAAAAAM4VVQpLGRkZiouL09atW1VcXCxJMsZo7969cjqd1dogAAAAANSGKg3wMHz4cLVr104xMTGKiorS888/Lx8fH4byBgAAAPC3UaWwlJ6erkmTJmnEiBHatWuXBgwYoJdfflnJycnV3B4AAAAA1I4qhaULLrhAr7zyii655BLt2LFDhw4dUtOmTUv9HhIAAAAAnKuqFJbmzp2rOXPmyOFw6J577lHr1q3VtWtXXX/99dXdHwAAAADUiioN8HDFFVdo3759kqRZs2Zp0KBBOnr0qPr371+tzQEAAABAbany0OEWi8X137169aqWZgAAAADgr6JKj+G98MIL2rt3b3X3AgAAAAB/GVV+Z2njxo3V3QsAAAAA/GVUKSxNnjxZ//73v3X06NHq7gcAAAAA/hKq9M7S9u3bVVJSonbt2unOO+9UgwYNXOumTJlSbc0BAAAAQG2pUljKzMzUhRdeqAsvvFAHDx6s7p4AAAAAoNZVKSwtXLiwuvsAAAAAgL+UKoWl3bt3l7muZcuWVW4GAAAAAP4qqhSWwsPDZbFYZIyR5P6bS8XFxdXTGQAAAADUoiqNhldSUqLi4mKVlJTo2LFjWr16ta688kp98cUX1d0fAAAAANSKKt1ZOl39+vUVExOjDz/8UDExMfrxxx+roy8AAAAAqFVVurPkycGDB7Vv377q2h0AAAAA1Koq3VmKiIgo9Z7Svn379NBDD1VXXwAAAABQq6oUlpKTk93mLRaLWrRoodatW1dHTwAAAABQ66oUlnr16uU2f/DgQTVt2rRaGgIAAACAv4IqvbOUkZGhSy+9VG+//bYkqXfv3urQoYO2bt1arc0BAAAAQG2pUlgaOXKkrr76avXr10+StH79esXGxmrUqFHV2hwAAAAA1JYqPYa3YcMGLV26VP7+/pKkBg0aaMyYMWrfvn21NgcAAAAAtaVKd5Y6deqkxYsXuy1bvHixOnToUC1NAQAAAEBtq9Kdpeeff14DBgzQq6++qvDwcO3cuVO5ubn65JNPqrs/AAAAAKgVVQpLXbp00bZt27R8+XJlZ2frjjvu0KBBg+Tn51fd/QEAAABArahSWJIkPz8/3XbbbZJODh1OUAIAAADwd8LQ4QAAAADgAUOHAwAAAIAHDB0OAAAAAB4wdDgAAAAAeFAtQ4f/9ttvys3N1aefflrd/QEAAABAraiWocPvvPNODRo0SAUFBdXdHwAAAADUiiqFpYyMDMXFxWnr1q0qLi6WJE2cOFF79+6V0+ms1gZPt3fvXmVmZqpTp04MVQ4AAADgrKrSO0vDhw9Xu3btFBMTo6ioKD3//PPy8fFRQkJCperT09MVHR2twMBAxcXFyRhTYc0zzzyjDh06aNSoUWrRooXWrl1bldYBAAAAoFKqFJbS09M1adIkjRgxQrt27dKAAQP08ssvKzk5ucJap9Op2NhYRUVFKTU1VRkZGRXWbd26VU8//bQyMjK0ceNGPfzww5oyZUpVWgcAAACASqlSWLrgggv0yiuv6JJLLtGOHTt06NAhNW3aVDt37qywNiUlRXa7XYmJiWrTpo1mzJihpKSkcmuKior00ksvqXnz5pKkSy65RLm5uVVpHQAAAAAqpUrvLM2dO1e33HKL7r77bt1zzz1q3bq1LBaLrr/++gpr09LS1K1bN/n6+kqSIiMjlZGRUW5N+/btXb/hdPToUc2bN0833nhjmds7nU63d6ccDkdlTgsAAAAAXKp0Z+mKK67Qvn37FBwcrFmzZumjjz7SG2+8UanH8BwOhyIiIlzzFotFVqu1UneKPv74YzVv3lz79+/Xo48+WuZ2M2fOlL+/v2sKCwur1HkBAAAAwClVCkvSyZBjsVgkSb169dKgQYNktVorrLPZbPL29nZb5uPjo/z8/Apr+/Xrp5SUFNlsNk2YMKHM7eLj42W3211TVlZWhfsGAAAAgNNVOSxVVVBQkHJyctyW5eXlycvLq8Jam82mnj17au7cuVq4cGGZ23l7e6tRo0ZuEwAAAACciRoPS9HR0Vq/fr1rPjMzU06nU0FBQWXWvPHGG3rmmWdc8zabrVJ3sQAAAACgqmo8LMXExMhut2vRokWSpISEBPXp00dWq1UOh0OFhYWlai666CJNmzZN7733njIzMzV16lTdcsstNd06AAAAgDqkxsOSzWbTggULNGrUKIWEhGjZsmWuH7ONjIzUihUrStVceumlmj9/vsaNG6cuXbqoVatWSkxMrOnWAQAAANQhVRo6/M8aPHiwtm3bptTUVHXv3l3BwcGSTj6SV5Z//OMf+sc//lFDHQIAAACo62olLElSaGioQkNDa+vwAAAAAFCuGn8MDwAAAADOBYQlAAAAAPCAsAQAAAAAHhCWAAAAAMADwhIAAAAAeEBYAgAAAAAPCEsAAAAA4AFhCQAAAAA8ICwBAAAAgAeEJQAAAADwgLAEAAAAAB4QlgAAAADAA8ISAAAAAHhAWAIAAAAADwhLAAAAAOABYQkAAAAAPCAsAQAAAIAHhCUAAAAA8ICwBAAAAAAeEJYAAAAAwAPCEgAAAAB4QFgCAAAAAA8ISwAAAADgAWEJAAAAADwgLAEAAACAB4QlAAAAAPCAsAQAAAAAHhCWAAAAAMADwhIAAAAAeEBYAgAAAAAPCEsAAAAA4AFhCQAAAAA8ICwBAAAAgAeEJQAAAADwgLAEAAAAAB4QlgAAAADAg1oJS+np6YqOjlZgYKDi4uJkjKmwZsGCBWrevLnq1aunfv36ad++fTXQKQAAAIC6qsbDktPpVGxsrKKiopSamqqMjAwlJyeXW/PVV19p8uTJWrx4sXbu3Knjx4/r4YcfrpmGAQAAANRJNR6WUlJSZLfblZiYqDZt2mjGjBlKSkoqt2bLli2aP3+++vTpoxYtWmj48OFKTU2toY4BAAAA1EW2mj5gWlqaunXrJl9fX0lSZGSkMjIyyq2555573Oa3bNmitm3blrm90+mU0+l0zTscjj/RMQAAAIC6qMbvLDkcDkVERLjmLRaLrFarcnNzK1V/+PBh/fe//9X9999f5jYzZ86Uv7+/awoLC/vTfQMAAACoW2o8LNlsNnl7e7st8/HxUX5+fqXq77//fnXv3l2DBg0qc5v4+HjZ7XbXlJWV9ad6BgAAAFD31PhjeEFBQUpPT3dblpeXJy8vrwprX3nlFX355ZfasGFDudt5e3uXCmQAAAAAcCZq/M5SdHS01q9f75rPzMyU0+lUUFBQuXXff/+9HnroIb355psKCQk5220CAAAAqONqPCzFxMTIbrdr0aJFkqSEhAT16dNHVqtVDodDhYWFpWoOHDig2NhYPfLII4qKitLRo0d19OjRmm4dAAAAQB1SK+8sLViwQKNGjVJISIiWLVumhIQESSdHxluxYkWpmiVLlujgwYN67LHH5Ofn55oAAAAA4Gyp8XeWJGnw4MHatm2bUlNT1b17dwUHB0s6+UieJw899JAeeuihmmsQAAAAQJ1XK2FJkkJDQxUaGlpbhwcAAACActX4Y3gAAAAAcC4gLAEAAACAB4QlAAAAAPCAsAQAAAAAHhCWAAAAAMADwhIAAAAAeEBYAgAAAAAPCEsAAAAA4AFhCQAAAAA8ICwBAAAAgAeEJQAAAADwgLAEAAAAAB4QlgAAAADAA8ISAAAAAHhAWAIAAAAADwhLAAAAAOABYQkAAAAAPCAsAQAAAIAHhCUAAAAA8ICwBAAAAAAeEJYAAAAAwAPCEgAAAAB4QFgCAAAAAA8ISwAAAADgAWEJAAAAADwgLAEAAACAB4QlAAAAAPCAsAQAAAAAHhCWAAAAAMADwhIAAAAAeEBYAgAAAAAPCEsAAAAA4AFhCQAAAAA8ICwBAAAAgAeEJQAAAADwoFbCUnp6uqKjoxUYGKi4uDgZYypVt337dgUFBZ3l7gAAAACgFsKS0+lUbGysoqKilJqaqoyMDCUnJ1dYt3PnTg0aNEi5ublnv0kAAAAAdV6Nh6WUlBTZ7XYlJiaqTZs2mjFjhpKSkiqsGzRokO69994a6BAAAAAAaiEspaWlqVu3bvL19ZUkRUZGKiMjo8K65cuX65Zbbjnb7QEAAACApFoISw6HQxEREa55i8Uiq9Va4eN1rVu3rvQxnE6nHA6H2wQAAAAAZ6LGw5LNZpO3t7fbMh8fH+Xn51fbMWbOnCl/f3/XFBYWVm37BgAAAFA31HhYCgoKUk5OjtuyvLw8eXl5Vdsx4uPjZbfbXVNWVla17RsAAABA3WCr6QNGR0fr5Zdfds1nZmbK6XRW65Dg3t7epe5eAQAAAMCZqPE7SzExMbLb7Vq0aJEkKSEhQX369JHVapXD4VBhYWFNtwQAAAAApdTKO0sLFizQqFGjFBISomXLlikhIUHSyZHxVqxYUdMtAQAAAEApNf4YniQNHjxY27ZtU2pqqrp3767g4GBJJx/JK094eLiMMTXQIQAAAIC6rlbCkiSFhoYqNDS0tg4PAAAAAOWq8cfwAAAAAOBcQFgCAAAAAA8ISwAAAADgAWEJAAAAADwgLAEAAACAB4QlAAAAAPCAsAQAAAAAHhCWAAAAAMADwhIAAAAAeEBYAgAAAAAPCEsAAAAA4AFhCQAAAAA8ICwBAAAAgAeEJQAAAADwgLAEAAAAAB4QlgAAAADAA8ISAAAAAHhAWAIAAAAADwhLAAAAAOABYQkAAAAAPCAsAQAAAIAHhCUAAAAA8ICwBAAAAAAeEJYAAAAAwAPCEgAAAAB4QFgCAAAAAA8ISwAAAADgAWEJAAAAADwgLAEAAACAB4QlAAAAAPCAsAQAAAAAHhCWAAAAAMADwhIAAAAAeEBYAgAAAAAPCEsAAAAA4AFhCQAAAAA8qJWwlJ6erujoaAUGBiouLk7GmApr1q5dq4svvlhNmjRRYmJiDXQJAAAAoC6r8bDkdDoVGxurqKgopaamKiMjQ8nJyeXW5OTk6LrrrtNtt92mb7/9Vq+//rpWr15dMw0DAAAAqJNqPCylpKTIbrcrMTFRbdq00YwZM5SUlFRuzeuvv67mzZtr8uTJateunaZMmVJhDQAAAAD8GbaaPmBaWpq6desmX19fSVJkZKQyMjIqrLn66qtlsVgkSf/zP/+j+Pj4Mrd3Op1yOp2uebvdLklyOBx/tv0KFTsLzvoxgL+jmrg+a0re8eLabgE4J/2dvgckqaigqLZbAM45NfE9cOoYlXkVqMbDksPhUEREhGveYrHIarUqNzdXgYGBZda0b9/eNd+oUSPt2bOnzGPMnDlTjz/+eKnlYWFhf6JzAGeT/7xRtd0CgNo207+2OwBQy/wfqbnvgby8PPn7l3+8Gg9LNptN3t7ebst8fHyUn59fZlj6Y82p7csSHx+vcePGueZLSkp05MgRNW7c2HV3CnWLw+FQWFiYsrKy1KhRo9puB0At4bsAAN8DMMYoLy9P559/foXb1nhYCgoKUnp6utuyvLw8eXl5lVuTk5NT6e29vb1LBbKAgICqNYy/lUaNGvHFCIDvAgB8D9RxFd1ROqXGB3iIjo7W+vXrXfOZmZlyOp0KCgqqdM2GDRsUGhp6VvsEAAAAULfVeFiKiYmR3W7XokWLJEkJCQnq06ePrFarHA6HCgsLS9Vcd911+uqrr7R69WoVFRVp9uzZuuaaa2q6dQAAAAB1SK28s7RgwQINHTpUcXFxKi4u1tq1ayWdHBlvzpw5Gjx4sFtNkyZN9Mwzz+iaa66Rv7+/GjRowNDhOCPe3t6aOnVqqcczAdQtfBcA4HsAZ8JiKjNm3lmwZ88epaamqnv37goODq5Uzfbt27V582b16tWLZ0wBAAAAnFW1FpYAAAAA4K+sxt9ZAgAAAIBzAWEJAAAAADwgLKFGZGdn6+qrr1bDhg3Vu3dv7d27t9Z6SU5O1pVXXlkt+7ryyivVo0cPt32Hh4e71lksFlksFjVu3FjDhg3TsWPHquW4QHX54osvZLFYyrwmMzMzK/Vj3snJya7/v3t7eys6Olo//PBDdbdbaZs2bVJ0dLT8/PwUGxurgwcPuq2vzu+Byrjrrrs0bdo0j+veeusttWzZUr6+vrr99tsrXQecDbVxLU+bNk133XVXte1v6dKlioiIUJMmTTRu3DgVFRW5ra/p6yo8PFxr1qzxuO6RRx5RQECA/P399fzzz1e6DjWHsIQacfvttys8PFwbN25URESE7rnnnlrrZejQoVq+fHm17e+bb77Rzz//7HHdjBkzlJubq/Xr12vz5s166qmnqu24QHX47LPPJEkrV6780/vq2LGjcnNzlZ2drUGDBunmm2/+0/usiMViUWZmptuyY8eOacCAAerbt682btyoxo0ba8SIEWe9l/K88MILmjhxosd1999/v5588knt2LFDDz/8cKXrgLOlpq/liRMn6oUXXqiWff34448aPny4nnrqKX3zzTdatWqV/vOf/1TLvqtq48aN6tmzZ6nlmzZt0ty5c/Xtt99q48aN6tOnT6XqULMISzjrNm/erG+//VbPPfecWrdurcmTJ+uTTz6Rw+GolX68vLzUsGHDatuf1WrVvHnzPK6rX7++AgIC1K5dOw0ePFipqanVdlygOqxcuVJXXnlltYQlq9WqgIAABQcHa8SIEdq9e3epOzo1YenSpfLz89OMGTMUERGhqVOn6oMPPqjVO7u+vr7y8fHxuO7IkSO64oor1Lx5c3Xp0qXSdcDZUtPXso+Pj3x9fatlX3PnztWdd96pW2+9VRdccIEefPBBvf7669Wy76pq1KiRbLbSv9Zz+PBhhYSE6OKLL1arVq104YUXVqoONYuwhLPu+++/V5s2beTn5ydJatGihR555BGdOHFC69atU+fOneXr66vo6Gilp6dLktasWeN6nO2U0/8F+bPPPtPFF18sX19f9ejRQzt27HBt99prryk8PFwNGjTQgAEDdPjwYbf9lPX4zYsvvqiwsDD5+flp8ODBysvLk/R/jwc88cQTCggIUKtWrbRu3TpX3XXXXaclS5aUOs7p8vLy9MknnygyMrLSnxtwtuXk5CgtLU3jx4/X559/rlODoy5fvlxt27ZV48aNlZyc7FZT1jX7R2+//bbOP/98NW7cWJL05ZdfqnPnzgoMDNTQoUP1+++/u7Ytb11Z1/NFF13kejwwIiJCFotFb775piTp66+/dns8NiwsTCNHjqxUWCrre0CSZs+erebNm6tRo0a67bbb5HQ6JUnGGI0fP15NmjRRYGCgHnzwQf1xoFlPj/2Udw7l1RUWFmrChAlq3ry5wsPDtXTpUte6U9+dO3bs0DXXXOP2OQBVcfq1/O677+qCCy5QgwYNdNVVV2nPnj2u7VatWqWIiAiFhoZqwoQJCgsL04cffihJWrJkiZo1a6Z27dopLi5OTZs2VVpamqvW02N4d911lyZPnqzRo0erYcOGat++vTZv3uxa/8wzz6hx48bq0qWLHnjgAQUEBMhut5e6/i+77DL17t27wvMsKirSfffdp6CgIAUHB2vSpEmudU6nU3feeacCAgLUtGlTt6dEjhw5otjYWDVs2FBhYWF69dVXS+37j4/T7d+/XxaLRVdddZV27drleuxx//795dZJ0oEDB3TjjTcqICBAXbt2dfsOPvU5fvLJJ+rcubMmTJhQ4XmjEgxwliUkJJgePXqUWl5cXGyaNm1q/v3vf5t9+/aZBx54wPTv398YY8zq1atNq1at3LaXZHbu3GmMMSYkJMQ8/fTTJisry4wYMcIMGTLEGGNMXl6esdlsZsmSJSYzM9Nce+21ZuLEiW77WbhwoenVq5fbso0bNxqr1WpWrlxpsrKyzOWXX24SEhKMMcZMnTrVBAcHmzvuuMPs2LHD3HbbbeaKK64wxhjTq1cv8+yzz5rOnTubp556yixcuNDVd69evYyPj4/x9/c3NpvNdO7c2eTn5/+ZjxKoVq+//rq56KKLTEFBgfHy8jJpaWlm//79xtfX1yxYsMBs27bNREdHm1N/VJR3zS5cuNCcd955xt/f3/j6+hpvb2+zevVqY4wxu3fvNg0aNDALFiwwO3bsMLGxseb666+vcF1517PD4TC5ublGkklLSzO5ubnmxIkTxhhj+vfvbyZNmlTuuZ/p98DmzZuN1Wo1a9euNdu2bTNdu3Y1L774ojHGmJSUFBMYGGg2bNhg0tPTTVhYmPnkk0/c9j1s2DAzdepUt2XlnUN5dU888YRp3bq12bRpk/nwww+Nt7e3+e2334wxJ787Q0JCTGRkpJk/f75JTU0t93MA/qisa/nw4cPGy8vLvPrqq2bv3r3mxhtvNKNGjTLGGFNSUmLOP/98s3jxYrN69WrToEEDs3XrVtf/xxs2bGhWr15tFi9ebEJCQsy+fftMQUGB65hTp041w4YNc+tj2LBhJjg42EyYMMHs3LnT9OrVy9xxxx3GGGN+/fVX06hRI5OWlmZmzJhhunTpYvbv32+KioqMj4+P+eyzz8o9R0/X1bx580zLli3N1q1bzcaNG02jRo3M+vXrjTHGzJ8/37Rt29Zs3brVfPfdd6ZBgwZm8+bNxhhjHnnkEdOjRw+za9cuk5KSYmw2m8nLy3Pbd6tWrVzfh6c+r9zcXPPRRx+ZsLAwk5uba3Jzc01JSUm5dcYY07t3bxMbG2t27dplHnvsMdO2bVtX3dSpU01UVJTp1KmTWbZsmdm+fXu5nwMqh3t7OOsKCwt13nknb2KOGzdOr7zyiiRp7dq1SktLk7+/vzZu3Ki8vDxt3bq1UvusX7++nE6n/P399eKLL6qkpETSyUcH6tWrJ6fTqaZNm+rDDz8s9S+8nrRr10779+9XvXr19P3338sY49aL1WrVggUL5OPjo7vuuksjR450q3/ggQf0xBNPaPLkyW7L4+LidPfddyszM1NjxozRE088oZkzZ1bqHIGzbeXKlerWrZt8fHzUpUsXffbZZwoODlbr1q31z3/+U5L0+OOPa+DAga6a8q7ZCy+8UB9//LHy8/P1/PPP695771VaWppee+01de/e3bXPF198UaGhodq/f3+56/z9/cu8nk/dqZZOPqoSEBDgmi8sLJTVaj3jz6O874FTj8I5nU61bNlS3333nauufv36KikpkdPpVMeOHSs9KEZ551CeV199VXFxcerYsaM6duyoLl26KCUlRffff7+kk//y/Oyzz+q2226r7KkDbjxdyz/++KN2794tPz8/paam6sSJE67rIycnR3v37tWtt94qLy8v+fn56dChQ2rXrp2+//57+fn56corr5TT6dQdd9whY0ylHi9t0aKF6y7O0KFDtWTJEkknv4c6dOigyMhIeXt7a9q0aQoJCZFU9ev/zjvv1J133qm8vDz9/PPP8vb21tatW3XZZZe5rvHCwkJFR0fLbre7/l5Tv359FRcXq7i4WP3799fx48crPL7FYlFAQIAaNmyo8847r9LXfnZ2tr744gtt3rxZLVu2VHx8vGbOnKnNmzerffv2kqT09HT9+uuvpZ7OQdXxGB7OOn9/f9djNY8++qg2bNigkpISGWOUmJio0NBQjR49Wna7XcXFxR73kZ+f7za/ZMkSrVmzRs2bN1fPnj31008/STr5pfX2229rwYIFCg4OVv/+/fXbb79V2GNBQYHuvfdehYeHa+bMmbLZbG69XH755a4vdi8vr1IBbOjQoTp27FipgSOCgoIUHh6uK6+8UtOmTdP8+fMr7AWoKStXrtSSJUsUEBCgn376SStXrtS+ffsUFhbm2qZ169au/z7vvPPKvWa9vLwUHh6u9u3b6z//+Y8OHjyolStXKisry20/559/vry9vZWVlVXuuqpezwEBAcrNzXXNFxYWymKxuD3C40l53wPh4eF6+eWXNXHiRDVu3Fj/+7//q0OHDkmSevXqpUmTJmn48OFq0qSJRo4cWeo7qzrt2bNHDz/8sAICAhQQEOD6S+wpTZs21ZAhQ87a8fH35+la/vTTTzVx4kSdf/75mjhxooqKilzXR+PGjRUQEKBvv/1WO3bskN1uV9u2bSVJrVq1Um5urnbs2KH169crKCjIFWwqcvoj86f/2du2bVtt3bpVR44c0fr1611BQSp9/X/22WeVOt7OnTvVq1cvde3aVW+++aYaNmzoOr+hQ4fqlltu0bXXXqtmzZpp4sSJrl7Gjh2rzp07q2fPnmrZsqUSExMrdW5Vceqxx27duikgIEDnn3++SkpK3K7/2NhYglI1IyzhrOvcubO2bNmivLw8NW7cWCEhITp69KjWrFmj+fPna/PmzUpNTXUbIc9isbj9Jez0gRGOHTumY8eOaeXKla4Xo++++25JJ1+WDAwM1Ndff60DBw6oadOmGjt2bIU9Pvfcc8rJydGBAwe0atUqXX755W7rGzVqVG69t7e3RowY4Xo+25OSkpJSw5cCtSUjI0N79uzR2rVrtWHDBiUlJWndunUKDAx0G0b89D+Ey7tmPTHGqKioSC1btnQLOXv27HHdoSlvXWWuZ4vFUuofL7p06eI21PGOHTtksVjUokWLcvst73sgOztbkZGRrmCSm5ur6dOnS5K2b9+u2NhY/fLLL0pPT9f69ev14osvlnusP6NFixZ6+eWXtWHDBm3YsEFpaWkaM2aMa339+vUrdWcLqCxjjHbv3q21a9cqOztb33zzjWJjY13rS0pKFBUVpYEDB6p9+/Z68sknFRwcLOnkXdmLLrpIHTp00MCBAzV//nzXXZmKlPVnb0hIiBo2bKhmzZpp7Nixeu6551zr/nj9//bbb2rZsmWFx3rwwQfVt29f7du3T++++66aNGniWvfrr79q5MiR+u2337Ru3Tq99tpreu+99yRJW7Zs0dSpU7Vnzx4tW7ZMU6ZM0Y8//lip8ztTLVq0kNVqVWpqqtv1f/p3VYMGDc7KsesywhLOuh49euiCCy7QyJEjlZmZqSeeeELGGB09elSSXC9kjhs3zvWXnhYtWmjfvn3asWOHjh075vaCc0lJiQYNGqTXXntNhw4d0nnnned6DO/QoUPq3bu3a7S909eV5+jRozLG6NChQ3rjjTc0f/78Sj2+d7r777+/1B8ABQUFys3N1c8//6xZs2YpJibmjPYJnC2fffaZ2rZtq8suu0zh4eG64YYbVFRUpIYNG2rLli169dVXtWPHDrdrr7xrVpKKi4v1+++/KysrS5MmTZLT6dTll1+uf/zjH/rmm2/00ksvaefOnbrvvvs0ePBghYSElLuuMtdz27ZttWLFCu3Zs0dffvmlJGnYsGH65Zdf9PTTT2vnzp2Kj49Xv3793B5786S874GMjAwNGDBAX3/9tY4dOyaLxeLqZdWqVbrpppv0888/68SJE27rzoZhw4YpOTlZhYWFOnz4sG688UbXX9yA6uDpWj41QMqRI0eUkpKi6dOnu66PdevW6ciRI0pNTdXu3bvd/lHjnXfeUWhoqH7++WdlZWXp1ltv/dP9/fe//1W/fv2Ulpam3bt3u/3ZOnr0aL3wwgtasWKFNm7cqMTERN10000V7vPo0aMqLCxUdna2pkyZoh9++MF1fkuWLNHw4cOVkZGhoqIiGWNc1/izzz6rhx56SNu3b5cxxm1ddQsNDdWVV16ppKQk2Ww2paen67LLLtOuXbvOyvHw/9Xc61Goy3bs2GF69OhhGjZsaG666SYTFhZmfvjhBzN06FDToEED07FjRzN79mxjs9nM/v37jTHGjB8/3jRr1sx07tzZfPHFF24DPLz99tvmoosuMj4+PqZjx45m7dq1rmM9//zzJjw83Pj4+JjLLrvMpKenu/Xi6cXu3bt3m27dupkGDRqYPn36mAcffNBERkYaY0q/eHr64BOnBng4ZciQIW7rJBlJJigoyNx6660mOzv7z3+YQDUYOHCgGTFihNuyK664wkyYMMG8++67JiIiwjRr1szExcW5BngoLCws85pduHCh6//v3t7e5tJLLzUfffSRa99r1qwxl1xyifH39zdDhgwxubm5lVpX0fX8xRdfmDZt2hgfHx8zdOhQ1/Ivv/zSdOrUyTRo0MBcd911ru+VU870e8AYYyZPnmyaN29u6tevb3r37m327NljjDHmxIkTZuTIkSY4ONg0bNjQ3HjjjaVe8Pb0Qvkpp3+3/ZGnuhMnTpiHH37YhISEmCZNmpjx48eboqIiY4znwXGAM1HWtWy3202/fv2Mr6+vueyyy8zUqVNN06ZNTUFBgcnLyzMtWrQwQUFBxmKxGD8/P/P4448bY05eVwEBASYgIMBYLBbTuHFj89JLL7kds6wBHk7///7p1+wPP/xgfH19jZ+fn5FkWrRoYT788EPXtvPnzzfnn3++ady4sRk3blylBk5ZuXKliYiIMIGBgeaf//yn6du3rxkzZowxxpjff//d3HrrrSYgIMD4+/ubESNGuK653bt3m/79+xs/Pz/TpEkTM3ny5FKfqaeBGoyp+Hr1VLd//35zww03mEaNGpmIiAjz6quvutZ5+hzx51mMOcN/PgcAAAD+v8mTJys7O1tPPvmkvLy8tHLlSv3rX//S4cOHdccdd6hVq1YaM2aMLBaLFi1apCVLlvypR9WuuOIK3X777brppptUVFSkWbNmaffu3XrnnXeq8ayAk3gMDwAAAFU2ePBgbd68WRdccIFatGihmTNnut7bu/322/XRRx8pIiJC4eHhWrZsmZ555pk/dbx//vOfmjNnjsLCwtSuXTulpaVp6tSp1XEqQCncWQIAAAAAD7izBAAAAAAeEJYAAAAAwAPCEgAAAAB4QFgCAAAAAA8ISwAAAADgAWEJAAAAADwgLAEAAACAB4QlAAAAAPCAsAQAAAAAHvw/aFw+EgPACLgAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 1000x500 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# 可视化各个模型的准确率\n",
"plt.figure(figsize=(10,5))\n",
"plt.title('各个模型的准确率')\n",
"sns.barplot(x=df_result.index,y=df_result['accuracy_score'])\n",
"for i in range(df_result.shape[0]):\n",
" plt.text(i,df_result['accuracy_score'][i],round(df_result['accuracy_score'][i],3),ha='center')\n",
"# 设置字体选择\n",
"plt.xticks(rotation=0)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "066c3866",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.13"
}
},
"nbformat": 4,
"nbformat_minor": 5
}