From 18114815837a5fed67b3a7b2f4c9e51d82bd7e12 Mon Sep 17 00:00:00 2001 From: Aleksey Filippov Date: Thu, 3 Oct 2024 09:07:17 +0400 Subject: [PATCH] Add more FE examples --- lec3.ipynb | 367 +++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 345 insertions(+), 22 deletions(-) diff --git a/lec3.ipynb b/lec3.ipynb index 25ba91c..11db3f8 100644 --- a/lec3.ipynb +++ b/lec3.ipynb @@ -2220,6 +2220,319 @@ "pd.concat([titanic[\"Age\"], pd.qcut(titanic[\"Age\"], q=3, labels=labels)], axis=1).head(20)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Пример конструирования признаков на основе существующих\n", + "\n", + "Title - обращение к пассажиру (Mr, Mrs, Miss)\n", + "\n", + "Is_married - замужняя ли женщина\n", + "\n", + "Cabin_type - палуба (тип каюты)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
SurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarkedTitleIs_marriedCabin_type
21.01.0Cumings, Mrs. John Bradley (Florence Briggs Th...female38.01.00.0PC 1759971.2833C85CMrs1C
41.01.0Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01.00.011380353.1000C123SMrs1C
70.01.0McCarthy, Mr. Timothy Jmale54.00.00.01746351.8625E46SMr0E
111.03.0Sandstrom, Miss. Marguerite Rutfemale4.01.01.0PP 954916.7000G6SMiss0G
121.01.0Bonnell, Miss. Elizabethfemale58.00.00.011378326.5500C103SMiss0C
.............................................
8721.01.0Beckwith, Mrs. Richard Leonard (Sallie Monypeny)female47.01.01.01175152.5542D35SMrs1D
8730.01.0Carlsson, Mr. Frans Olofmale33.00.00.06955.0000B51 B53 B55SMr0B
8801.01.0Potter, Mrs. Thomas Jr (Lily Alexenia Wilson)female56.00.01.01176783.1583C50CMrs1C
8881.01.0Graham, Miss. Margaret Edithfemale19.00.00.011205330.0000B42SMiss0B
8901.01.0Behr, Mr. Karl Howellmale26.00.00.011136930.0000C148CMr0C
\n", + "

183 rows × 14 columns

\n", + "
" + ], + "text/plain": [ + " Survived Pclass Name \\\n", + "2 1.0 1.0 Cumings, Mrs. John Bradley (Florence Briggs Th... \n", + "4 1.0 1.0 Futrelle, Mrs. Jacques Heath (Lily May Peel) \n", + "7 0.0 1.0 McCarthy, Mr. Timothy J \n", + "11 1.0 3.0 Sandstrom, Miss. Marguerite Rut \n", + "12 1.0 1.0 Bonnell, Miss. Elizabeth \n", + ".. ... ... ... \n", + "872 1.0 1.0 Beckwith, Mrs. Richard Leonard (Sallie Monypeny) \n", + "873 0.0 1.0 Carlsson, Mr. Frans Olof \n", + "880 1.0 1.0 Potter, Mrs. Thomas Jr (Lily Alexenia Wilson) \n", + "888 1.0 1.0 Graham, Miss. Margaret Edith \n", + "890 1.0 1.0 Behr, Mr. Karl Howell \n", + "\n", + " Sex Age SibSp Parch Ticket Fare Cabin Embarked \\\n", + "2 female 38.0 1.0 0.0 PC 17599 71.2833 C85 C \n", + "4 female 35.0 1.0 0.0 113803 53.1000 C123 S \n", + "7 male 54.0 0.0 0.0 17463 51.8625 E46 S \n", + "11 female 4.0 1.0 1.0 PP 9549 16.7000 G6 S \n", + "12 female 58.0 0.0 0.0 113783 26.5500 C103 S \n", + ".. ... ... ... ... ... ... ... ... \n", + "872 female 47.0 1.0 1.0 11751 52.5542 D35 S \n", + "873 male 33.0 0.0 0.0 695 5.0000 B51 B53 B55 S \n", + "880 female 56.0 0.0 1.0 11767 83.1583 C50 C \n", + "888 female 19.0 0.0 0.0 112053 30.0000 B42 S \n", + "890 male 26.0 0.0 0.0 111369 30.0000 C148 C \n", + "\n", + " Title Is_married Cabin_type \n", + "2 Mrs 1 C \n", + "4 Mrs 1 C \n", + "7 Mr 0 E \n", + "11 Miss 0 G \n", + "12 Miss 0 C \n", + ".. ... ... ... \n", + "872 Mrs 1 D \n", + "873 Mr 0 B \n", + "880 Mrs 1 C \n", + "888 Miss 0 B \n", + "890 Mr 0 C \n", + "\n", + "[183 rows x 14 columns]" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "titanic_cl = titanic.drop(\n", + " [\"Embarked_Q\", \"Embarked_S\", \"Embarked_nan\", \"Sex_male\"], axis=1, errors=\"ignore\"\n", + ")\n", + "titanic_cl = titanic_cl.dropna()\n", + "\n", + "titanic_cl[\"Title\"] = [\n", + " i.split(\",\")[1].split(\".\")[0].strip() for i in titanic_cl[\"Name\"]\n", + "]\n", + "\n", + "titanic_cl[\"Is_married\"] = [1 if i == \"Mrs\" else 0 for i in titanic_cl[\"Title\"]]\n", + "\n", + "titanic_cl[\"Cabin_type\"] = [i[0] for i in titanic_cl[\"Cabin\"]]\n", + "\n", + "titanic_cl" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -2244,7 +2557,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -2276,7 +2589,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -2331,7 +2644,7 @@ " No relationships" ] }, - "execution_count": 17, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -2408,7 +2721,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 19, "metadata": {}, "outputs": [ { @@ -2428,7 +2741,7 @@ " order_items.seller_id -> sellers.seller_id" ] }, - "execution_count": 18, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -2455,7 +2768,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -2466,11 +2779,11 @@ " agg_primitives: ['any', 'mode']\n", "This may be caused by a using a value of max_depth that is too small, not setting interesting values, or it may indicate no compatible columns for the primitive were found in the data. If the DFS call contained multiple instances of a primitive in the list above, none of them were used.\n", " warnings.warn(warning_msg, UnusedPrimitiveWarning)\n", - "c:\\Users\\user\\Projects\\python\\mai\\.venv\\Lib\\site-packages\\featuretools\\computational_backends\\feature_set_calculator.py:785: FutureWarning: The provided callable is currently using SeriesGroupBy.mean. In a future version of pandas, the provided callable will be used directly. To keep current behavior pass the string \"mean\" instead.\n", + "c:\\Users\\user\\Projects\\python\\mai\\.venv\\Lib\\site-packages\\featuretools\\computational_backends\\feature_set_calculator.py:785: FutureWarning: The provided callable is currently using SeriesGroupBy.mean. In a future version of pandas, the provided callable will be used directly. To keep current behavior pass the string \"mean\" instead.\n", " ).agg(to_agg)\n", - "c:\\Users\\user\\Projects\\python\\mai\\.venv\\Lib\\site-packages\\featuretools\\computational_backends\\feature_set_calculator.py:785: FutureWarning: The provided callable is currently using SeriesGroupBy.mean. In a future version of pandas, the provided callable will be used directly. To keep current behavior pass the string \"mean\" instead.\n", + "c:\\Users\\user\\Projects\\python\\mai\\.venv\\Lib\\site-packages\\featuretools\\computational_backends\\feature_set_calculator.py:785: FutureWarning: The provided callable is currently using SeriesGroupBy.mean. In a future version of pandas, the provided callable will be used directly. To keep current behavior pass the string \"mean\" instead.\n", " ).agg(to_agg)\n", - "c:\\Users\\user\\Projects\\python\\mai\\.venv\\Lib\\site-packages\\featuretools\\computational_backends\\feature_set_calculator.py:785: FutureWarning: The provided callable is currently using SeriesGroupBy.mean. In a future version of pandas, the provided callable will be used directly. To keep current behavior pass the string \"mean\" instead.\n", + "c:\\Users\\user\\Projects\\python\\mai\\.venv\\Lib\\site-packages\\featuretools\\computational_backends\\feature_set_calculator.py:785: FutureWarning: The provided callable is currently using SeriesGroupBy.mean. In a future version of pandas, the provided callable will be used directly. To keep current behavior pass the string \"mean\" instead.\n", " ).agg(to_agg)\n" ] }, @@ -2984,7 +3297,7 @@ "[115 rows x 43 columns]" ] }, - "execution_count": 19, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -3012,7 +3325,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 21, "metadata": {}, "outputs": [ { @@ -3063,7 +3376,7 @@ " ]" ] }, - "execution_count": 20, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -3088,7 +3401,7 @@ }, { "cell_type": "code", - "execution_count": 148, + "execution_count": 22, "metadata": {}, "outputs": [ { @@ -3097,9 +3410,19 @@ "" ] }, - "execution_count": 148, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGdCAYAAACyzRGfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAqrElEQVR4nO3dfXRU9YH/8U9IJpMnEkqUSVISyI8ooRqkIiWpAkLzsEg5ZglF+dnf0hbXnpaHhqCUuIrGBaNYHo7IQ92ThdUWVNjIFuQhWdQQaoIQC4VqI9gIKCQ+JgMJmUwm8/vDZbYRVCaZfCcP79c5OcP93u/c+cA5N/Ph3jtzA9xut1sAAACG9PN3AAAA0LdQPgAAgFGUDwAAYBTlAwAAGEX5AAAARlE+AACAUZQPAABgFOUDAAAYFeTvAF/W1tams2fPqn///goICPB3HAAAcBXcbrfOnz+vuLg49ev39cc2ul35OHv2rOLj4/0dAwAAdMCZM2c0ePDgr53T7cpH//79JX0RPjIy0s9pAPiS0+lUSUmJMjMzZbFY/B0HgA/Z7XbFx8d73se/TrcrH5dOtURGRlI+gF7G6XQqLCxMkZGRlA+gl7qaSya44BQAABhF+QAAAEZRPgAAgFGUDwAAYBTlAwAAGEX5AAAARlE+AACAUZQPAABgFOUDgBEul0tlZWXav3+/ysrK5HK5/B0JgJ94VT5cLpcefvhhJSYmKjQ0VMOGDdO//uu/yu12e+a43W4tWbJEsbGxCg0NVXp6uk6cOOHz4AB6juLiYiUlJSkjI0MrV65URkaGkpKSVFxc7O9oAPzAq/Lx5JNPav369XrmmWf0zjvv6Mknn9Ty5cu1Zs0az5zly5fr6aef1oYNG3Tw4EGFh4crKytLzc3NPg8PoPsrLi7W9OnTlZKSovLycm3ZskXl5eVKSUnR9OnTKSBAHxTg/vvDFt/ghz/8oWw2m4qKijxjOTk5Cg0N1e9+9zu53W7FxcVp4cKFuv/++yVJDQ0Nstls2rRpk+6+++5vfA273a6oqCg1NDRwbxegh3O5XEpKSlJKSoq2b98ul8ulXbt26Y477lBgYKCys7N1/PhxnThxQoGBgf6OC6ATvHn/9urGct///vf17LPP6t1339X111+vo0eP6sCBA1q5cqUkqaamRrW1tUpPT/c8JyoqSmPHjlVFRcUVy4fD4ZDD4WgXXvriBlROp9ObeAC6mbKyMr3//vt6/vnn5XK5PPv0pccHHnhA48eP12uvvaYJEyb4MyqATvLmPdur8rF48WLZ7XYlJycrMDBQLpdLy5Yt0z333CNJqq2tlSTZbLZ2z7PZbJ51X1ZYWKiCgoLLxktKShQWFuZNPADdzP79+yVJH3zwgT799FPPeGlpqSTp4sWLkqTdu3ersbHRfEAAPtPU1HTVc70qHy+99JJ+//vfa/Pmzbrhhht05MgR5ebmKi4uTrNmzfI6qCTl5+crLy/Ps2y32xUfH6/MzExOuwA9XHh4uFauXKnBgwdr7NixcjqdKi0tVUZGhiwWiyorKyVJkydP5sgH0MNdOnNxNbwqHw888IAWL17sOX2SkpKiU6dOqbCwULNmzVJMTIwkqa6uTrGxsZ7n1dXVadSoUVfcptVqldVqvWzcYrHIYrF4Ew9ANzNx4kQNHTpUy5cv1/bt2z3jFotFgYGBeuqpp5SYmKiJEydyzQfQw3nznu3Vp12amprUr1/7pwQGBqqtrU2SlJiYqJiYGO3bt8+z3m636+DBg0pLS/PmpQD0AoGBgVqxYoV27typ7OxsVVZW6uLFi6qsrFR2drZ27typ3/zmNxQPoI/x6sjH1KlTtWzZMiUkJOiGG27Qn/70J61cuVI/+9nPJEkBAQHKzc3V0qVLdd111ykxMVEPP/yw4uLilJ2d3RX5AXRz06ZN07Zt27Rw4UKNHz/eM56YmKht27Zp2rRpfkwHwB+8+qjt+fPn9fDDD+vll1/WRx99pLi4OM2cOVNLlixRcHCwpC++ZOyRRx7Rs88+q/r6et12221at26drr/++qt6DT5qC/ROLpdLr732mnbv3q3JkydzqgXoZbx5//aqfJhA+QB6L6fT6fmeD67pAnoXb96/ubcLAAAwivIBAACMonwAAACjKB8AAMAoygcAADCK8gEAAIyifAAAAKMoHwAAwCjKBwAAMIryAQAAjKJ8AAAAoygfAADAKMoHAAAwivIBAACMonwAMMLlcqmsrEz79+9XWVmZXC6XvyMB8BPKB4AuV1xcrKSkJGVkZGjlypXKyMhQUlKSiouL/R0NgB9QPgB0qeLiYk2fPl0pKSkqLy/Xli1bVF5erpSUFE2fPp0CAvRBAW632+3vEH/PbrcrKipKDQ0NioyM9HccAJ3gcrmUlJSklJQUbd++XS6XS7t27dIdd9yhwMBAZWdn6/jx4zpx4oQCAwP9HRdAJ3jz/s2RDwBdpry8XO+//74efPBB9evX/tdNv379lJ+fr5qaGpWXl/spIQB/oHwA6DLnzp2TJN14441XXH9p/NI8AH0D5QNAl4mNjZUkHT9+/IrrL41fmgegb6B8AOgy48aN09ChQ/X444+rra2t3bq2tjYVFhYqMTFR48aN81NCAP5A+QDQZQIDA7VixQrt3LlT2dnZqqys1MWLF1VZWans7Gzt3LlTv/nNb7jYFOhjgvwdAEDvNm3aNG3btk0LFy7U+PHjPeOJiYnatm2bpk2b5sd0APyBj9oCMMLlcum1117T7t27NXnyZE2cOJEjHkAv4s37N0c+ABgRGBioCRMmqLGxURMmTKB4AH0Y5QOAES0tLVqzZo1effVVnTx5UvPmzVNwcLC/YwHwAy44BdDlFi1apPDwcN1///3atWuX7r//foWHh2vRokX+jgbADzjyAaBLLVq0SE899ZRsNpsKCgpktVrlcDj0yCOP6KmnnpIkLV++3M8pAZjEkQ8AXaalpUWrVq2SzWbTqVOnNGzYMB07dkzDhg3TqVOnZLPZtGrVKrW0tPg7KgCDKB8Ausy6devU2tqqadOmKTk5WRkZGVq5cqUyMjKUnJysf/zHf1Rra6vWrVvn76gADOK0C4Au895770mS1q9frylTpmjq1Kmqrq7W8OHD9be//U0bNmxoNw9A3+DVkY+hQ4cqICDgsp85c+ZIkpqbmzVnzhxFR0crIiJCOTk5qqur65LgALq/oUOHSpKuvfZa7d27V2vWrFFJSYnWrFmjvXv36tprr203D0Df4FX5OHTokM6dO+f5KS0tlST96Ec/kiQtWLBAO3bs0NatW1VWVqazZ8/y7YVAH5aSkiJJ+vjjjxUdHa0NGzZo48aN2rBhg6Kjo/Xxxx+3mwegb/DqtMul/6Vc8sQTT2jYsGGaMGGCGhoaVFRUpM2bN2vSpEmSpI0bN2rEiBGqrKxUamqq71ID6BH+/shnW1ub2tra5Ha7PX++0jwAvV+Hr/loaWnR7373O+Xl5SkgIEBVVVVyOp1KT0/3zElOTlZCQoIqKiq+snw4HA45HA7Pst1ulyQ5nU45nc6OxgPQDbzxxhuSpDFjxuhPf/qTfvnLX3rWBQUF6ZZbbtHhw4f1xhtv6O677/ZXTAA+4M17dofLx/bt21VfX6+f/OQnkqTa2loFBwdrwIAB7ebZbDbV1tZ+5XYKCwtVUFBw2XhJSYnCwsI6Gg9AN/D+++9L+t//rJSUlKi2tlYxMTHKzMxUYWGhZ96uXbv8mBRAZzU1NV313A6Xj6KiIk2ePFlxcXEd3YQkKT8/X3l5eZ5lu92u+Ph4ZWZmcmM5oIc7efKk9uzZo6NHj+r555/XwoULVVdXJ5vNphUrVujo0aOSpPT0dN1xxx1+TgugMy6dubgaHSofp06d0n//93+ruLjYMxYTE6OWlhbV19e3O/pRV1enmJiYr9yW1WqV1Wq9bNxischisXQkHoBuYt68eVq8eLHCw8N17Ngxz/VgkjRkyBBFRUWpsbFR8+bNY38Hejhv9uEOfcnYxo0bNWjQIE2ZMsUzNnr0aFksFu3bt88zVl1drdOnTystLa0jLwOghwsODtaCBQvU0NAgh8Oh3Nxc3XfffcrNzVVzc7MaGhq0YMECbjAH9DFeH/loa2vTxo0bNWvWLAUF/e/To6KiNHv2bOXl5WngwIGKjIzUvHnzlJaWxiddgD7s0n1bVq1apdWrV3vGg4KC9MADD3BfF6APCnC73W5vnlBSUqKsrCxVV1fr+uuvb7euublZCxcu1JYtW+RwOJSVlaV169Z97WmXL7Pb7YqKilJDQwPXfAC9SEtLi9asWaNXX31VkyZN0rx58zjiAfQi3rx/e10+uhrlA+i9nE6ndu3apTvuuINrPIBexpv3b24sBwAAjKJ8AAAAoygfAADAKMoHAAAwivIBAACMonwAMMLlcqmsrEz79+9XWVmZXC6XvyMB8BPKB4AuV1xcrKSkJGVkZGjlypXKyMhQUlJSu1s0AOg7KB8AulRxcbGmT5+ulJQUlZeXa8uWLSovL1dKSoqmT59OAQH6IL5kDECXcblcSkpKUkpKirZv3y6Xy+X5krHAwEBlZ2fr+PHjOnHihAIDA/0dF0An8CVjALqF8vJyvf/++3rwwQflcDg0f/58Pfroo5o/f74cDofy8/NVU1Oj8vJyf0cFYJDXN5YDgKt17tw5SdLSpUv1yiuveMaPHDmiDRs2eO6MfWkegL6B8gGgy8TGxkqSXnnlFQUHBys3N1eJiYmqqanR6tWrPYXk0jwAfQPXfADoMhcuXFD//v0VEBCgpqYmBQYGeq75cLlcCgsLk9vt1vnz5xUREeHvuAA6gWs+AHQLixcvliS53W7NmDFDlZWVunjxoiorKzVjxgxd+r/PpXkA+gbKB4Auc+LECUnSM888o2PHjmn8+PGaOXOmxo8fr+PHj2vNmjXt5gHoGygfALrMddddJ0n64IMPdPLkSZWWliovL0+lpaU6ceKEzpw5024egL6Baz4AdJmLFy8qLCxMwcHBOn/+vAICAjzXfLjdbvXv318tLS1qampSaGiov+MC6ARv3r/5tAuAb9TU1KS//vWvHXruhAkTVFZWpoiICE2fMUNh1wzWi1u3attLL8npdGrChAl65513OpwtOTlZYWFhHX4+APM48gHgG7311lsaPXq0v2NcUVVVlW6++WZ/xwD6PI58APCp5ORkVVVVdWobFy9e1KOPL1fZn6o14bvD9eiDi3xyqiU5ObnT2wBgFkc+ABhz5NSnyl5fqe2/SNWoIdH+jgPAh/ieDwAA0G1RPgAAgFGUDwAAYBTlAwAAGEX5AAAARlE+AACAUZQPAABgFOUDAAAYRfkAAABGUT4AAIBRXpePDz/8UD/+8Y8VHR2t0NBQpaSk6PDhw571brdbS5YsUWxsrEJDQ5Wenq4TJ074NDQAAOi5vCofn3/+uW699VZZLBbt3r1bb7/9tlasWKFvfetbnjnLly/X008/rQ0bNujgwYMKDw9XVlaWmpubfR4eAAD0PF7d1fbJJ59UfHy8Nm7c6BlLTEz0/Nntdmv16tV66KGHdOedd0qSnnvuOdlsNm3fvl133323j2IDAICeyqvy8Yc//EFZWVn60Y9+pLKyMn3729/WL3/5S/3zP/+zJKmmpka1tbVKT0/3PCcqKkpjx45VRUXFFcuHw+GQw+HwLNvtdkmS0+mU0+ns0F8KQPfU2trqeWT/BnoXb/Zpr8rH3/72N61fv155eXl68MEHdejQIc2fP1/BwcGaNWuWamtrJUk2m63d82w2m2fdlxUWFqqgoOCy8ZKSEoWFhXkTD0A3d+aCJAWpsrJSHx73dxoAvtTU1HTVc70qH21tbbrlllv0+OOPS5K++93v6vjx49qwYYNmzZrlXcr/kZ+fr7y8PM+y3W5XfHy8MjMzFRkZ2aFtAuiejp7+TDp2WKmpqbopYaC/4wDwoUtnLq6GV+UjNjZW3/nOd9qNjRgxQv/5n/8pSYqJiZEk1dXVKTY21jOnrq5Oo0aNuuI2rVarrFbrZeMWi0UWi8WbeAC6uaCgIM8j+zfQu3izT3v1aZdbb71V1dXV7cbeffddDRkyRNIXF5/GxMRo3759nvV2u10HDx5UWlqaNy8FAAB6Ka+OfCxYsEDf//739fjjj2vGjBl688039eyzz+rZZ5+VJAUEBCg3N1dLly7Vddddp8TERD388MOKi4tTdnZ2V+QHAAA9jFflY8yYMXr55ZeVn5+vxx57TImJiVq9erXuuecez5xFixapsbFR9913n+rr63Xbbbdpz549CgkJ8Xl4AADQ8wS43W63v0P8PbvdrqioKDU0NHDBKdDLHDn1qbLXV2r7L1I1aki0v+MA8CFv3r+5twsAADCK8gEAAIyifAAAAKMoHwAAwCjKBwAAMIryAQAAjKJ8AAAAoygfAADAKMoHAAAwivIBAACMonwAAACjKB8AAMAoygcAADCK8gEAAIyifAAAAKMoHwAAwCjKBwAAMIryAQAAjKJ8AAAAoygfAADAKMoHAAAwivIBAACMonwAAACjKB8AAMAoygcAADCK8gEAAIyifAAAAKMoHwAAwCjKBwAAMIryAQAAjKJ8AAAAo7wqH48++qgCAgLa/SQnJ3vWNzc3a86cOYqOjlZERIRycnJUV1fn89AAAKDn8vrIxw033KBz5855fg4cOOBZt2DBAu3YsUNbt25VWVmZzp49q2nTpvk0MAAA6NmCvH5CUJBiYmIuG29oaFBRUZE2b96sSZMmSZI2btyoESNGqLKyUqmpqZ1PCwAAejyvy8eJEycUFxenkJAQpaWlqbCwUAkJCaqqqpLT6VR6erpnbnJyshISElRRUfGV5cPhcMjhcHiW7Xa7JMnpdMrpdHobD0A31tra6nlk/wZ6F2/2aa/Kx9ixY7Vp0yYNHz5c586dU0FBgcaNG6fjx4+rtrZWwcHBGjBgQLvn2Gw21dbWfuU2CwsLVVBQcNl4SUmJwsLCvIkHoJs7c0GSglRZWakPj/s7DQBfampquuq5XpWPyZMne/48cuRIjR07VkOGDNFLL72k0NBQbzblkZ+fr7y8PM+y3W5XfHy8MjMzFRkZ2aFtAuiejp7+TDp2WKmpqbopYaC/4wDwoUtnLq6G16dd/t6AAQN0/fXX6+TJk8rIyFBLS4vq6+vbHf2oq6u74jUil1itVlmt1svGLRaLLBZLZ+IB6GaCgoI8j+zfQO/izT7dqe/5uHDhgt577z3FxsZq9OjRslgs2rdvn2d9dXW1Tp8+rbS0tM68DAAA6EW8OvJx//33a+rUqRoyZIjOnj2rRx55RIGBgZo5c6aioqI0e/Zs5eXlaeDAgYqMjNS8efOUlpbGJ10AAICHV+Xjgw8+0MyZM/Xpp5/q2muv1W233abKykpde+21kqRVq1apX79+ysnJkcPhUFZWltatW9clwQEAQM/kVfl44YUXvnZ9SEiI1q5dq7Vr13YqFAAA6L24twsAADCK8gEAAIyifAAAAKMoHwAAwCjKBwAAMIryAQAAjKJ8AAAAoygfAADAKMoHAAAwivIBAACMonwAAACjKB8AAMAoygcAADCK8gEAAIyifAAAAKMoHwAAwCjKBwAAMIryAQAAjKJ8AAAAoygfAADAKMoHAAAwivIBAACMonwAAACjKB8AAMAoygcAADCK8gEAAIyifAAAAKMoHwAAwCjKBwAAMIryAQAAjKJ8AAAAozpVPp544gkFBAQoNzfXM9bc3Kw5c+YoOjpaERERysnJUV1dXWdzAgCAXqLD5ePQoUP67W9/q5EjR7YbX7BggXbs2KGtW7eqrKxMZ8+e1bRp0zodFAAA9A4dKh8XLlzQPffco3/7t3/Tt771Lc94Q0ODioqKtHLlSk2aNEmjR4/Wxo0b9cYbb6iystJnoQEAQM8V1JEnzZkzR1OmTFF6erqWLl3qGa+qqpLT6VR6erpnLDk5WQkJCaqoqFBqaupl23I4HHI4HJ5lu90uSXI6nXI6nR2JB6Cbam1t9TyyfwO9izf7tNfl44UXXtBbb72lQ4cOXbautrZWwcHBGjBgQLtxm82m2traK26vsLBQBQUFl42XlJQoLCzM23gAurEzFyQpSJWVlfrwuL/TAPClpqamq57rVfk4c+aMfvWrX6m0tFQhISFeB7uS/Px85eXleZbtdrvi4+OVmZmpyMhIn7wGgO7h6OnPpGOHlZqaqpsSBvo7DgAfunTm4mp4VT6qqqr00Ucf6eabb/aMuVwu7d+/X88884z27t2rlpYW1dfXtzv6UVdXp5iYmCtu02q1ymq1XjZusVhksVi8iQegmwsKCvI8sn8DvYs3+7RX5eMHP/iBjh071m7spz/9qZKTk/XrX/9a8fHxslgs2rdvn3JyciRJ1dXVOn36tNLS0rx5KQAA0Et5VT769++vG2+8sd1YeHi4oqOjPeOzZ89WXl6eBg4cqMjISM2bN09paWlXvNgUAAD0PR36tMvXWbVqlfr166ecnBw5HA5lZWVp3bp1vn4ZAADQQ3W6fLz++uvtlkNCQrR27VqtXbu2s5sGAAC9EPd2AQAARvn8tAuA7qPmk0Y1Olr9HcPjvY8bPY+XPvnSXYRbg5R4Tbi/YwB9Qvfa+wH4TM0njZr4m9f9HeOKFm479s2T/OC1+2+ngAAGUD6AXurSEY/Vd41S0qAIP6f5QuNFh3a+XqEf3p6m8NDLv9/HX05+dEG5Lx7pVkeJgN6M8gH0ckmDInTjt6P8HUPSF/d+qL1WunnIt/iSMaAP44JTAABgFOUDAAAYRfkAAABGUT4AAIBRlA8AAGAU5QMAABhF+QAAAEZRPgAAgFGUDwAAYBTlAwAAGEX5AAAARlE+AACAUZQPAABgFOUDAAAYRfkAAABGUT4AAIBRlA8AAGAU5QMAABhF+QAAAEZRPgAAgFGUDwAAYBTlAwAAGEX5AAAARlE+AACAUZQPAABgFOUDAAAY5VX5WL9+vUaOHKnIyEhFRkYqLS1Nu3fv9qxvbm7WnDlzFB0drYiICOXk5Kiurs7noQEAQM/lVfkYPHiwnnjiCVVVVenw4cOaNGmS7rzzTv3lL3+RJC1YsEA7duzQ1q1bVVZWprNnz2ratGldEhwAAPRMQd5Mnjp1arvlZcuWaf369aqsrNTgwYNVVFSkzZs3a9KkSZKkjRs3asSIEaqsrFRqaqrvUgMAgB6rw9d8uFwuvfDCC2psbFRaWpqqqqrkdDqVnp7umZOcnKyEhARVVFT4JCwAAOj5vDryIUnHjh1TWlqampubFRERoZdfflnf+c53dOTIEQUHB2vAgAHt5ttsNtXW1n7l9hwOhxwOh2fZbrdLkpxOp5xOp7fxAPyP1tZWz2N32Zcu5egueS7pjv9WQE/jzb7jdfkYPny4jhw5ooaGBm3btk2zZs1SWVmZt5vxKCwsVEFBwWXjJSUlCgsL6/B2gb7uzAVJCtKBAwd0KsLfadorLS31d4R2uvO/FdBTNDU1XfXcALfb7e7Mi6Wnp2vYsGG666679IMf/ECff/55u6MfQ4YMUW5urhYsWHDF51/pyEd8fLw++eQTRUZGdiYa0Kf95axd2esrtf0XqbohrnvsS06nU6WlpcrIyJDFYvF3HI/u+G8F9DR2u13XXHONGhoavvH92+sjH1/W1tYmh8Oh0aNHy2KxaN++fcrJyZEkVVdX6/Tp00pLS/vK51utVlmt1svGLRZLt/rlBPQ0QUFBnsfuti91t/27O/9bAT2FN/uOV+UjPz9fkydPVkJCgs6fP6/Nmzfr9ddf1969exUVFaXZs2crLy9PAwcOVGRkpObNm6e0tDQ+6QIAADy8Kh8fffSR/umf/knnzp1TVFSURo4cqb179yojI0OStGrVKvXr1085OTlyOBzKysrSunXruiQ4AADombwqH0VFRV+7PiQkRGvXrtXatWs7FQoAAPRe3NsFAAAY1ekLTgF0XwFBdtXYq9UvpHt8frS1tVVnW8/qnc/e8Vzk2R3U2C8oIMju7xhAn9F99n4APmcZcFAPvvm4v2NcZt2e7nctmGXADyTd4e8YQJ9A+QB6MWf9WK2Y8n81bFD3OfLxxwN/1K233dqtjny899EFzf/9e/6OAfQZ3WfvB+Bz7tZIJUYO13eio/wdRdIXXzJWE1SjEQNHdKvv02hrbpC79WN/xwD6DC44BQAARlE+AACAUZQPAABgFOUDAAAYRfkAAABGUT4AAIBRlA8AAGAU5QMAABhF+QAAAEZRPgAAgFGUDwAAYBTlAwAAGEX5AAAARlE+AACAUZQPAABgFOUDAAAYRfkAAABGUT4AAIBRlA8AAGAU5QMAABhF+QAAAEZRPgAAgFGUDwAAYBTlAwAAGEX5AAAARlE+AACAUZQPAABglFflo7CwUGPGjFH//v01aNAgZWdnq7q6ut2c5uZmzZkzR9HR0YqIiFBOTo7q6up8GhoAAPRcXpWPsrIyzZkzR5WVlSotLZXT6VRmZqYaGxs9cxYsWKAdO3Zo69atKisr09mzZzVt2jSfBwcAAD1TkDeT9+zZ025506ZNGjRokKqqqjR+/Hg1NDSoqKhImzdv1qRJkyRJGzdu1IgRI1RZWanU1FTfJQfwtS46XZKk4x82+DnJ/2q86NDhj6WYU58rPNTq7zgeJz+64O8IQJ/iVfn4soaGL36pDRw4UJJUVVUlp9Op9PR0z5zk5GQlJCSooqLiiuXD4XDI4XB4lu12uyTJ6XTK6XR2Jh7Qp7177ov9c3HxMT8n+bIgPX/ykL9DXJE10M3vHaCDvNl3Olw+2tralJubq1tvvVU33nijJKm2tlbBwcEaMGBAu7k2m021tbVX3E5hYaEKCgouGy8pKVFYWFhH4wFwSnf/nwANCnUruJtcWl53UXr+ZJD+X1KrbKH+TtOeNVB6+2CZ3vZ3EKCHampquuq5HS4fc+bM0fHjx3XgwIGObkKSlJ+fr7y8PM+y3W5XfHy8MjMzFRkZ2altA33dDH8H+JKjpz/T8ycP686JqbopYaC/4wDwoUtnLq5Gh8rH3LlztXPnTu3fv1+DBw/2jMfExKilpUX19fXtjn7U1dUpJibmituyWq2yWi8/92uxWGSxWDoSD0A3FRQU5Hlk/wZ6F2/2aa8Oxrrdbs2dO1cvv/yyXn31VSUmJrZbP3r0aFksFu3bt88zVl1drdOnTystLc2blwIAAL2UV0c+5syZo82bN+u//uu/1L9/f891HFFRUQoNDVVUVJRmz56tvLw8DRw4UJGRkZo3b57S0tL4pAsAAJDkZflYv369JOn2229vN75x40b95Cc/kSStWrVK/fr1U05OjhwOh7KysrRu3TqfhAUAAD2fV+XD7XZ/45yQkBCtXbtWa9eu7XAoAADQe3WTD+ABAIC+gvIBAACMonwAAACjKB8AAMAoygcAADCK8gEAAIyifAAAAKMoHwAAwCjKBwAAMIryAQAAjKJ8AAAAoygfAADAKMoHAAAwivIBAACMonwAAACjKB8AAMAoygcAADCK8gEAAIyifAAAAKMoHwAAwCjKBwAAMIryAQAAjKJ8AAAAoygfAADAKMoHAAAwivIBAACMonwAAACjKB8AAMAoygcAADCK8gEAAIyifAAAAKO8Lh/79+/X1KlTFRcXp4CAAG3fvr3derfbrSVLlig2NlahoaFKT0/XiRMnfJUXAAD0cF6Xj8bGRt10001au3btFdcvX75cTz/9tDZs2KCDBw8qPDxcWVlZam5u7nRYAADQ8wV5+4TJkydr8uTJV1zndru1evVqPfTQQ7rzzjslSc8995xsNpu2b9+uu+++u3NpAQBAj+d1+fg6NTU1qq2tVXp6umcsKipKY8eOVUVFxRXLh8PhkMPh8Czb7XZJktPplNPp9GU8AH7W2trqeWT/BnoXb/Zpn5aP2tpaSZLNZms3brPZPOu+rLCwUAUFBZeNl5SUKCwszJfxAPjZmQuSFKTKykp9eNzfaQD4UlNT01XP9Wn56Ij8/Hzl5eV5lu12u+Lj45WZmanIyEg/JgPga0dPfyYdO6zU1FTdlDDQ33EA+NClMxdXw6flIyYmRpJUV1en2NhYz3hdXZ1GjRp1xedYrVZZrdbLxi0WiywWiy/jAfCzoKAgzyP7N9C7eLNP+/R7PhITExUTE6N9+/Z5xux2uw4ePKi0tDRfvhQAAOihvD7yceHCBZ08edKzXFNToyNHjmjgwIFKSEhQbm6uli5dquuuu06JiYl6+OGHFRcXp+zsbF/mBgAAPZTX5ePw4cOaOHGiZ/nS9RqzZs3Spk2btGjRIjU2Nuq+++5TfX29brvtNu3Zs0chISG+Sw0AAHosr8vH7bffLrfb/ZXrAwIC9Nhjj+mxxx7rVDAAANA7cW8XAABgFOUDAAAYRfkAAABGUT4AAIBRlA8AAGAU5QMAABhF+QAAAEZRPgAAgFGUDwAAYBTlAwAAGEX5AAAARlE+AACAUZQPAABgFOUDAAAYRfkAAABGUT4AAIBRlA8AAGAU5QMAABhF+QAAAEZRPgAAgFGUDwAAYBTlAwAAGEX5AAAARlE+AACAUZQPAABgFOUDAAAYRfkAAABGUT4AAIBRlA8AAGAU5QMAABhF+QAAAEZ1WflYu3athg4dqpCQEI0dO1ZvvvlmV70UAADoQYK6YqMvvvii8vLytGHDBo0dO1arV69WVlaWqqurNWjQoK54SQBdqKmpSX/96187vZ3qc/Vy1J7UO8dD1fbpgM4Hk5ScnKywsDCfbAuAGQFut9vt642OHTtWY8aM0TPPPCNJamtrU3x8vObNm6fFixd/7XPtdruioqLU0NCgyMhIX0cD0AFvvfWWRo8e7e8YV1RVVaWbb77Z3zGAPs+b92+fH/loaWlRVVWV8vPzPWP9+vVTenq6KioqLpvvcDjkcDg8y3a7XZLkdDrldDp9HQ9ABwwbNkwHDx7s9HYuXHRob/khZY0bo4hQqw+SfZGN3xWA/3mzH/q8fHzyySdyuVyy2Wztxm022xUP2xYWFqqgoOCy8ZKSEg6lAr3Q91OG6Xz9Zzpf75vtnTt3zjcbAtApTU1NVz23S6758EZ+fr7y8vI8y3a7XfHx8crMzOS0C9DLOJ1OlZaWKiMjQxaLxd9xAPjQpTMXV8Pn5eOaa65RYGCg6urq2o3X1dUpJibmsvlWq1VW6+WHXy0WC7+cgF6K/RvofbzZp33+Udvg4GCNHj1a+/bt84y1tbVp3759SktL8/XLAQCAHqZLTrvk5eVp1qxZuuWWW/S9731Pq1evVmNjo3760592xcsBAIAepEvKx1133aWPP/5YS5YsUW1trUaNGqU9e/ZcdhEqAADoe7rsgtO5c+dq7ty5XbV5AADQQ3FvFwAAYBTlAwAAGEX5AAAARlE+AACAUZQPAABgFOUDAAAYRfkAAABG+f3Gcl/mdrsleXeDGgA9g9PpVFNTk+x2O/d2AXqZS+/bl97Hv063Kx/nz5+XJMXHx/s5CQAA8Nb58+cVFRX1tXMC3FdTUQxqa2vT2bNn1b9/fwUEBPg7DgAfstvtio+P15kzZxQZGenvOAB8yO126/z584qLi1O/fl9/VUe3Kx8Aei+73a6oqCg1NDRQPoA+jAtOAQCAUZQPAABgFOUDgDFWq1WPPPKIrFarv6MA8COu+QAAAEZx5AMAABhF+QAAAEZRPgAAgFGUDwAAYBTlA4BPVFRUKDAwUFOmTPF3FADdHJ92AeAT9957ryIiIlRUVKTq6mrFxcX5OxKAboojHwA67cKFC3rxxRf1i1/8QlOmTNGmTZvarf/DH/6g6667TiEhIZo4caL+4z/+QwEBAaqvr/fMOXDggMaNG6fQ0FDFx8dr/vz5amxsNPsXAWAE5QNAp7300ktKTk7W8OHD9eMf/1j//u//7rmtdk1NjaZPn67s7GwdPXpUP//5z/Uv//Iv7Z7/3nvv6R/+4R+Uk5OjP//5z3rxxRd14MABzZ071x9/HQBdjNMuADrt1ltv1YwZM/SrX/1Kra2tio2N1datW3X77bdr8eLFeuWVV3Ts2DHP/IceekjLli3T559/rgEDBujee+9VYGCgfvvb33rmHDhwQBMmTFBjY6NCQkL88dcC0EU48gGgU6qrq/Xmm29q5syZkqSgoCDdddddKioq8qwfM2ZMu+d873vfa7d89OhRbdq0SREREZ6frKwstbW1qaamxsxfBIAxQf4OAKBnKyoqUmtra7sLTN1ut6xWq5555pmr2saFCxf085//XPPnz79sXUJCgs+yAugeKB8AOqy1tVXPPfecVqxYoczMzHbrsrOztWXLFg0fPly7du1qt+7QoUPtlm+++Wa9/fbbSkpK6vLMAPyPaz4AdNj27dt111136aOPPlJUVFS7db/+9a/16quv6qWXXtLw4cO1YMECzZ49W0eOHNHChQv1wQcfqL6+XlFRUfrzn/+s1NRU/exnP9O9996r8PBwvf322yotLb3qoycAeg6u+QDQYUVFRUpPT7+seEhSTk6ODh8+rPPnz2vbtm0qLi7WyJEjtX79es+nXaxWqyRp5MiRKisr07vvvqtx48bpu9/9rpYsWcJ3hQC9FEc+ABi3bNkybdiwQWfOnPF3FAB+wDUfALrcunXrNGbMGEVHR+uPf/yjnnrqKb7DA+jDKB8AutyJEye0dOlSffbZZ0pISNDChQuVn5/v71gA/ITTLgAAwCguOAUAAEZRPgAAgFGUDwAAYBTlAwAAGEX5AAAARlE+AACAUZQPAABgFOUDAAAYRfkAAABG/X9Yms5FnRz1tgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ @@ -3115,7 +3438,7 @@ }, { "cell_type": "code", - "execution_count": 149, + "execution_count": 23, "metadata": {}, "outputs": [ { @@ -3209,7 +3532,7 @@ "852 Svensson, Mr. Johan 74.0 65.0" ] }, - "execution_count": 149, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } @@ -3231,7 +3554,7 @@ }, { "cell_type": "code", - "execution_count": 150, + "execution_count": 24, "metadata": {}, "outputs": [ { @@ -3332,7 +3655,7 @@ "852 Svensson, Mr. Johan 74.0 54.0" ] }, - "execution_count": 150, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -3358,7 +3681,7 @@ }, { "cell_type": "code", - "execution_count": 153, + "execution_count": 25, "metadata": {}, "outputs": [ { @@ -3621,7 +3944,7 @@ "20 NaN 0.546456 0.092912 " ] }, - "execution_count": 153, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -3663,7 +3986,7 @@ }, { "cell_type": "code", - "execution_count": 152, + "execution_count": 26, "metadata": {}, "outputs": [ { @@ -3905,7 +4228,7 @@ "20 NaN 0.031205 " ] }, - "execution_count": 152, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" }