diff --git a/.circleci/config.yml b/.circleci/config.yml index c916f3f47..721c01aee 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,4 +1,6 @@ -version: 2 +version: '2.1' +orbs: + node: circleci/node@5.1.0 defaults: &defaults docker: @@ -21,7 +23,7 @@ prepare_tox: &prepare_tox fetch_data: &fetch_data run: - name: Set script permissions and fetch data + name: Fetch data command: | source venv/bin/activate chmod +x ./scripts/fetch_kaggle_dataset.sh @@ -40,15 +42,19 @@ jobs: command: | tox - section_07_deploy_app_to_heroku: + section_07_deploy_app_to_railway: <<: *defaults steps: - checkout: - path: ~/project + path: ~/project/ + - node/install: + node-version: '16.13' + - run: node --version + - run: npm i -g @railway/cli - run: - name: Deploy to Heroku + name: Deploy to Railway App (You must set RAILWAY_TOKEN env var) command: | - git subtree push --prefix section-07-ci-and-publishing/house-prices-api https://heroku:$HEROKU_API_KEY@git.heroku.com/$HEROKU_APP_NAME.git master + cd section-07-ci-and-publishing/house-prices-api && railway up --detach --project $RAILWAY_PROJECT_ID --environment production --service $RAILWAY_SERVICE_ID section_07_test_and_upload_regression_model: <<: *defaults @@ -71,28 +77,20 @@ jobs: tox -e publish_model - section_08_deploy_app_container_in_heroku: + section_08_deploy_app_container_via_railway: <<: *defaults steps: - - setup_remote_docker: - # Supported versions: https://circleci.com/docs/2.0/building-docker-images/#docker-version - version: 20.10.6 + - setup_remote_docker - checkout: - path: ~/project - - run: - name: Build image - command: | - sudo curl https://cli-assets.heroku.com/install.sh | sh - cd section-08-deploying-with-containers && make build-ml-api-heroku - - run: - name: Push Image to Heroku - command: | - # Push the built container to the Heroku image registry - cd section-08-deploying-with-containers && make push-ml-api-heroku + path: ~/project/ + - node/install: + node-version: '16.13' + - run: node --version + - run: npm i -g @railway/cli - run: - name: Release to Heroku + name: Build and run Dockerfile (see https://docs.railway.app/deploy/dockerfiles) command: | - cd section-08-deploying-with-containers && make release-heroku + cd section-08-deploying-with-containers && railway up --detach --project $RAILWAY_PROJECT_ID --environment production --service $RAILWAY_SERVICE_ID test_regression_model_py37: docker: @@ -265,24 +263,27 @@ tags_only: &tags_only workflows: version: 2 - section_07: + deploy_pipeline: jobs: - section_07_test_app - - section_07_deploy_app_to_heroku: + - section_07_deploy_app_to_railway: requires: - section_07_test_app filters: branches: only: - master + - demo # upload after git tags are created - section_07_test_and_upload_regression_model: <<: *tags_only - - section_08_deploy_app_container_in_heroku: - filters: - branches: - only: - - master + + - section_08_deploy_app_container_via_railway: + filters: + branches: + only: + - master + - demo # test-all: # jobs: diff --git a/README.md b/README.md index 7fbf80b75..151db0a8f 100644 --- a/README.md +++ b/README.md @@ -2,3 +2,6 @@ Accompanying repo for the online course Deployment of Machine Learning Models. For the documentation, visit the [course on Udemy](https://www.udemy.com/deployment-of-machine-learning-models/?couponCode=TIDREPO). + + +An update. \ No newline at end of file diff --git a/section-04-research-and-development/01-machine-learning-pipeline-data-analysis.ipynb b/section-04-research-and-development/01-machine-learning-pipeline-data-analysis.ipynb index e17ad470b..df3c3c9f1 100644 --- a/section-04-research-and-development/01-machine-learning-pipeline-data-analysis.ipynb +++ b/section-04-research-and-development/01-machine-learning-pipeline-data-analysis.ipynb @@ -4611,8 +4611,8 @@ "source": [ "# Additional Resources\n", "\n", - "- [Feature Engineering for Machine Learning](https://www.udemy.com/course/feature-engineering-for-machine-learning/?referralCode=A855148E05283015CF06) - Online Course\n", - "- [Packt Feature Engineering Cookbook](https://www.packtpub.com/data/python-feature-engineering-cookbook) - Book\n", + "- [Feature Engineering for Machine Learning](https://www.trainindata.com/p/feature-engineering-for-machine-learning) - Online Course\n", + "- [Packt Feature Engineering Cookbook](https://www.amazon.com/Python-Feature-Engineering-Cookbook-transforming-dp-1804611301/dp/1804611301) - Book\n", "- [Predict house price with Feature-engine](https://www.kaggle.com/solegalli/predict-house-price-with-feature-engine) - Kaggle kernel\n", "- [Comprehensive data exploration with Python](https://www.kaggle.com/pmarcelino/comprehensive-data-exploration-with-python) - Kaggle kernel\n", "- [How I made top 0.3% on a Kaggle competition](https://www.kaggle.com/lavanyashukla01/how-i-made-top-0-3-on-a-kaggle-competition) - Kaggle kernel" diff --git a/section-04-research-and-development/02-machine-learning-pipeline-feature-engineering.ipynb b/section-04-research-and-development/02-machine-learning-pipeline-feature-engineering.ipynb index e8154e762..f777a746d 100644 --- a/section-04-research-and-development/02-machine-learning-pipeline-feature-engineering.ipynb +++ b/section-04-research-and-development/02-machine-learning-pipeline-feature-engineering.ipynb @@ -1652,7 +1652,7 @@ "\n", "For the remaining categorical variables, we will group those categories that are present in less than 1% of the observations. That is, all values of categorical variables that are shared by less than 1% of houses, well be replaced by the string \"Rare\".\n", "\n", - "To learn more about how to handle categorical variables visit our course [Feature Engineering for Machine Learning](https://www.udemy.com/course/feature-engineering-for-machine-learning/?referralCode=A855148E05283015CF06) in Udemy." + "To learn more about how to handle categorical variables visit our course [Feature Engineering for Machine Learning](https://www.trainindata.com/p/feature-engineering-for-machine-learning)." ] }, { @@ -1805,7 +1805,7 @@ "\n", "We will do it so that we capture the monotonic relationship between the label and the target.\n", "\n", - "To learn more about how to encode categorical variables visit our course [Feature Engineering for Machine Learning](https://www.udemy.com/course/feature-engineering-for-machine-learning/?referralCode=A855148E05283015CF06) in Udemy." + "To learn more about how to encode categorical variables visit our course [Feature Engineering for Machine Learning](https://www.trainindata.com/p/feature-engineering-for-machine-learning)." ] }, { @@ -3083,9 +3083,9 @@ "\n", "# Additional Resources\n", "\n", - "- [Feature Engineering for Machine Learning](https://www.udemy.com/course/feature-engineering-for-machine-learning/?referralCode=A855148E05283015CF06) - Online Course\n", - "- [Packt Feature Engineering Cookbook](https://www.packtpub.com/data/python-feature-engineering-cookbook) - Book\n", - "- [Feature Engineering for Machine Learning: A comprehensive Overview](https://trainindata.medium.com/feature-engineering-for-machine-learning-a-comprehensive-overview-a7ad04c896f8) - Article\n", + "- [Feature Engineering for Machine Learning](https://www.trainindata.com/p/feature-engineering-for-machine-learning) - Online Course\n", + "- [Packt Feature Engineering Cookbook](https://www.amazon.com/Python-Feature-Engineering-Cookbook-transforming-dp-1804611301/dp/1804611301) - Book\n", + "- [Feature Engineering for Machine Learning: A comprehensive Overview](https://www.blog.trainindata.com/feature-engineering-for-machine-learning/) - Article\n", "- [Practical Code Implementations of Feature Engineering for Machine Learning with Python](https://towardsdatascience.com/practical-code-implementations-of-feature-engineering-for-machine-learning-with-python-f13b953d4bcd) - Article" ] }, diff --git a/section-04-research-and-development/03-machine-learning-pipeline-feature-selection.ipynb b/section-04-research-and-development/03-machine-learning-pipeline-feature-selection.ipynb index 6d6ef8d9e..c29935ae2 100644 --- a/section-04-research-and-development/03-machine-learning-pipeline-feature-selection.ipynb +++ b/section-04-research-and-development/03-machine-learning-pipeline-feature-selection.ipynb @@ -937,9 +937,17 @@ "source": [ "# Additional Resources\n", "\n", - "- [Feature Selection for Machine Learning](https://www.udemy.com/course/feature-selection-for-machine-learning/?referralCode=186501DF5D93F48C4F71) - Online Course\n", - "- [Feature Selection for Machine Learning: A comprehensive Overview](https://trainindata.medium.com/feature-selection-for-machine-learning-a-comprehensive-overview-bd571db5dd2d) - Article" + "- [Feature Selection for Machine Learning](https://www.trainindata.com/p/feature-selection-for-machine-learning) - Online Course\n", + "- [Feature Selection in Machine Learning with Python](https://leanpub.com/feature-selection-in-machine-learning/) - Book\n", + "- [Feature Selection for Machine Learning: A comprehensive Overview](https://www.blog.trainindata.com/feature-selection-for-machine-learning/) - Article" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/section-04-research-and-development/05-machine-learning-pPipeline-scoring-new-data.ipynb b/section-04-research-and-development/05-machine-learning-pipeline-scoring-new-data.ipynb similarity index 100% rename from section-04-research-and-development/05-machine-learning-pPipeline-scoring-new-data.ipynb rename to section-04-research-and-development/05-machine-learning-pipeline-scoring-new-data.ipynb diff --git a/section-04-research-and-development/06-feature-engineering-with-open-source.ipynb b/section-04-research-and-development/06-feature-engineering-with-open-source.ipynb index 8c6435004..2d25751b3 100644 --- a/section-04-research-and-development/06-feature-engineering-with-open-source.ipynb +++ b/section-04-research-and-development/06-feature-engineering-with-open-source.ipynb @@ -2019,7 +2019,7 @@ "\n", "We will do it so that we capture the monotonic relationship between the label and the target.\n", "\n", - "To learn more about how to encode categorical variables visit our course [Feature Engineering for Machine Learning](https://www.udemy.com/course/feature-engineering-for-machine-learning/?referralCode=A855148E05283015CF06) in Udemy." + "To learn more about how to encode categorical variables visit our course [Feature Engineering for Machine Learning](https://www.trainindata.com/p/feature-engineering-for-machine-learning)." ] }, { diff --git a/section-04-research-and-development/08-final-machine-learning-pipeline.ipynb b/section-04-research-and-development/08-final-machine-learning-pipeline.ipynb index aeaad1589..ac7657383 100644 --- a/section-04-research-and-development/08-final-machine-learning-pipeline.ipynb +++ b/section-04-research-and-development/08-final-machine-learning-pipeline.ipynb @@ -27,7 +27,16 @@ "cell_type": "code", "execution_count": 1, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/sergiogarcia/anaconda3/envs/ml-deploy/lib/python3.9/site-packages/sklearn/utils/fixes.py:28: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.\n", + " from pkg_resources import parse_version # type: ignore\n" + ] + } + ], "source": [ "# data manipulation and plotting\n", "import pandas as pd\n", @@ -719,14 +728,12 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -745,14 +752,12 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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LS3mtddeM1/4whdMYWGheffddy1X7ozTPrdv326eeeYZc+jQIdPa2mrq6+tNdna22bJli+XKnXHa51ltbW3m/PPPN5/4xCfMTTfdZKdYSwgfURw6dMhIMvv27YuMPffcc8bj8ZgjR44M+n5++9vfGkmmtbU1HmW6wq1ef/azn5nc3FwTCoXiUeaQDbXP7du3J234mDFjhlm4cGHkend3tykpKTGrV6+OOv+WW24xc+bM6TE2c+ZMc9ddd8W1zqFy2ueHXXjhhSkVPobSqzHGnDlzxhQUFJif/OQn8SrRFUPt0xhjrrjiCnPffffFozzXxNLnmTNnzMc//nHzwx/+0NTU1KRd+OBllyh2796tESNGaPr06ZGx8vJyZWVlae/evYO6j87OTj355JOaMGGCSktL41XqkLnRqyR1dHTI7/crJyfh31UYlVt9Jpu//OUv2r9/v8rLyyNjWVlZKi8v1+7du6Nus3v37h7zJamysrLP+ckglj5TlRu9dnV1KRQKqaioKF5lDtlQ+zTGaNu2bTp8+LCuvfbaeJY6JLH2+cADD2j06NH64he/aKNM6wgfUbS3t2v06NE9xnJyclRUVKT29vZ+t/3e976nc845R+ecc46ee+45NTU1KTc3N57lDslQej3rxIkTWrlype688854lOgKN/pMRidOnFB3d3evvx583nnn9dlXe3u7o/nJIJY+U5Ubvd57770qKSnpFTKTSax9dnR06JxzzlFubq7mzJmjxx57TBUVFfEuN2ax9Llr1y796Ec/0vr1622UmBAZFT6WLFkij8fT72WobxC97bbb1NLSohdeeEGXXnqpbrnlFn3wwQcudTB4NnqV/vpV0HPmzNHll1+uurq6oRfukK0+gVSxZs0abdy4UY2NjcrLy0t0Oa4rKCjQwYMHtW/fPq1atUq1tbXasWNHostyzalTpzR//nytX79excXFiS4nbpLzHHmcfPWrX9UXvvCFfuf83d/9ncaMGaPjx4/3GD9z5oxOnjypMWPG9Lt9YWGhCgsLdckll+jv//7vNXLkSDU2NurWW28davmO2Oj11KlTuuGGG1RQUKDGxkZ5vd6hlu2YjT6TWXFxsbKzs3Xs2LEe48eOHeuzrzFjxjianwxi6TNVDaXXRx55RGvWrNH//u//6qMf/Wg8yxyyWPvMysrSxRdfLEmaNm2aXnvtNa1evVplZWXxLDdmTvt888039dZbb2nu3LmRsXA4LOmvZ2sPHz6siy66KL5FW5BR4ePcc8/VueeeO+C8WbNm6f3339f+/ft15ZVXSpKef/55hcNhzZw5c9Drmb++oVfBYDDmmmMV714DgYAqKyvl8/n07LPPJux/WLb3abLJzc3VlVdeqW3btkU+ihcOh7Vt2zZ95StfibrNrFmztG3bNi1atCgy1tTUpFmzZlmoODax9JmqYu117dq1WrVqlbZu3drjvU3Jyq19Gg6HE/IcO1hO+5w4caJeeeWVHmP33XefTp06pW9/+9tJ/R5CRxL8htekdcMNN5grrrjC7N271+zatctccsklPT6W+e6775rLLrvM7N271xhjzJtvvmkeeugh09zcbN5++23z4osvmrlz55qioqIBP06VaE577ejoMDNnzjRTpkwxra2t5k9/+lPkkswfK3bapzHG/OlPfzItLS1m/fr1RpLZuXOnaWlpMe+9914iWohq48aNxufzmQ0bNphDhw6ZO++804wYMcK0t7cbY4yZP3++WbJkSWT+iy++aHJycswjjzxiXnvtNbN8+fKU+aitkz6DwaBpaWkxLS0tZuzYseZrX/uaaWlpMW+88UaiWhg0p72uWbPG5Obmmv/+7//ucTyeOnUqUS0MitM+H3roIfPrX//avPnmm+bQoUPmkUceMTk5OWb9+vWJamFQnPb5t9Lx0y6Ejz6899575tZbbzXnnHOO8fv9ZsGCBT0O5La2NiPJbN++3RhjzJEjR0xVVZUZPXq08Xq95oILLjDV1dXmD3/4Q4I6GDynvZ792Gm0S1tbW2KaGASnfRpjzPLly6P2+eSTT9pvoB+PPfaYGTdunMnNzTUzZswwe/bsidx23XXXmZqamh7zf/azn5lLL73U5ObmmkmTJpnNmzdbrjg2Tvo8uz//9nLdddfZLzwGTnq98MILo/a6fPly+4U75KTPb37zm+biiy82eXl5ZuTIkWbWrFlm48aNCajaOafH6IelY/jwGGOMtdMsAAAg42XUp10AAEDiET4AAIBVhA8AAGAV4QMAAFhF+AAAAFYRPgAAgFWEDwAAYBXhAwAAWEX4AAAAVhE+AACAVYQPAABgFeEDAABY9f8A2jIMkfKxe48AAAAASUVORK5CYII=", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -1044,14 +1049,12 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -1081,7 +1084,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "ml-deploy", "language": "python", "name": "python3" }, @@ -1095,7 +1098,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.5" + "version": "3.9.23" }, "toc": { "base_numbering": 1, diff --git a/section-04-research-and-development/titanic-assignment/01-predicting-survival-titanic-assignement.ipynb b/section-04-research-and-development/titanic-assignment/01-predicting-survival-titanic-assignement.ipynb index 13a218de6..455b8cb8d 100644 --- a/section-04-research-and-development/titanic-assignment/01-predicting-survival-titanic-assignement.ipynb +++ b/section-04-research-and-development/titanic-assignment/01-predicting-survival-titanic-assignement.ipynb @@ -20,7 +20,16 @@ "cell_type": "code", "execution_count": 1, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/sergiogarcia/anaconda3/envs/ml-deploy/lib/python3.9/site-packages/sklearn/utils/fixes.py:28: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.\n", + " from pkg_resources import parse_version # type: ignore\n" + ] + } + ], "source": [ "import re\n", "\n", @@ -101,7 +110,7 @@ " \n", " \n", " \n", - " 0\n", + " 0\n", " 1\n", " 1\n", " Allen, Miss. Elisabeth Walton\n", @@ -118,7 +127,7 @@ " St Louis, MO\n", " \n", " \n", - " 1\n", + " 1\n", " 1\n", " 1\n", " Allison, Master. Hudson Trevor\n", @@ -135,7 +144,7 @@ " Montreal, PQ / Chesterville, ON\n", " \n", " \n", - " 2\n", + " 2\n", " 1\n", " 0\n", " Allison, Miss. Helen Loraine\n", @@ -152,7 +161,7 @@ " Montreal, PQ / Chesterville, ON\n", " \n", " \n", - " 3\n", + " 3\n", " 1\n", " 0\n", " Allison, Mr. Hudson Joshua Creighton\n", @@ -169,7 +178,7 @@ " Montreal, PQ / Chesterville, ON\n", " \n", " \n", - " 4\n", + " 4\n", " 1\n", " 0\n", " Allison, Mrs. Hudson J C (Bessie Waldo Daniels)\n", @@ -331,7 +340,7 @@ " \n", " \n", " \n", - " 0\n", + " 0\n", " 1\n", " 1\n", " female\n", @@ -344,7 +353,7 @@ " Miss\n", " \n", " \n", - " 1\n", + " 1\n", " 1\n", " 1\n", " male\n", @@ -357,7 +366,7 @@ " Master\n", " \n", " \n", - " 2\n", + " 2\n", " 1\n", " 0\n", " female\n", @@ -370,7 +379,7 @@ " Miss\n", " \n", " \n", - " 3\n", + " 3\n", " 1\n", " 0\n", " male\n", @@ -383,7 +392,7 @@ " Mr\n", " \n", " \n", - " 4\n", + " 4\n", " 1\n", " 0\n", " female\n", @@ -462,11 +471,20 @@ "cell_type": "code", "execution_count": 10, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of numerical variables: 6\n", + "Number of categorical variables: 4\n" + ] + } + ], "source": [ - "vars_num = # fill your code here\n", + "vars_num = [col for col in data.columns if data[col].dtype != 'O']\n", "\n", - "vars_cat = # fill your code here\n", + "vars_cat = [col for col in data.columns if data[col].dtype == 'O']\n", "\n", "print('Number of numerical variables: {}'.format(len(vars_num)))\n", "print('Number of categorical variables: {}'.format(len(vars_cat)))" @@ -481,22 +499,54 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 18, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "age 0.200917\n", + "fare 0.000764\n", + "pclass 0.000000\n", + "survived 0.000000\n", + "sibsp 0.000000\n", + "parch 0.000000\n", + "dtype: float64" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# first in numerical variables\n", - "\n" + "data[vars_num].isnull().mean().sort_values(ascending=False)\n" ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 19, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "cabin 0.774637\n", + "embarked 0.001528\n", + "sex 0.000000\n", + "title 0.000000\n", + "dtype: float64" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# now in categorical variables\n", - "\n" + "data[vars_cat].isnull().mean().sort_values(ascending=False)\n" ] }, { @@ -508,10 +558,25 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sex: 2\n", + "cabin: 181\n", + "embarked: 3\n", + "title: 5\n" + ] + } + ], + "source": [ + "for col in vars_cat:\n", + " print(f'{col}: {data[col].nunique()}')\n", + " " + ] }, { "cell_type": "markdown", @@ -522,10 +587,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "image/png": "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3nhDDz30kNq0aaMlS5Zo/fr1ys3NVZ8+fVyeghQZGak9e/bo/fff169//Wt98skn6tevn9LT051tbr/9dn399df6y1/+og4dOui1117TLbfcotdee+2q5wkAAID/M3jwYH3zzTdasGCBYmJi9Pzzz+umm27SRx99JOnS54llZWVV7v/5VWUVhgwZok8++UT/+c9/ZLPZ9P777ystLU0NGlz+rkT9+/dXaGio855n77zzjgICAnT//fc725SXl8tkMjnPP3/+589//vMvrgOA2oewDIBX/fzXGw8fPqzy8nK1bt1abdq0UXl5ufbv31+tMd99911dd911eu+99zR8+HClpKQoKSmp0lM2JSk4OFj9+/fXwoUL9fXXX+uxxx7T66+/rsOHDzvbRERE6OGHH9Zbb72l7777Tp06dVJWVlaN6gUAAMCltWjRQo8//rjWrFmjI0eOqFmzZpo5c6aki/el/ekN8itUXKV1pYYMGaILFy7ob3/7mz766COVlJS43KD/Uho1aqR7771Xq1atUnl5ud5++23ddtttiomJcbZp06aNDMNQfHy8kpKSKv3p0aOHJCkuLk5S5XNhu92uI0eOVKseAJ5HWAbAq7Kzs122FyxYIEnq16+fBg4cqICAAE2bNs3lijDp8jf4r7hZ/0/b7Nixw3nJfIXvv//eZTsgIECdOnWSJNlstirbNG7cWNdff73zOAAAAK5eWVmZy+0ypIu/BRATE+M872rTpo22b9+u0tJSZ5u1a9dW++mR7du3V8eOHfX222/r7bffVosWLXT77bdfUd8hQ4bo+PHjeu211/Q///M/le5zNmjQIAUGBmrq1KmVzlcNw3CeW3br1k3NmzfX4sWLXepZtmxZlYEgAN/iaZgAvOrIkSP69a9/rbvvvlt5eXl644039F//9V/q3LmzJOn//b//p+nTp+u2227ToEGDZDabtWvXLsXExGjWrFlVjnnvvffqvffe03333afU1FQdOXJEixcvVkJCgs6cOeNs97vf/U4nT55Unz591LJlS3377bdasGCBunTpovbt20u6+ESi3r17q2vXroqIiNDu3bv17rvvavTo0Z5fHAAAAD9x+vRptWzZUr/5zW/UuXNnNW7cWBs3btSuXbucT8f83e9+p3fffVd33323Bg8erK+//lpvvPGG2rRpU+3XGzJkiCZPnqyQkBCN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iu6//35t2bJF1157rR5//HE9+uijkqQjR46ooKBASUlJzj5hYWFKTExUXl6ehg4dqry8PIWHhzuDMklKSkpSQECAduzYofvuu6/S69psNtlsNud2SUmJJMlut8tut7u1xorxzAHGVfXHlalYL9bNO1hv72K9vYe19i5Prnd1xiQsAwAAgM998803WrRokTIzM/XMM89o165d+sMf/qDg4GClp6eroKBAkhQVFeXSLyoqynmsoKBAkZGRLscbNGigiIgIZ5ufmzVrlqZOnVppf05OjkJDQ91RWiXTu5XXqN+6devcPBP/kJub6+sp+BXW27tYb+9hrb3LE+t97ty5K25LWAYAAACfKy8vV7du3fTss89Kkm6++Wbt3btXixcvVnp6usded8KECcrMzHRul5SUKDY2VsnJybJYLG59LbvdrtzcXE3aHSBbuana/fdmpbh1PvVdxXr37dtXQUFBvp5Ovcd6exfr7T2stXd5cr0rrh6/EoRlAAAA8LkWLVooISHBZV/79u31t7/9TZIUHR0tSSosLFSLFi2cbQoLC9WlSxdnm6KiIpcxLly4oJMnTzr7/5zZbJbZbK60PygoyGPfFNnKTbKVVT8s45u0mvHke4nKWG/vYr29h7X2Lk+sd3XG42mYAAAA8LmePXvq4MGDLvu++uorxcXFSbp4s//o6Ght2rTJebykpEQ7duyQ1WqVJFmtVhUXFys/P9/Z5uOPP1Z5ebkSExO9UAUAAKgPuLIMAAAAPjdu3DjdeuutevbZZzV48GDt3LlTr7zyil555RVJkslk0tixYzVjxgy1bdtW8fHxmjRpkmJiYjRw4EBJF69Eu/vuu/Xoo49q8eLFstvtGj16tIYOHcqTMAEAwBUjLAMAAIDP/epXv9Lq1as1YcIETZs2TfHx8Zo3b56GDRvmbPPkk0/q7NmzGjlypIqLi9WrVy+tX79eISEhzjZvvvmmRo8erbvuuksBAQFKS0vT/PnzfVESAACoowjLAAAAUCvce++9uvfeey953GQyadq0aZo2bdol20RERGjFihWemB4AAPATbr9nWVZWlkwmk8ufdu3aOY+fP39eGRkZatasmRo3bqy0tDQVFha6jHHs2DGlpqYqNDRUkZGRGj9+vC5cuODuqQIAAAAAAAAuPHJl2U033aSNGzf+34s0+L+XGTdunD788EOtWrVKYWFh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gQMHenaC9Uh117q4uFgZGRlq0aKFzGazbrjhBv49qYbqrve8efN04403qmHDhoqNjdW4ceN0/vx5L822bvNUBuNufh+WnT17Vp07d1Z2dvYVtT9y5IhSU1N15513as+ePRo7dqx+97vfuYRJb7/9tjIzMzVlyhR9/vnn6ty5s1JSUlRUVOSpMi6rujVu3bpVffv21bp165Sfn68777xT/fv31xdffOHS7qabbtKJEyecfz799FNPTP+KVbfOCgcPHnSpIzIy0nmsrr+XL730kktt3333nSIiInT//fe7tKtN7+WWLVuUkZGh7du3Kzc3V3a7XcnJyTp79uwl+2zbtk0PPPCARowYoS+++EIDBw7UwIEDtXfvXmebOXPmaP78+Vq8eLF27NihRo0aKSUlxWdf1GpS5+bNm/XAAw/ok08+UV5enmJjY5WcnKx//etfLu3uvvtul/fzrbfe8nQ5VapJjZJksVhc5v/tt9+6HK8P7+V7773nUuPevXsVGBhY6bNZW97Lli1bavbs2crPz9fu3bvVp08fDRgwQPv27auyfV38TALuUN3zhiv5rODSqrveV/p1FFWr6Xnx0aNH9cQTT+i2227z0kzrvuqudWlpqfr27aujR4/q3Xff1cGDB/Xqq6/q2muv9fLM66bqrveKFSv09NNPa8qUKTpw4ICWLFmit99+W88884yXZ143eSKD8QgDTpKM1atXX7bNk08+adx0000u+4YMGWKkpKQ4t7t3725kZGQ4t8vKyoyYmBhj1qxZbp1vTVxJjVVJSEgwpk6d6tyeMmWK0blzZ/dNzM2upM5PPvnEkGT88MMPl2xT397L1atXGyaTyTh69KhzX21/L4uKigxJxpYtWy7ZZvDgwUZqaqrLvsTEROOxxx4zDMMwysvLjejoaOP55593Hi8uLjbMZrPx1ltveWbi1XQldf7chQsXjCZNmhjLly937ktPTzcGDBjggRlevSupcenSpUZYWNglj9fX93Lu3LlGkyZNjDNnzjj31eb30jAMo2nTpsZrr71W5bH68JkEaqK65w2/9FnB5V3teVpVX0dxaTVZ7wsXLhi33nqr8dprr9X6r2u1SXXXetGiRcZ1111nlJaWemuK9Up11zsjI8Po06ePy77MzEyjZ8+eHp1nfeSuDMYT/P7KsurKy8tTUlKSy76UlBTl5eVJupjq5+fnu7QJCAhQUlKSs01dU15ertOnTysiIsJl/6FDhxQTE6PrrrtOw4YN07Fjx3w0w6vTpUsXtWjRQn379tVnn33m3F8f38slS5YoKSlJcXFxLvtr83t56tQpSar09++nfulzeeTIERUUFLi0CQsLU2JiYq15L6+kzp87d+6c7HZ7pT6bN29WZGSkbrzxRo0aNUrff/+9W+daU1da45kzZxQXF6fY2NhKVy/V1/dyyZIlGjp0qBo1auSyvza+l2VlZVq5cqXOnj0rq9VaZZv68JkEqqsm5w2/9FnBpbnjPO1SX0dRWU3Xe9q0aYqMjNSIESO8Mc16oSZr/f7778tqtSojI0NRUVHq0KGDnn32WZWVlXlr2nVWTdb71ltvVX5+vvNXNb/55hutW7dO99xzj1fm7G989bWygUdHr4cKCgoUFRXlsi8qKkolJSX68ccf9cMPP6isrKzKNv/85z+9OVW3eeGFF3TmzBkNHjzYuS8xMVHLli3TjTfeqBMnTmjq1Km67bbbtHfvXjVp0sSHs71yLVq00OLFi9WtWzfZbDa99tpr6t27t3bs2KFbbrlF//nPf+rVe3n8+HF99NFHWrFihcv+2vxelpeXa+zYserZs6c6dOhwyXaX+lxW3H+u4r+Xa+NLV1rnzz311FOKiYlx+eJx9913a9CgQYqPj9fXX3+tZ555Rv369VNeXp4CAwM9Mf0rcqU13njjjfrLX/6iTp066dSpU3rhhRd06623at++fWrZsmW9fC937typvXv3asmSJS77a9t7+eWXX8pqter8+fNq3LixVq9erYSEhCrb1vXPJFATNTlv+KXPCi7NHedpVX0dRdVqst6ffvqplixZoj179nhhhvVHTdb6m2++0ccff6xhw4Zp3bp1Onz4sB5//HHZ7XZNmTLFG9Ous2qy3v/1X/+l//znP+rVq5cMw9CFCxf0+9//nl/D9JBfymAaNmzokdclLMNlrVixQlOnTtXf//53l3t59evXz/n/nTp1UmJiouLi4vTOO+/UmZ8c3Xjjjbrxxhud27feequ+/vprzZ07V3/96199ODPPWL58ucLDwyvdWLU2v5cZGRnau3evz++H52k1qXP27NlauXKlNm/e7HID/KFDhzr/v2PHjurUqZPatGmjzZs366677nLrvKvjSmu0Wq0uVyvdeuutat++vf785z9r+vTpnp7mVavJe7lkyRJ17NhR3bt3d9lf297LG2+8UXv27NGpU6f07rvvKj09XVu2bLlkYAYAtdmlvo7CPU6fPq3hw4fr1Vdf1TXXXOPr6dR75eXlioyM1CuvvKLAwEB17dpV//rXv/T8888TlnnA5s2b9eyzz2rhwoVKTEzU4cOH9cc//lHTp0/XpEmTfD09uAm/hllN0dHRKiwsdNlXWFgoi8Wihg0b6pprrlFgYGCVbaKjo7051au2cuVK/e53v9M777zziz9xCw8P1w033KDDhw97aXae0b17d2cN9em9NAxDf/nLXzR8+HAFBwdftm1teS9Hjx6ttWvX6pNPPlHLli0v2/ZSn8uK96niv7XxvaxOnRVeeOEFzZ49Wzk5OerUqdNl21533XW65pprfPp+1qTGCkFBQbr55pud869v7+XZs2e1cuXKKwqmff1eBgcH6/rrr1fXrl01a9Ysde7cWS+99FKVbevyZxKoqZqcN/zSZwWXdjXnadX5OoqLqrveX3/9tY4ePar+/furQYMGatCggV5//XW9//77atCggb7++mtvTb3Oqcnf7RYtWuiGG25wufK8ffv2KigoUGlpqUfnW9fVZL0nTZqk4cOH63e/+506duyo++67T88++6xmzZql8vJyb0zbr/xSBuMphGXVZLVatWnTJpd9ubm5zishgoOD1bVrV5c25eXl2rRp0yXv7VIbvfXWW3r44Yf11ltvKTU19RfbnzlzRl9//bVatGjhhdl5zp49e5w11Jf3Urr4tL7Dhw9f0Tfkvn4vDcPQ6NGjtXr1an388ceKj4//xT6/9LmMj49XdHS0S5uSkhLt2LHDZ+9lTeqULj5BcPr06Vq/fr26dev2i+3/93//V99//71P3s+a1vhTZWVl+vLLL53zr0/vpSStWrVKNptNv/3tb3+xrS/fy6qUl5fLZrNVeawufiaBq1WT84Zf+qzg0mp6nlbdr6O4qLrr3a5dO3355Zfas2eP88+vf/1r59PsYmNjvTn9OqUmf7d79uypw4cPuwQ1X331lVq0aPGLPyj3dzVZ73PnzikgwDVKqQgqDcPw3GT9lM++Vnr08QF1wOnTp40vvvjC+OKLLwxJxosvvmh88cUXxrfffmsYhmE8/fTTxvDhw53tv/nmGyM0NNQYP368ceDAASM7O9sIDAw01q9f72yzcuVKw2w2G8uWLTP2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oPb5/e9/r3fffVejR49WQkKCvv/+e3366ac6cOCAbrnllkv2e/3113X69GllZGTo/Pnzeumll9SnTx99+eWXioqKkiSlpaVp3759GjNmjFq3bq2ioiLl5ubq2LFjLueMhw4d0pAhQ/T73/9e6enpWrp0qe6//36tX79effv29fQSAPAwk2EYhq8nAQAVfvzxRzVs2NBl3/bt22W1WvX6669r+PDhkqQ//OEPevnll/X555+rS5cukqSTJ0+qbdu2OnnypI4cOaLWrVvrzJkzio2N1f33369XXnnFOWZhYaFuvPFGDR482GU/AAAAarfw8HD99re/1csvv1zl8YceekibN292Xg129OhRxcfHq2HDhjp06JCuvfZaSdLOnTuVmJiocePG6cUXX1RxcbGaNm2q559/Xk888cQlX79169b69ttv9be//U2DBg2SJJWUlKhdu3aKjo52XuEGoO7i1zAB1Co/Dcrsdru+//57XX/99QoPD3c58Vi/fr2sVqszKJOkiIgIDRs2zGW83NxcFRcX64EHHtB//vMf55/AwEAlJibqk08+8XhNAAAAcJ/w8HDt2LFDx48fr1a/gQMHOoMySerevbsSExO1bt06SRfPQ4ODg7V582b98MMPlx0rJiZG9913n3PbYrHowQcf1BdffKGCgoJqzQtA7UNYBqBW+fHHHzV58mTFxsbKbDbrmmuuUfPmzVVcXKxTp04523377be6/vrrK/X/+b5Dhw5Jkvr06aPmzZu7/MnJyVFRUZFnCwIAAIBbzZkzR3v37lVsbKy6d++urKwsffPNN7/Yr23btpX23XDDDc4r0Mxms5577jl99NFHioqK0u233645c+ZUGX5df/31MplMlcaSVOW9dgHULdyzDECtMmbMGC1dulRjx46V1WpVWFiYTCaThg4dWqNHgFf0+etf/6ro6OhKxxs04J9BAACAumTw4MG67bbbtHr1auXk5Oj555/Xc889p/fee0/9+vW7qrHHjh2r/v37a82aNdqwYYMmTZqkWbNm6eOPP9bNN9/spgoA1HZ8lwigVnn33XeVnp6uP/3pT85958+fV3FxsUu7uLg4HT58uFL/n+9r06aNJCkyMlJJSUnunzAAAAC8rkWLFnr88cf1+OOPq6ioSLfccotmzpx52bCs4jcOfuqrr76q9LCnNm3a6L//+7/13//93zp06JC6dOmiP/3pT3rjjTecbQ4fPizDMFyuLvvqq68kiYdHAfUAv4YJoFYJDAzUz587smDBApWVlbnsS0lJUV5envbs2ePcd/LkSb355puV2lksFj377LOy2+2VXu/f//63+yYPAAAAjyorK3O5NYd08YeiMTExstlsl+27Zs0a/etf/3Ju79y5Uzt27HAGbOfOndP58+dd+rRp00ZNmjSpNPbx48e1evVq53ZJSYlef/11denSpcrfZgBQt3BlGYBa5d5779Vf//pXhYWFKSEhQXl5edq4caOaNWvm0u7JJ5/UG2+8ob59+2rMmDFq1KiRXnvtNbVq1UonT550/pTPYrFo0aJFGj58uG655RYNHTpUzZs317Fjx/Thhx+qZ8+el3ySEgAAAGqX06dPq2XLlvrNb36jzp07q3Hjxtq4caN27drl8psJVbn++uvVq1cvjRo1SjabTfPmzVOzZs305JNPSrp4Zdhdd92lwYMHKyEhQQ0aNNDq1atVWFiooUOHuox1ww03aMSIEdq1a5eioqL0l7/8RYWFhVq6dKnHagfgPYRlAGqVl156SYGBgXrzzTd1/vx59ezZUxs3blRKSopLu9jYWH3yySf6wx/+oGeffVbNmzdXRkaGGjVqpD/84Q8KCQlxtv2v//ovxcTEaPbs2Xr++edls9l07bXX6rbbbtPDDz/s7RIBAABQQ6GhoXr88ceVk5Oj9957T+Xl5br++uu1cOFCjRo16rJ9H3zwQQUEBGjevHkqKipS9+7d9fLLL6tFixaSLp5fPvDAA9q0aZP++te/qkGDBmrXrp3eeecdpaWluYzVtm1bLViwQOPHj9fBgwcVHx+vt99+u9I5K4C6yWT8/PedAKAOGzt2rP785z/rzJkzCgwM9PV0AAAAUM+0bt1aHTp00Nq1a309FQAewj3LANRZP/74o8v2999/r7/+9a/q1asXQRkAAAAAoEb4NUwAdZbValXv3r3Vvn17FRYWasmSJSopKdGkSZN8PTUAAAAAQB1FWAagzrrnnnv07rvv6pVXXpHJZNItt9yiJUuW6Pbbb/f11AAAAAAAdRT3LAMAAAAAAAAcuGcZAAAAAAAA4EBYBgAAAAAAADjU23uWlZeX6/jx42rSpIlMJpOvpwMAANzEMAydPn1aMTExCgjg535wL84hAQCon6pzDllvw7Ljx48rNjbW19MAAAAe8t1336lly5a+ngbqGc4hAQCo367kHLLehmVNmjSRdHERLBaL28a12+3KyclRcnKygoKC3DZubeIPNUrUWZ/4Q42Sf9TpDzVK/lGnJ2ssKSlRbGys82s94E6eOoeU+OzXJ/5Qpz/UKPlHnf5Qo+QfdVLj1anOOWS9DcsqLpu3WCxuD8tCQ0NlsVjq9V/O+l6jRJ31iT/UKPlHnf5Qo+QfdXqjRn5FDp7gqXNIic9+feIPdfpDjZJ/1OkPNUr+USc1useVnENyow8AAAAAAADAgbAMAAAAAAAAcCAsAwAAAAAAABzcHpZt3bpV/fv3V0xMjEwmk9asWeM8Zrfb9dRTT6ljx45q1KiRYmJi9OCDD+r48eMuY5w8eVLDhg2TxWJReHi4RowYoTNnzrh7qgAAAAAAAIALt4dlZ8+eVefOnZWdnV3p2Llz5/T5559r0qRJ+vzzz/Xee+/p4MGD+vWvf+3SbtiwYdq3b59yc3O1du1abd26VSNHjnT3VAEAAAAAAAAXbn8aZr9+/dSvX78qj4WFhSk3N9dl38svv6zu3bvr2LFjatWqlQ4cOKD169dr165d6tatmyRpwYIFuueee/TCCy8oJibG3VMGAAAAAAAAJHkgLKuuU6dOyWQyKTw8XJKUl5en8PBwZ1AmSUlJSQoICNCOHTt03333VTmOzWaTzWZzbpeUlEi6+KufdrvdbfOtGMudY9Y2/lCjRJ31iT/UKPlHnf5Qo+QfdXqyxvq8bgAAAPA9n4Zl58+f11NPPaUHHnhAFotFklRQUKDIyEiXdg0aNFBERIQKCgouOdasWbM0derUSvtzcnIUGhrq3olLla6Qq4/8oUaJOusTf6hR8o86/aFGyT/q9ESN586dc/uYAAAAQAWfhWV2u12DBw+WYRhatGjRVY83YcIEZWZmOrdLSkoUGxur5ORkZxDnDna7Xbm5uerbt6+CgoLcNm5t4g81StRZn/hDjZJ/1OkPNUr+Uacna6y4ehwAAADwBJ+EZRVB2bfffquPP/7YJcyKjo5WUVGRS/sLFy7o5MmTio6OvuSYZrNZZrO50v6goCCPfCPiqXFrE3+oUaLO+sQfapT8o05/qFHyjzo9UWN9XzMAAAD4ltufhvlLKoKyQ4cOaePGjWrWrJnLcavVquLiYuXn5zv3ffzxxyovL1diYqK3pwsAAAAAAAA/4vYry86cOaPDhw87t48cOaI9e/YoIiJCLVq00G9+8xt9/vnnWrt2rcrKypz3IYuIiFBwcLDat2+vu+++W48++qgWL14su92u0aNHa+jQoTwJEwAAAAAAAB7l9rBs9+7duvPOO53bFfcRS09PV1ZWlt5//31JUpcuXVz6ffLJJ+rdu7ck6c0339To0aN11113KSAgQGlpaZo/f767pwoAAAAAAAC4cHtY1rt3bxmGccnjlztWISIiQitWrHDntIAaaf30h1fV/+jsVDfNBAAA1BcdsjbIVmaqdj/OKwAA8A6v37MMAAAAAAAAqK0IywAAAAAAAAAHwjIAAAAAAADAgbAMAAAAAAAAcCAsAwAAAAAAABwIywAAAAAAAAAHwjIAAAAAAADAgbAMAAAAAAAAcCAsAwAAAAAAABwIywAAAAAAAAAHwjIAAAAAAADAgbAMAAAAAAAAcCAsAwAAAAAAABwIywAAAAAAAAAHwjIAAAAAAADAgbAMAAAAAAAAcCAsAwAAAAAAABwIywAAAAAAAAAHwjIAAAAAAADAgbAMAAAAAAAAcCAsAwAAAAAAABwIywAAAAAAAAAHwjIAAAAAAADAgbAMAAAAAAAAcCAsAwAAAAAAABwIywAAAOBzZWVlmjRpkuLj49WwYUO1adNG06dPl2EYzjaGYWjy5Mlq0aKFGjZsqKSkJB06dMhlnJMnT2rYsGGyWCwKDw/XiBEjdObMGW+XAwAA6jDCMgAAAPjcc889p0WLFunll1/WgQMH9Nxzz2nOnDlasGCBs82cOXM0f/58LV68WDt27FCjRo2UkpKi8+fPO9sMGzZM+/btU25urtauXautW7dq5MiRvigJAADUUQ18PQEAAABg27ZtGjBggFJTUyVJrVu31ltvvaWdO3dKunhV2bx58zRx4kQNGDBAkvT6668rKipKa9as0dChQ3XgwAGtX79eu3btUrdu3SRJCxYs0D333KMXXnhBMTExvikOAADUKVxZBgAAAJ+79dZbtWnTJn311VeSpP/5n//Rp59+qn79+kmSjhw5ooKCAiUlJTn7hIWFKTExUXl5eZKkvLw8hYeHO4MySUpKSlJAQIB27NjhxWoAAEBdxpVlAAAA8Lmnn35aJSUlateunQIDA1VWVqaZM2dq2LBhkqSCggJJUlRUlEu/qKgo57GCggJFRka6HG/QoIEiIiKcbX7OZrPJZrM5t0tKSiRJdrtddrvdPcU5VIxnDjB+oeXl+9dmFXOsC3O9Gv5Qpz/UKPlHnf5Qo+QfdVKje8a+EoRlAAAA8Ll33nlHb775plasWKGbbrpJe/bs0dixYxUTE6P09HSPve6sWbM0derUSvtzcnIUGhrqkdec3q28Rv3WrVvn5pl4Tm5urq+n4BX+UKc/1Cj5R53+UKPkH3VSY82cO3fuitsSlgEAAMDnxo8fr6efflpDhw6VJHXs2FHffvutZs2apfT0dEVHR0uSCgsL1aJFC2e/wsJCdenSRZIUHR2toqIil3EvXLigkydPOvv/3IQJE5SZmencLikpUWxsrJKTk2WxWNxZoux2u3JzczVpd4Bs5aZq99+bleLW+XhCRY19+/ZVUFCQr6fjMf5Qpz/UKPlHnf5Qo+QfdVLj1am4evxKEJYBAADA586dO6eAANfb6QYGBqq8/OJVWPHx8YqOjtamTZuc4VhJSYl27NihUaNGSZKsVquKi4uVn5+vrl27SpI+/vhjlZeXKzExscrXNZvNMpvNlfYHBQV57BsRW7lJtrLqh2V16RsjT65fbeIPdfpDjZJ/1OkPNUr+USc11nzMK0VYBgAAAJ/r37+/Zs6cqVatWummm27SF198oRdffFGPPPKIJMlkMmns2LGaMWOG2rZtq/j4eE2aNEkxMTEaOHCgJKl9+/a6++679eijj2rx4sWy2+0aPXq0hg4dypMwAQDAFSMsAwAAgM8tWLBAkyZN0uOPP66ioiLFxMToscce0+TJk51tnnzySZ09e1YjR45UcXGxevXqpfXr1yskJMTZ5s0339To0aN11113KSAgQGlpaZo/f74vSgIAAHUUYRkAAAB8rkmTJpo3b57mzZt3yTYmk0nTpk3TtGnTLtkmIiJCK1as8MAMAQCAvwj45SYAAAAAAACAfyAsAwAAAAAAABwIywAAAAAAAAAHwjIAAAAAAADAgbAMAAAAAAAAcHB7WLZ161b1799fMTExMplMWrNmjctxwzA0efJktWjRQg0bNlRSUpIOHTrk0ubkyZMaNmyYLBaLwsPDNWLECJ05c8bdUwUAAAAAAABcuD0sO3v2rDp37qzs7Owqj8+ZM0fz58/X4sWLtWPHDjVq1EgpKSk6f/68s82wYcO0b98+5ebmau3atdq6datGjhzp7qkCAAAAAAAALhq4e8B+/fqpX79+VR4zDEPz5s3TxIkTNWDAAEnS66+/rqioKK1Zs0ZDhw7VgQMHtH79eu3atUvdunWTJC1YsED33HOPXnjhBcXExLh7ygAAAAAAAIAkD4Rll3PkyBEVFBQoKSnJuS8sLEyJiYnKy8vT0KFDlZeXp/DwcGdQJklJSUkKCAjQjh07dN9991U5ts1mk81mc26XlJRIkux2u+x2u9tqqBjLnWPWNv5Qo3RldZoDDbe8hi/5w/vpDzVK/lGnP9Qo+UednqyxPq8bAAAAfM+rYVlBQYEkKSoqymV/VFSU81hBQYEiIyNdjjdo0EARERHONlWZNWuWpk6dWml/Tk6OQkNDr3bqleTm5rp9zNrGH2qULl/nnO5XN/a6deuubgA38of30x9qlPyjTn+oUfKPOj1R47lz59w+JgAAAFDBq2GZJ02YMEGZmZnO7ZKSEsXGxio5OVkWi8Vtr2O325Wbm6u+ffsqKCjIbePWJv5Qo3RldXbI2nBVr7E3K+Wq+ruDP7yf/lCj5B91+kONkn/U6ckaK64eBwAAADzBq2FZdHS0JKmwsFAtWrRw7i8sLFSXLl2cbYqKilz6XbhwQSdPnnT2r4rZbJbZbK60PygoyCPfiHhq3NrEH2qULl+nrcx01WPXFv7wfvpDjZJ/1OkPNUr+UacnaqzvawYAAADfcvvTMC8nPj5e0dHR2rRpk3NfSUmJduzYIavVKkmyWq0qLi5Wfn6+s83HH3+s8vJyJSYmenO6AAAAAAAA8DNuv7LszJkzOnz4sHP7yJEj2rNnjyIiItSqVSuNHTtWM2bMUNu2bRUfH69JkyYpJiZGAwcOlCS1b99ed999tx599FEtXrxYdrtdo0eP1tChQ3kSJgAAAAAAADzK7WHZ7t27deeddzq3K+4jlp6ermXLlunJJ5/U2bNnNXLkSBUXF6tXr15av369QkJCnH3efPNNjR49WnfddZcCAgKUlpam+fPnu3uqAAAAAAAAgAu3h2W9e/eWYRiXPG4ymTRt2jRNmzbtkm0iIiK0YsUKd08NAAAAAAAAuCyv3rMMAAAAAAAAqM0IywAAAAAAAAAHwjIAAAAAAADAgbAMAAAAAAAAcCAsAwAAAAAAABwIywAAAAAAAACHBr6eAICqtX76wxr3PTo71Y0zAQAAAADAf3BlGQAAAAAAAOBAWAYAAAAAAAA48GuYqPcu9euM5kBDc7pLHbI2yFZm8vKsAAAAAABAbcSVZQAAAAAAAIADYRkAAAAAAADgQFgGAAAAAAAAOBCWAQAAAAAAAA6EZQAAAAAAAIADYRkAAAAAAADgQFgGAAAAAAAAOBCWAQAAAAAAAA6EZQAAAAAAAIADYRkAAAAAAADgQFgGAAAAAAAAOBCWAQAAAAAAAA4NfD0BAO7X+ukPnf9vDjQ0p7vUIWuDbGWmK+p/dHaqp6YGAAAAAECtxpVlAAAAAAAAgANhGQAAAAAAAOBAWAYAAAAAAAA4EJbh/2fv/sOjKO/9/7+SsNkQYBOCTUI0QGqtgIBYorBirQdCIo1WJV8tPanGypEeDCjkFCX9APJDDKatUjCCejygl1Jb2mIFEbNihWMJEGJp+WERKxaPuEkVQwQOmyU73z+c7HEhSEJ2dza7z8d15ZKduWfmft+TxDuvnZ0BAAAAAACAibAMAAAAAAAAMBGWAQAAAAAAACbCMgAAAAAAAMBEWAYAAAAAAACYCMsAAAAAAAAAE2EZAAAAAAAAYCIsAwAAAAAAAEyEZQAAAAAAAICJsAwAAAAAAAAwEZYBAAAAAAAAJsIyAAAAAAAAwERYBgAAAAAAAJgIywAAAAAAAAATYRkAAAAAAABgsiQsa2lp0Zw5c5STk6Pu3bvr4osv1sKFC2UYhr+NYRiaO3eu+vbtq+7duysvL08HDhyworsAAAAAAACIEZaEZY888oiWL1+uxx9/XO+8844eeeQRVVZWatmyZf42lZWVWrp0qVasWKHt27erR48eKigo0MmTJ63oMgAAAELso48+0g9/+EP16dNH3bt319ChQ7Vz507/+va8mXrkyBEVFxfL4XAoNTVVkyZN0rFjx8JdCgAA6MIsCcu2bt2qm266SYWFhRowYID+v//v/1N+fr527Ngh6YuJ0JIlSzR79mzddNNNGjZsmJ577jkdPnxYL730khVdBgAAQAh99tlnGj16tGw2m1599VXt27dPv/jFL9S7d29/m/a8mVpcXKy9e/fK5XJp/fr12rJliyZPnmxFSQAAoIvqZsVBr776aj311FN699139c1vflN/+ctf9NZbb+nRRx+VJB08eFBut1t5eXn+bVJSUjRy5EjV1NRo4sSJZ+zT4/HI4/H4Xzc1NUmSvF6vvF5v0Preuq9g7jPSRFuN9gSj7eXxRsB/Q6EzY3i2fnd4P+dRZ1c799H2PXs2sVBnLNQoxUadoawxmsctlj3yyCPKzs7WypUr/ctycnL8/z79zVRJeu6555SRkaGXXnpJEydO1DvvvKONGzeqtrZWubm5kqRly5bpu9/9rn7+858rKysrvEUBAIAuyZKwbNasWWpqatLAgQOVkJCglpYWLVq0SMXFxZIkt9stScrIyAjYLiMjw7/udBUVFZo/f/4Zy6urq5WcnBzkCiSXyxX0fUaaaKmx8qqvXr8w1xeyY2/YsOG8tz1XvzuqI3V2pt9Wipbv2XOJhTpjoUYpNuoMRY0nTpwI+j5hvZdfflkFBQW69dZbtXnzZl144YW65557dPfdd0tq35upNTU1Sk1N9QdlkpSXl6f4+Hht375dt9xyyxnHDdcbrq37lM7/jbquEBTHwpsBUmzUGQs1SrFRZyzUKMVGndQYnH23hyVh2W9+8xu98MILWr16tS677DLt2rVL06dPV1ZWlkpKSs5rn+Xl5SorK/O/bmpqUnZ2tvLz8+VwOILVdXm9XrlcLo0bN042my1o+40k0VbjkHmvtbncHm9oYa5Pc3bGy+OLC8mx98wrOO9tz9bvjjqfOjvTbytE2/fs2cRCnbFQoxQbdYayxtYwA9Hl/fff1/Lly1VWVqaf/vSnqq2t1b333qvExESVlJS0681Ut9ut9PT0gPXdunVTWlpaxLzhKp3/G3Vd6c2sWHgzQIqNOmOhRik26oyFGqXYqJMaz09H3nC1JCybOXOmZs2a5f845dChQ/WPf/xDFRUVKikpUWZmpiSpvr5effv29W9XX1+v4cOHt7lPu90uu91+xnKbzRaSP0RCtd9IEi01elq+OiDy+OLO2eZ8dWb8gt2njtTZVc97tHzPnkss1BkLNUqxUWcoaoz2MYtVPp9Pubm5evjhhyVJV1xxhfbs2aMVK1ac95up7RGuN1yl/wuRz/eNuq7wZlYsvBkgxUadsVCjFBt1xkKNUmzUSY2d05E3XC0Jy06cOKH4+MBnCyQkJMjn++JdtpycHGVmZmrTpk3+cKypqUnbt2/XlClTwt1dAAAAhFjfvn01ePDggGWDBg3S7373O0lq15upmZmZamhoCNjHqVOndOTIEf/2pwv3G67S+b9R15X+MIqFNwOk2KgzFmqUYqPOWKhRio06qfH899leljwN88Ybb9SiRYv0yiuv6IMPPtDatWv16KOP+u8jERcXp+nTp+uhhx7Syy+/rN27d+uOO+5QVlaWbr75Ziu6DAAAgBAaPXq09u/fH7Ds3XffVf/+/SUFvpnaqvXNVKfTKUlyOp1qbGxUXV2dv80bb7whn8+nkSNHhqEKAAAQDSy5smzZsmWaM2eO7rnnHjU0NCgrK0s//vGPNXfuXH+b+++/X8ePH9fkyZPV2Nioa665Rhs3blRSUpIVXQYAAEAIzZgxQ1dffbUefvhh3XbbbdqxY4eeeuopPfXUU5IC30y95JJLlJOTozlz5gS8mTpo0CBdf/31uvvuu7VixQp5vV5NnTpVEydO5EmYAACg3SwJy3r16qUlS5ZoyZIlZ20TFxenBQsWaMGCBeHrGAAAACxx5ZVXau3atSovL9eCBQuUk5OjJUuW+J+WLrXvzdQXXnhBU6dO1dixYxUfH6+ioiItXbrUipIAAEAXZUlYBgAAAJzuhhtu0A033HDW9e15MzUtLU2rV68ORfcAAECMsOSeZQAAAAAAAEAkIiwDAAAAAAAATIRlAAAAAAAAgImwDAAAAAAAADARlgEAAAAAAAAmwjIAAAAAAADARFgGAAAAAAAAmAjLAAAAAAAAABNhGQAAAAAAAGAiLAMAAAAAAABMhGUAAAAAAACAibAMAAAAAAAAMBGWAQAAAAAAACbCMgAAAAAAAMBEWAYAAAAAAACYCMsAAAAAAAAAE2EZAAAAAAAAYCIsAwAAAAAAAEyEZQAAAAAAAICJsAwAAAAAAAAwEZYBAAAAAAAAJsIyAAAAAAAAwERYBgAAAAAAAJgIywAAAAAAAAATYRkAAAAAAABgIiwDAAAAAAAATIRlAAAAAAAAgImwDAAAAAAAADB1s7oDQDQbMOsVq7sAAAAAAAA6gCvLAAAAAAAAABNhGQAAAAAAAGDiY5gAgqozHz39YHFhEHsCAAAAAEDHcWUZAAAAAAAAYCIsAwAAAAAAAEyEZQAAAAAAAICJsAwAAAAAAAAwEZYBAAAAAAAAJsIyAAAAAAAAwERYBgAAAAAAAJi6WXXgjz76SA888IBeffVVnThxQt/4xje0cuVK5ebmSpIMw9CDDz6op59+Wo2NjRo9erSWL1+uSy65xKouw0IDZr1idRcAAAAAAEAMsOTKss8++0yjR4+WzWbTq6++qn379ukXv/iFevfu7W9TWVmppUuXasWKFdq+fbt69OihgoICnTx50oouAwAAAAAAIAZYcmXZI488ouzsbK1cudK/LCcnx/9vwzC0ZMkSzZ49WzfddJMk6bnnnlNGRoZeeuklTZw4Mex9BgAAAAAAQPSz5Mqyl19+Wbm5ubr11luVnp6uK664Qk8//bR//cGDB+V2u5WXl+dflpKSopEjR6qmpsaKLgMAAAAAACAGWHJl2fvvv6/ly5errKxMP/3pT1VbW6t7771XiYmJKikpkdvtliRlZGQEbJeRkeFfdzqPxyOPx+N/3dTUJEnyer3yer1B63vrvoK5z0gTiTXaE4zg7zPeCPhvtDqfOjtz7jtzrs73uJH4PRsKsVBnLNQoxUadoawxmscNAAAA1rMkLPP5fMrNzdXDDz8sSbriiiu0Z88erVixQiUlJee1z4qKCs2fP/+M5dXV1UpOTu5Uf9vicrmCvs9IE0k1Vl4Vun0vzPWFbucRpCN1btiw4byP05lz1ZnjSpH1PRtKsVBnLNQoxUadoajxxIkTQd8nAAAA0MqSsKxv374aPHhwwLJBgwbpd7/7nSQpMzNTklRfX6++ffv629TX12v48OFt7rO8vFxlZWX+101NTcrOzlZ+fr4cDkfQ+u71euVyuTRu3DjZbLag7TeSRGKNQ+a9FvR92uMNLcz1ac7OeHl8cUHff6Q4nzr3zCs47+N15lyd73Ej8Xs2FGKhzlioUYqNOkNZY+vV4wAAAEAoWBKWjR49Wvv37w9Y9u6776p///6SvrjZf2ZmpjZt2uQPx5qamrR9+3ZNmTKlzX3a7XbZ7fYzlttstpD8IRKq/UaSSKrR0xK6MMvjiwvp/iNFR+rszHnvzFh29vstkr5nQykW6oyFGqXYqDMUNUb7mAEAAMBaloRlM2bM0NVXX62HH35Yt912m3bs2KGnnnpKTz31lCQpLi5O06dP10MPPaRLLrlEOTk5mjNnjrKysnTzzTdb0WUAAAAAAADEAEvCsiuvvFJr165VeXm5FixYoJycHC1ZskTFxcX+Nvfff7+OHz+uyZMnq7GxUddcc402btyopKQkK7oMAAAAAACAGGBJWCZJN9xwg2644Yazro+Li9OCBQu0YMGCMPYKAAAAAAAAsSze6g4AAAAAAAAAkYKwDAAAAAAAADARlgEAAAAAAAAmwjIAAAAAAADARFgGAAAAAAAAmAjLAAAAAAAAABNhGQAAAAAAAGAiLAMAAAAAAABMhGUAAACIOIsXL1ZcXJymT5/uX3by5EmVlpaqT58+6tmzp4qKilRfXx+w3aFDh1RYWKjk5GSlp6dr5syZOnXqVJh7DwAAujLCMgAAAESU2tpaPfnkkxo2bFjA8hkzZmjdunVas2aNNm/erMOHD2vChAn+9S0tLSosLFRzc7O2bt2qZ599VqtWrdLcuXPDXQIAAOjCCMsAAAAQMY4dO6bi4mI9/fTT6t27t3/50aNH9cwzz+jRRx/VmDFjNGLECK1cuVJbt27Vtm3bJEnV1dXat2+fnn/+eQ0fPlzjx4/XwoULVVVVpebmZqtKAgAAXUw3qzsAAAAAtCotLVVhYaHy8vL00EMP+ZfX1dXJ6/UqLy/Pv2zgwIHq16+fampqNGrUKNXU1Gjo0KHKyMjwtykoKNCUKVO0d+9eXXHFFWccz+PxyOPx+F83NTVJkrxer7xeb1Bra92fPd7o1PaRrLWPXaGvnRELdcZCjVJs1BkLNUqxUSc1Bmff7UFYBiBiDJj1ynltZ08wVHlVkDsDAAi7F198UW+//bZqa2vPWOd2u5WYmKjU1NSA5RkZGXK73f42Xw7KWte3rmtLRUWF5s+ff8by6upqJScnn08Z57Qw13de223YsCHIPQkdl8tldRfCIhbqjIUapdioMxZqlGKjTmo8PydOnGh3W8IyAAAAWO7DDz/UfffdJ5fLpaSkpLAdt7y8XGVlZf7XTU1Nys7OVn5+vhwOR1CP5fV65XK5NGdnvDy+uA5vv2deQVD7EwqtNY4bN042m83q7oRMLNQZCzVKsVFnLNQoxUad1Ng5rVePtwdhGQAAACxXV1enhoYGfetb3/Iva2lp0ZYtW/T444/rtddeU3NzsxobGwOuLquvr1dmZqYkKTMzUzt27AjYb+vTMlvbnM5ut8tut5+x3GazhewPEY8vTp6WjodlXekPo1COXySJhTpjoUYpNuqMhRql2KiTGs9/n+3FDf4BAABgubFjx2r37t3atWuX/ys3N1fFxcX+f9tsNm3atMm/zf79+3Xo0CE5nU5JktPp1O7du9XQ0OBv43K55HA4NHjw4LDXBAAAuiauLAMAAIDlevXqpSFDhgQs69Gjh/r06eNfPmnSJJWVlSktLU0Oh0PTpk2T0+nUqFGjJEn5+fkaPHiwbr/9dlVWVsrtdmv27NkqLS1t8+oxAACAthCWAQAAoEt47LHHFB8fr6KiInk8HhUUFOiJJ57wr09ISND69es1ZcoUOZ1O9ejRQyUlJVqwYIGFvQYAAF0NYRkAAAAi0ptvvhnwOikpSVVVVaqqqjrrNv379+9ST40EAACRh3uWAQAAAAAAACbCMgAAAAAAAMBEWAYAAAAAAACYCMsAAAAAAAAAE2EZAAAAAAAAYCIsAwAAAAAAAEyEZQAAAAAAAICJsAwAAAAAAAAwEZYBAAAAAAAAJsIyAAAAAAAAwERYBgAAAAAAAJgIywAAAAAAAAATYRkAAAAAAABgIiwDAAAAAAAATIRlAAAAAAAAgImwDAAAAAAAADARlgEAAAAAAAAmwjIAAAAAAADARFgGAAAAAAAAmLpZ3QEAkWfArFes7gIAAAAAAJbgyjIAAAAAAADAxJVlAAAAAL5Se686tycYqrxKGjLvNXla4iRJHywuDGXXAAAIOsuvLFu8eLHi4uI0ffp0/7KTJ0+qtLRUffr0Uc+ePVVUVKT6+nrrOgkAAAAAAICYYGlYVltbqyeffFLDhg0LWD5jxgytW7dOa9as0ebNm3X48GFNmDDBol4CAAAAAAAgVlgWlh07dkzFxcV6+umn1bt3b//yo0eP6plnntGjjz6qMWPGaMSIEVq5cqW2bt2qbdu2WdVdAAAAAAAAxADLwrLS0lIVFhYqLy8vYHldXZ28Xm/A8oEDB6pfv36qqakJdzcBAAAAAAAQQyy5wf+LL76ot99+W7W1tWesc7vdSkxMVGpqasDyjIwMud3us+7T4/HI4/H4Xzc1NUmSvF6vvF5vcDpu7u/L/41GkVijPcEI/j7jjYD/RqtYqLO1tkj6ng2FSPzZDLZYqFGKjTpDWWM0jxsAAACsF/aw7MMPP9R9990nl8ulpKSkoO23oqJC8+fPP2N5dXW1kpOTg3acVi6XK+j7jDSRVGPlVaHb98JcX+h2HkFioc5I+p4NpVioMxZqlGKjzlDUeOLEiaDvEwAAAGgV9rCsrq5ODQ0N+ta3vuVf1tLSoi1btujxxx/Xa6+9pubmZjU2NgZcXVZfX6/MzMyz7re8vFxlZWX+101NTcrOzlZ+fr4cDkfQ+u/1euVyuTRu3DjZbLag7TeSRGKNQ+a9FvR92uMNLcz1ac7OeHl8cUHff6SIhTpba+zM92xnvsf2zCs47207IhJ/NoMtFmqUYqPOUNbYevU4AAAAEAphD8vGjh2r3bt3Byz70Y9+pIEDB+qBBx5Qdna2bDabNm3apKKiIknS/v37dejQITmdzrPu1263y263n7HcZrOF5A+RUO03kkRSjZ6W0IU8Hl9cSPcfKWKhzs58z3ZmbML9cxJJP5uhEgs1SrFRZyhqjPYxAwAAgLXCHpb16tVLQ4YMCVjWo0cP9enTx7980qRJKisrU1pamhwOh6ZNmyan06lRo0aFu7sAAAAAAACIIZbc4P9cHnvsMcXHx6uoqEgej0cFBQV64oknrO4WAAAAAAAAolxEhGVvvvlmwOukpCRVVVWpqqrKmg4BAAAAAAAgJsVb3QEAAAAAAAAgUhCWAQAAAAAAACbCMgAAAAAAAMBEWAYAAAAAAACYIuIG/wDQlQ2Y9Uqntv9gcWGQegIAAAAA6CyuLAMAAAAAAABMhGUAAAAAAACAiY9hIiw6+zE1AAAAAACAcODKMgAAAAAAAMDElWXnaci81+RpiTuvbbmZNwAAAAAAQGTiyjIAAAAAAADARFgGAAAAAAAAmAjLAAAAAAAAABNhGQAAAAAAAGDiBv8AokZnHrwBAAAAAIDElWUAAAAAAACAH2EZAAAAAAAAYCIsAwAAAAAAAEyEZQAAAAAAAICJsAwAAAAAAAAwEZYBAAAAAAAAJsIyAAAAAAAAwERYBgAAAAAAAJgIywAAAAAAAAATYRkAAAAsV1FRoSuvvFK9evVSenq6br75Zu3fvz+gzcmTJ1VaWqo+ffqoZ8+eKioqUn19fUCbQ4cOqbCwUMnJyUpPT9fMmTN16tSpcJYCAAC6OMIyAAAAWG7z5s0qLS3Vtm3b5HK55PV6lZ+fr+PHj/vbzJgxQ+vWrdOaNWu0efNmHT58WBMmTPCvb2lpUWFhoZqbm7V161Y9++yzWrVqlebOnWtFSQAAoIvqZnUHAAAAgI0bNwa8XrVqldLT01VXV6drr71WR48e1TPPPKPVq1drzJgxkqSVK1dq0KBB2rZtm0aNGqXq6mrt27dPr7/+ujIyMjR8+HAtXLhQDzzwgObNm6fExEQrSgMAAF0MV5YBAAAg4hw9elSSlJaWJkmqq6uT1+tVXl6ev83AgQPVr18/1dTUSJJqamo0dOhQZWRk+NsUFBSoqalJe/fuDWPvAQBAV8aVZQAAAIgoPp9P06dP1+jRozVkyBBJktvtVmJiolJTUwPaZmRkyO12+9t8OShrXd+6ri0ej0cej8f/uqmpSZLk9Xrl9XqDUk+r1v3Z441ObW8Fe0L7+txa25drtLLfodJaUzTW1ioWapRio85YqFGKjTqpMTj7bg/CMgAAAESU0tJS7dmzR2+99VbIj1VRUaH58+efsby6ulrJyckhOebCXN95bbdhw4Yg96T9Kq/qWPsv12hlv0PN5XJZ3YWQi4UapdioMxZqlGKjTmo8PydOnGh3W8IyAAAARIypU6dq/fr12rJliy666CL/8szMTDU3N6uxsTHg6rL6+nplZmb62+zYsSNgf61Py2xtc7ry8nKVlZX5Xzc1NSk7O1v5+flyOBzBKkvSF+9ou1wuzdkZL48vrsPb75lXENT+dMSQea+1q5093tDCXF9AjVb2O1Raz+W4ceNks9ms7k5IxEKNUmzUGQs1SrFRJzV2TuvV4+1BWAYAAADLGYahadOmae3atXrzzTeVk5MTsH7EiBGy2WzatGmTioqKJEn79+/XoUOH5HQ6JUlOp1OLFi1SQ0OD0tPTJX3xzrTD4dDgwYPbPK7dbpfdbj9juc1mC9kfIh5fnDwtHQ/LrPzDqKP9/XKN0foHnRTa75NIEQs1SrFRZyzUKMVGndR4/vtsL8IyAAAAWK60tFSrV6/WH/7wB/Xq1ct/j7GUlBR1795dKSkpmjRpksrKypSWliaHw6Fp06bJ6XRq1KhRkqT8/HwNHjxYt99+uyorK+V2uzV79myVlpa2GYgBAAC0hbAMAAAAllu+fLkk6brrrgtYvnLlSt15552SpMcee0zx8fEqKiqSx+NRQUGBnnjiCX/bhIQErV+/XlOmTJHT6VSPHj1UUlKiBQsWhKsMAAAQBQjLAAAAYDnDOPfTFpOSklRVVaWqqqqztunfv39U31AeAACEHmEZAFhswKxX2tXOnmCo8qovbrLceh+YDxYXhrJrAAAAABBz4q3uAAAAAAAAABApCMsAAAAAAAAAEx/DBIAY1d6Pf7aFj38CAAAAiFZcWQYAAAAAAACYuLLMAlzNAQAAAAAAEJksubKsoqJCV155pXr16qX09HTdfPPN2r9/f0CbkydPqrS0VH369FHPnj1VVFSk+vp6K7oLAAAAAACAGGFJWLZ582aVlpZq27Ztcrlc8nq9ys/P1/Hjx/1tZsyYoXXr1mnNmjXavHmzDh8+rAkTJljRXQAAAAAAAMQISz6GuXHjxoDXq1atUnp6uurq6nTttdfq6NGjeuaZZ7R69WqNGTNGkrRy5UoNGjRI27Zt06hRo6zoNgAAAAAAAKJcRNyz7OjRo5KktLQ0SVJdXZ28Xq/y8vL8bQYOHKh+/fqppqamzbDM4/HI4/H4Xzc1NUmSvF6vvF5v0Praui97vBG0fZ7P8cNxjGAey55gzXh9ldZzaNW5DJdYqDMWapTarrMzP6ed+bkM1e+iUPz+iUSxUGcoa4zmcQMAAID1LA/LfD6fpk+frtGjR2vIkCGSJLfbrcTERKWmpga0zcjIkNvtbnM/FRUVmj9//hnLq6urlZycHPR+L8z1BX2f7bFhw4awHcvlcgVtX5VXBW1XQWfVuQy3WKgzFmqUAuvszO+Ezvxchvp3UTB//0SyWKgzFDWeOHEi6PsEAAAAWlkelpWWlmrPnj166623OrWf8vJylZWV+V83NTUpOztb+fn5cjgcne2mn9frlcvl0pyd8fL44oK23/baM68g5MdorXHcuHGy2WxB2eeQea8FZT/BZI83tDDXZ9m5DJdYqDMWapTarrMzvxM683MZqt9Fofj9E4lioc5Q1th69TgAAAAQCpaGZVOnTtX69eu1ZcsWXXTRRf7lmZmZam5uVmNjY8DVZfX19crMzGxzX3a7XXa7/YzlNpstJH+IeHxx8rSE/4/ycP5RFcyxs2Ks2suqcxlusVBnLNQoBdbZmZ/RzoxVqH8Xhep3d6SJhTpDUWO0jxkAAACsZcnTMA3D0NSpU7V27Vq98cYbysnJCVg/YsQI2Ww2bdq0yb9s//79OnTokJxOZ7i7CwAAAAAAgBhhyZVlpaWlWr16tf7whz+oV69e/vuQpaSkqHv37kpJSdGkSZNUVlamtLQ0ORwOTZs2TU6nkydhAgAAAAAAIGQsCcuWL18uSbruuusClq9cuVJ33nmnJOmxxx5TfHy8ioqK5PF4VFBQoCeeeCLMPQUAAAAAAEAssSQsMwzjnG2SkpJUVVWlqqqqMPQIALqmAbNesboLAAAAABBVLLlnGQAAAAAAABCJCMsAAAAAAAAAE2EZAAAAAAAAYCIsAwAAAAAAAEyW3OAf56+zN/P+YHFhkHoCAOfvbL/L7AmGKq+Shsx7TZ6WuDbb8HsMAAAAQChxZRkAAAAAAABgIiwDAAAAAAAATIRlAAAAAAAAgImwDAAAAAAAADBxg/8Y054HBJztBtvcVBtAJOjMg074PQYAAADgXLiyDAAAAAAAADARlgEAAAAAAAAmPoaJduvMR58AAAAAAAC6Aq4sAwAAAAAAAEyEZQAAAAAAAICJsAwAAAAAAAAwEZYBAAAAAAAAJm7wDwDoMB74AQAAACBacWUZAAAAAAAAYCIsAwAAAAAAAEyEZQAAAAAAAICJsAwAAAAAAAAwEZYBAAAAAAAAJsIyAAAAAAAAwERYBgAAAAAAAJgIywAAAAAAAAATYRkAAAAAAABgIiwDAAAAAAAATIRlAAAAAAAAgImwDAAAAAAAADARlgEAAAAAAACmblZ3AAAAAAAizYBZr5x1nT3BUOVV0pB5r8nTEnfG+g8WF4ayawCAECMsAwAgDL78R9e5/sg6HX90AQAAAOHDxzABAAAAAAAAE2EZAAAAAAAAYOJjmACAmPFV959pDz4OCQAAAEQ/riwDAAAAAAAATIRlAAAAAAAAgImPYQIAAAAAOvXkZqlr366gI3V+WVeuGcDZcWUZAAAAAAAAYCIsAwAAAAAAAEwRHZZVVVVpwIABSkpK0siRI7Vjxw6ruwQAAIAIxxwSAAB0RsTes+zXv/61ysrKtGLFCo0cOVJLlixRQUGB9u/fr/T0dKu7BwAAgAjEHBIAAOt9+R6IHdF6v0SrRWxY9uijj+ruu+/Wj370I0nSihUr9Morr+i//uu/NGvWLIt7BwCIRef7P/2uetzOiJSJDmIPc0gAsaK984O2HtbAgwmArxaRYVlzc7Pq6upUXl7uXxYfH6+8vDzV1NS0uY3H45HH4/G/Pnr0qCTpyJEj8nq9Qeub1+vViRMn1M0brxZfx5+W0hV08xk6ccIX1TVK1BlNYqFGKTbqjIUapdios7XGTz/9VDabLaj7/vzzzyVJhmEEdb/o+iJ5Dil1fh756aefBrU/HdHt1PH2tWvj95uV/e6Mr6r5XL/Ho6Hm8/l/VVesm5/L6NF6LkMx94gUXanG9n5/nrFdpMwhjQj00UcfGZKMrVu3BiyfOXOmcdVVV7W5zYMPPmhI4osvvvjiiy++YuTrww8/DMe0BF0Ic0i++OKLL7744utcX+2ZQ0bklWXno7y8XGVlZf7XPp9PR44cUZ8+fRQXF7x37ZuampSdna0PP/xQDocjaPuNJLFQo0Sd0SQWapRio85YqFGKjTpDWaNhGPr888+VlZUV1P0iNoVrDinxsx9NYqHOWKhRio06Y6FGKTbqpMbO6cgcMiLDsgsuuEAJCQmqr68PWF5fX6/MzMw2t7Hb7bLb7QHLUlNTQ9VFORyOqP3mbBULNUrUGU1ioUYpNuqMhRql2KgzVDWmpKQEfZ/o+rrCHFLiZz+axEKdsVCjFBt1xkKNUmzUSY3nr71zyPigHzkIEhMTNWLECG3atMm/zOfzadOmTXI6nRb2DAAAAJGKOSQAAAiGiLyyTJLKyspUUlKi3NxcXXXVVVqyZImOHz/uf7IRAAAAcDrmkAAAoLMiNiz7/ve/r3/+85+aO3eu3G63hg8fro0bNyojI8PSftntdj344INnXK4fTWKhRok6o0ks1CjFRp2xUKMUG3XGQo2ITJE6h5Ri4+ciFmqUYqPOWKhRio06Y6FGKTbqpMbwiTMMnrsOAAAAAAAASBF6zzIAAAAAAADACoRlAAAAAAAAgImwDAAAAAAAADARlgEAAAAAAAAmwrIOqKqq0oABA5SUlKSRI0dqx44dVnepU7Zs2aIbb7xRWVlZiouL00svvRSw3jAMzZ07V3379lX37t2Vl5enAwcOWNPZ81RRUaErr7xSvXr1Unp6um6++Wbt378/oM3JkydVWlqqPn36qGfPnioqKlJ9fb1FPT4/y5cv17Bhw+RwOORwOOR0OvXqq6/610dDjadbvHix4uLiNH36dP+yaKhz3rx5iouLC/gaOHCgf3001ChJH330kX74wx+qT58+6t69u4YOHaqdO3f610fD758BAwaccS7j4uJUWloqKTrOZUtLi+bMmaOcnBx1795dF198sRYuXKgvPzsoGs4lEAzRNo883bnmldGgPfPKaHCueWU0amteGQ3ONa+MFueaV0aDc80ro0F75pXhRFjWTr/+9a9VVlamBx98UG+//bYuv/xyFRQUqKGhwequnbfjx4/r8ssvV1VVVZvrKysrtXTpUq1YsULbt29Xjx49VFBQoJMnT4a5p+dv8+bNKi0t1bZt2+RyueT1epWfn6/jx4/728yYMUPr1q3TmjVrtHnzZh0+fFgTJkywsNcdd9FFF2nx4sWqq6vTzp07NWbMGN10003au3evpOio8ctqa2v15JNPatiwYQHLo6XOyy67TB9//LH/66233vKvi4YaP/vsM40ePVo2m02vvvqq9u3bp1/84hfq3bu3v000/P6pra0NOI8ul0uSdOutt0qKjnP5yCOPaPny5Xr88cf1zjvv6JFHHlFlZaWWLVvmbxMN5xLorGicR57uXPPKaNCeeWU0ONe8MtqcbV4ZLb5qXhkN2jOvjAbnmldGg/bMK8PKQLtcddVVRmlpqf91S0uLkZWVZVRUVFjYq+CRZKxdu9b/2ufzGZmZmcbPfvYz/7LGxkbDbrcbv/rVryzoYXA0NDQYkozNmzcbhvFFTTabzVizZo2/zTvvvGNIMmpqaqzqZlD07t3b+M///M+oq/Hzzz83LrnkEsPlchnf+c53jPvuu88wjOg5lw8++KBx+eWXt7kuWmp84IEHjGuuueas66P19899991nXHzxxYbP54uac1lYWGjcddddAcsmTJhgFBcXG4YRvecS6Khon0ee7vR5ZbQ6fV4ZzVrnldHmbPPKaPFV88poca55ZbT68rwyWpxrXhluXFnWDs3Nzaqrq1NeXp5/WXx8vPLy8lRTU2Nhz0Ln4MGDcrvdATWnpKRo5MiRXbrmo0ePSpLS0tIkSXV1dfJ6vQF1Dhw4UP369euydba0tOjFF1/U8ePH5XQ6o67G0tJSFRYWBtQjRde5PHDggLKysvT1r39dxcXFOnTokKToqfHll19Wbm6ubr31VqWnp+uKK67Q008/7V8fjb9/mpub9fzzz+uuu+5SXFxc1JzLq6++Wps2bdK7774rSfrLX/6it956S+PHj5cUnecS6KhYnEfGitPnldHo9HlltDnbvDKanG1eGS3ONa+MRqfPK6PFueaV4dbNkqN2MZ988olaWlqUkZERsDwjI0N/+9vfLOpVaLndbklqs+bWdV2Nz+fT9OnTNXr0aA0ZMkTSF3UmJiYqNTU1oG1XrHP37t1yOp06efKkevbsqbVr12rw4MHatWtX1NT44osv6u2331Ztbe0Z66LlXI4cOVKrVq3SpZdeqo8//ljz58/Xt7/9be3Zsydqanz//fe1fPlylZWV6ac//alqa2t17733KjExUSUlJVH5++ell15SY2Oj7rzzTknR8/06a9YsNTU1aeDAgUpISFBLS4sWLVqk4uJiSdH5/xKgo2JxHhkL2ppXRpOzzSujyVfNK6PFV80re/XqZXX3guJc88podPq8Mlqca14ZboRliBmlpaXas2dP1H1Ov9Wll16qXbt26ejRo/rtb3+rkpISbd682epuBc2HH36o++67Ty6XS0lJSVZ3J2S+/M7JsGHDNHLkSPXv31+/+c1v1L17dwt7Fjw+n0+5ubl6+OGHJUlXXHGF9uzZoxUrVkTtpOaZZ57R+PHjlZWVZXVXguo3v/mNXnjhBa1evVqXXXaZdu3apenTpysrKytqzyUASLE7r4yWwIx55W80adIkC3sWPMwro0ekzSv5GGY7XHDBBUpISDjjKWX19fXKzMy0qFeh1VpXtNQ8depUrV+/Xn/84x910UUX+ZdnZmaqublZjY2NAe27Yp2JiYn6xje+oREjRqiiokKXX365fvnLX0ZNjXV1dWpoaNC3vvUtdevWTd26ddPmzZu1dOlSdevWTRkZGVFR5+lSU1P1zW9+U++9917UnMu+ffueMdkeNGiQ/2MB0fb75x//+Idef/11/du//Zt/WbScy5kzZ2rWrFmaOHGihg4dqttvv10zZsxQRUWFpOg7l8D5iMV5ZLQ727wympxtXhktzjWvbGlpsbqLIfHleWW0ONe8Mtq0Na+MFueaV4YbYVk7JCYmasSIEdq0aZN/mc/n06ZNm6Lys/uSlJOTo8zMzICam5qatH379i5Vs2EYmjp1qtauXas33nhDOTk5AetHjBghm80WUOf+/ft16NChLlVnW3w+nzweT9TUOHbsWO3evVu7du3yf+Xm5qq4uNj/72io83THjh3T3//+d/Xt2zdqzuXo0aO1f//+gGXvvvuu+vfvLyl6fv+0WrlypdLT01VYWOhfFi3n8sSJE4qPD5xKJCQkyOfzSYq+cwmcj1icR0arc80ro1nrvDJanGtemZCQYHUXQ+LL88poca55ZbRpa14ZLc41rww7Sx4r0AW9+OKLht1uN1atWmXs27fPmDx5spGammq43W6ru3bePv/8c+PPf/6z8ec//9mQZDz66KPGn//8Z+Mf//iHYRiGsXjxYiM1NdX4wx/+YPz1r381brrpJiMnJ8f43//9X4t73n5TpkwxUlJSjDfffNP4+OOP/V8nTpzwt/n3f/93o1+/fsYbb7xh7Ny503A6nYbT6bSw1x03a9YsY/PmzcbBgweNv/71r8asWbOMuLg4o7q62jCM6KixLac/tSga6vyP//gP48033zQOHjxo/OlPfzLy8vKMCy64wGhoaDAMIzpq3LFjh9GtWzdj0aJFxoEDB4wXXnjBSE5ONp5//nl/m2j4/WMYXzzxrl+/fsYDDzxwxrpoOJclJSXGhRdeaKxfv944ePCg8fvf/9644IILjPvvv9/fJlrOJdAZ0TiPPN255pXRoD3zymhwrnlltIrGp2Gea14ZDdozr4wWXzWvjAbtmVeGE2FZByxbtszo16+fkZiYaFx11VXGtm3brO5Sp/zxj380JJ3xVVJSYhiGYfh8PmPOnDlGRkaGYbfbjbFjxxr79++3ttMd1FZ9koyVK1f62/zv//6vcc899xi9e/c2kpOTjVtuucX4+OOPrev0ebjrrruM/v37G4mJicbXvvY1Y+zYsQETmmiosS2nT2qioc7vf//7Rt++fY3ExETjwgsvNL7//e8b7733nn99NNRoGIaxbt06Y8iQIYbdbjcGDhxoPPXUUwHro+H3j2EYxmuvvWZIarPv0XAum5qajPvuu8/o16+fkZSUZHz96183/t//+3+Gx+Pxt4mWcwl0VrTNI093rnllNGjPvDIanGteGa2iMSw717wyWpxrXhktvmpeGQ3aM68MpzjDMIxwXcUGAAAAAAAARDLuWQYAAAAAAACYCMsAAAAAAAAAE2EZAAAAAAAAYCIsAwAAAAAAAEyEZQAAAAAAAICJsAwAAAAAAAAwEZYBAAAAAAAAJsIyAAAAAAAAwERYBgAAAAAAAJgIywAAAAAAAAATYRkAAAAAAABgIiwDAAAAAAAATIRlAAAAAAAAgImwDAAAAAAAADARlgEAAAAAAAAmwjIAAAAAAADARFgGAAAAAAAAmAjLAAAAAAAAABNhGQAAAAAAAGAiLAMAAAAAAABMhGUAAAAAAACAibAMAAAAAAAAMBGWAQAAAAAAACbCMgAAAAAAAMBEWAYAAAAAAACYCMsAAAAAAAAAE2EZAAAAAAAAYCIsAwAAAAAAAEyEZQAAAAAAAICJsAwAAAAAAAAwEZYBAAAAAAAAJsIyAAAAAAAAwERYBgAAAAAAAJgIywAAAAAAAAATYRkAAAAAAABgIiwDAAAAAAAATIRlAAAAAAAAgImwDAAAAAAAADARlgEAAAAAAAAmwjIAAAAAAADARFgGAAAAAAAAmAjLAAAAAAAAABNhGQAAAAAAAGAiLAMAAAAAAABMhGUAAAAAAACAibAMAAAAAAAAMBGWAQAAAAAAACbCMgAAAAAAAMBEWAYAAAAAAACYCMsAAAAAAAAAE2EZAAAAAAAAYCIsAwAAAAAAAEyEZQBi2ptvvqm4uDj99re/tborAAAA6ITa2lpdffXV6tGjh+Li4rRr1y6ruwSgi+pmdQcAAAAAAOgMr9erW2+9VUlJSXrssceUnJys/v37W90tAF0UYRkAAAAAoEv7+9//rn/84x96+umn9W//9m9WdwdAF8fHMAFEHcMw9L//+79WdwMAAABh0tDQIElKTU0Nyv6OHz8elP0A6JoIywCE3bx58xQXF6e//e1vuu222+RwONSnTx/dd999OnnypL/dypUrNWbMGKWnp8tut2vw4MFavnz5GfsbMGCAbrjhBr322mvKzc1V9+7d9eSTT0qSGhsbNWPGDA0YMEB2u10XXXSR7rjjDn3yyScB+/D5fFq0aJEuuugiJSUlaezYsXrvvfdCOxAAAADotDvvvFPf+c53JEm33nqr4uLidN111+mvf/2r7rzzTn39619XUlKSMjMzddddd+nTTz8N2L51brpv3z7967/+q3r37q1rrrnGv/7555/XiBEj1L17d6WlpWnixIn68MMPw1ojgPDiY5gALHPbbbdpwIABqqio0LZt27R06VJ99tlneu655yRJy5cv12WXXabvfe976tatm9atW6d77rlHPp9PpaWlAfvav3+/fvCDH+jHP/6x7r77bl166aU6duyYvv3tb+udd97RXXfdpW9961v65JNP9PLLL+t//ud/dMEFF/i3X7x4seLj4/WTn/xER48eVWVlpYqLi7V9+/awjgkAAAA65sc//rEuvPBCPfzww7r33nt15ZVXKiMjQy6XS++//75+9KMfKTMzU3v37tVTTz2lvXv3atu2bYqLiwvYz6233qpLLrlEDz/8sAzDkCQtWrRIc+bM0W233aZ/+7d/0z//+U8tW7ZM1157rf785z8H7Uo2ABHGAIAwe/DBBw1Jxve+972A5ffcc48hyfjLX/5iGIZhnDhx4oxtCwoKjK9//esBy/r3729IMjZu3BiwfO7cuYYk4/e///0Z+/H5fIZhGMYf//hHQ5IxaNAgw+Px+Nf/8pe/NCQZu3fvPr8iAQAAEDatc7o1a9b4l7U1l/zVr35lSDK2bNniX9Y6N/3BD34Q0PaDDz4wEhISjEWLFgUs3717t9GtW7czlgOIHnwME4BlTr86bNq0aZKkDRs2SJK6d+/u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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "data[vars_num].hist(bins=30, figsize=(15,15))\n", + "plt.show()" + ] }, { "cell_type": "markdown", @@ -538,9 +617,20 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 104, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "((1047, 9), (262, 9))" + ] + }, + "execution_count": 104, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "X_train, X_test, y_train, y_test = train_test_split(\n", " data.drop('survived', axis=1), # predictors\n", @@ -562,117 +652,899 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Fill in Missing data in numerical variables:\n", - "\n", - "- Add a binary missing indicator\n", - "- Fill NA in original variable with the median" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Replace Missing data in categorical variables with the string **Missing**" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", + "execution_count": 105, "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", + "
pclasssexagesibspparchfarecabinembarkedtitle
11183male25.0007.9250NaNSMr
441female41.000134.5000ECMiss
10723maleNaN007.7333NaNQMr
11303female18.0007.7750NaNSMiss
5742male29.01021.0000NaNSMr
\n", + "
" + ], + "text/plain": [ + " pclass sex age sibsp parch fare cabin embarked title\n", + "1118 3 male 25.0 0 0 7.9250 NaN S Mr\n", + "44 1 female 41.0 0 0 134.5000 E C Miss\n", + "1072 3 male NaN 0 0 7.7333 NaN Q Mr\n", + "1130 3 female 18.0 0 0 7.7750 NaN S Miss\n", + "574 2 male 29.0 1 0 21.0000 NaN S Mr" + ] + }, + "execution_count": 105, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "### Remove rare labels in categorical variables\n", + "X_train['cabin'] = X_train['cabin'].apply(lambda x: x[0] if pd.notnull(x) else x)\n", + "X_test['cabin'] = X_test['cabin'].apply(lambda x: x[0] if pd.notnull(x) else x)\n", "\n", - "- remove labels present in less than 5 % of the passengers" + "X_train.head()" ] }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### Perform one hot encoding of categorical variables into k-1 binary variables\n", + "### Fill in Missing data in numerical variables:\n", "\n", - "- k-1, means that if the variable contains 9 different categories, we create 8 different binary variables\n", - "- Remember to drop the original categorical variable (the one with the strings) after the encoding" + "- Add a binary missing indicator\n", + "- Fill NA in original variable with the median" ] }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, + "execution_count": 106, "metadata": {}, - "outputs": [], - "source": [] - }, + "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", + "
pclasssexagesibspparchfarecabinembarkedtitleage_nafare_na
11183male25.0007.9250NaNSMr00
441female41.000134.5000ECMiss00
10723male28.0007.7333NaNQMr10
11303female18.0007.7750NaNSMiss00
5742male29.01021.0000NaNSMr00
\n", + "
" + ], + "text/plain": [ + " pclass sex age sibsp parch fare cabin embarked title \\\n", + "1118 3 male 25.0 0 0 7.9250 NaN S Mr \n", + "44 1 female 41.0 0 0 134.5000 E C Miss \n", + "1072 3 male 28.0 0 0 7.7333 NaN Q Mr \n", + "1130 3 female 18.0 0 0 7.7750 NaN S Miss \n", + "574 2 male 29.0 1 0 21.0000 NaN S Mr \n", + "\n", + " age_na fare_na \n", + "1118 0 0 \n", + "44 0 0 \n", + "1072 1 0 \n", + "1130 0 0 \n", + "574 0 0 " + ] + }, + "execution_count": 106, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Add a binary missing indicator\n", + "vars_num_na = ['age', 'fare']\n", + "\n", + "for col in vars_num_na:\n", + " X_train[col + '_na'] = np.where(X_train[col].isnull(), 1, 0)\n", + " train_median = X_train[col].median()\n", + " X_train[col] = X_train[col].fillna(train_median)\n", + " \n", + " X_test[col + '_na'] = np.where(X_test[col].isnull(), 1, 0)\n", + " X_test[col] = X_test[col].fillna(train_median)\n", + "\n", + "\n", + "X_train.head()\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Replace Missing data in categorical variables with the string **Missing**" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "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", + "
pclasssexagesibspparchfarecabinembarkedtitleage_nafare_na
11183male25.0007.9250missingSMr00
441female41.000134.5000ECMiss00
10723male28.0007.7333missingQMr10
11303female18.0007.7750missingSMiss00
5742male29.01021.0000missingSMr00
\n", + "
" + ], + "text/plain": [ + " pclass sex age sibsp parch fare cabin embarked title \\\n", + "1118 3 male 25.0 0 0 7.9250 missing S Mr \n", + "44 1 female 41.0 0 0 134.5000 E C Miss \n", + "1072 3 male 28.0 0 0 7.7333 missing Q Mr \n", + "1130 3 female 18.0 0 0 7.7750 missing S Miss \n", + "574 2 male 29.0 1 0 21.0000 missing S Mr \n", + "\n", + " age_na fare_na \n", + "1118 0 0 \n", + "44 0 0 \n", + "1072 1 0 \n", + "1130 0 0 \n", + "574 0 0 " + ] + }, + "execution_count": 107, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "vars_cat_na = ['cabin', 'embarked']\n", + "\n", + "for col in vars_cat_na:\n", + " X_train[col] = X_train[col].fillna('missing')\n", + " X_test[col] = X_test[col].fillna('missing')\n", + " \n", + "X_train.head()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Remove rare labels in categorical variables\n", + "\n", + "- remove labels present in less than 5 % of the passengers" + ] + }, + { + "cell_type": "code", + "execution_count": 108, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Rare labels in sex:\n", + "Series([], Name: sex, dtype: float64)\n", + "Rare labels in cabin:\n", + "B 0.049666\n", + "D 0.034384\n", + "E 0.034384\n", + "A 0.018147\n", + "F 0.017192\n", + "G 0.003820\n", + "T 0.000955\n", + "Name: cabin, dtype: float64\n", + "Rare labels in embarked:\n", + "missing 0.00191\n", + "Name: embarked, dtype: float64\n", + "Rare labels in title:\n", + "Master 0.044890\n", + "Other 0.025788\n", + "Name: title, dtype: float64\n" + ] + } + ], + "source": [ + "def analyse_rare_labels(df, var, rare_perc):\n", + " df = df.copy()\n", + "\n", + " # determine the % of observations per category\n", + " tmp = df[var].value_counts() / len(df)\n", + "\n", + " # return categories that are rare\n", + " rare_cats = tmp[tmp < rare_perc].index\n", + " \n", + " # replace rare categories by the string 'rare'\n", + " df[var] = df[var].apply(lambda x: 'rare' if x in rare_cats else x)\n", + " \n", + " return tmp[tmp < rare_perc], df\n", + "\n", + "\n", + "# print categories that are present in less than\n", + "# 1 % of the observations\n", + "\n", + "rare_labels = []\n", + "\n", + "for var in vars_cat:\n", + " rare_l, X_train = analyse_rare_labels(X_train, var, 0.05)\n", + " rare_labels.append(rare_l.index.tolist())\n", + " print(f\"Rare labels in {var}:\")\n", + " print(rare_l)\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 109, + "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", + "
pclasssexagesibspparchfarecabinembarkedtitleage_nafare_na
11183male25.0007.9250missingSMr00
441female41.000134.5000rareCMiss00
10723male28.0007.7333missingQMr10
11303female18.0007.7750missingSMiss00
5742male29.01021.0000missingSMr00
\n", + "
" + ], + "text/plain": [ + " pclass sex age sibsp parch fare cabin embarked title \\\n", + "1118 3 male 25.0 0 0 7.9250 missing S Mr \n", + "44 1 female 41.0 0 0 134.5000 rare C Miss \n", + "1072 3 male 28.0 0 0 7.7333 missing Q Mr \n", + "1130 3 female 18.0 0 0 7.7750 missing S Miss \n", + "574 2 male 29.0 1 0 21.0000 missing S Mr \n", + "\n", + " age_na fare_na \n", + "1118 0 0 \n", + "44 0 0 \n", + "1072 1 0 \n", + "1130 0 0 \n", + "574 0 0 " + ] + }, + "execution_count": 109, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "X_train.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 110, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['B', 'D', 'E', 'A', 'F', 'G', 'T', 'missing', 'Master', 'Other']" + ] + }, + "execution_count": 110, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rare_labels = [item for sublist in rare_labels for item in sublist]\n", + "rare_labels" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Perform one hot encoding of categorical variables into k-1 binary variables\n", + "\n", + "- k-1, means that if the variable contains 9 different categories, we create 8 different binary variables\n", + "- Remember to drop the original categorical variable (the one with the strings) after the encoding" + ] + }, + { + "cell_type": "code", + "execution_count": 111, + "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", + "
pclassagesibspparchfareage_nafare_nasex_malecabin_missingcabin_rareembarked_Qembarked_Sembarked_raretitle_Mrtitle_Mrstitle_rare
0325.0007.9250001.01.00.00.01.00.01.00.00.0
1141.000134.5000000.00.01.00.00.00.00.00.00.0
2328.0007.7333101.01.00.01.00.00.01.00.00.0
3318.0007.7750000.01.00.00.01.00.00.00.00.0
4229.01021.0000001.01.00.00.01.00.01.00.00.0
\n", + "
" + ], + "text/plain": [ + " pclass age sibsp parch fare age_na fare_na sex_male \\\n", + "0 3 25.0 0 0 7.9250 0 0 1.0 \n", + "1 1 41.0 0 0 134.5000 0 0 0.0 \n", + "2 3 28.0 0 0 7.7333 1 0 1.0 \n", + "3 3 18.0 0 0 7.7750 0 0 0.0 \n", + "4 2 29.0 1 0 21.0000 0 0 1.0 \n", + "\n", + " cabin_missing cabin_rare embarked_Q embarked_S embarked_rare title_Mr \\\n", + "0 1.0 0.0 0.0 1.0 0.0 1.0 \n", + "1 0.0 1.0 0.0 0.0 0.0 0.0 \n", + "2 1.0 0.0 1.0 0.0 0.0 1.0 \n", + "3 1.0 0.0 0.0 1.0 0.0 0.0 \n", + "4 1.0 0.0 0.0 1.0 0.0 1.0 \n", + "\n", + " title_Mrs title_rare \n", + "0 0.0 0.0 \n", + "1 0.0 0.0 \n", + "2 0.0 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 " + ] + }, + "execution_count": 111, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# k-1, means that if the variable contains 9 different categories, we create 8 different binary variables\n", + "# Remember to drop the original categorical variable (the one with the strings) after the encoding\n", + "\n", + "from sklearn.preprocessing import OneHotEncoder\n", + "\n", + "encoder = OneHotEncoder(sparse=False, drop='first') # drop='first' implements k-1 encoding\n", + "encoder.fit(X_train[vars_cat])\n", + "\n", + "X_train_encoded = encoder.transform(X_train[vars_cat])\n", + "\n", + "X_train_encoded = pd.DataFrame(X_train_encoded, columns=encoder.get_feature_names(vars_cat))\n", + "X_train = pd.concat([X_train.reset_index(drop=True), X_train_encoded], axis=1)\n", + "X_train.drop(labels=vars_cat, axis=1, inplace=True)\n", + "\n", + "X_train.head()\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, { "cell_type": "code", "execution_count": null, @@ -691,10 +1563,187 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 112, "metadata": {}, - "outputs": [], - "source": [] + "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", + "
pclassagesibspparchfareage_nafare_nasex_malecabin_missingcabin_rareembarked_Qembarked_Sembarked_raretitle_Mrtitle_Mrstitle_rare
00.835808-0.370162-0.478911-0.455423-0.504782001.01.00.00.01.00.01.00.00.0
1-1.5421570.904029-0.478911-0.4554231.971555000.00.01.00.00.00.00.00.00.0
20.835808-0.131251-0.478911-0.455423-0.508533101.01.00.01.00.00.01.00.00.0
30.835808-0.927621-0.478911-0.455423-0.507717000.01.00.00.01.00.00.00.00.0
4-0.353174-0.0516140.434422-0.455423-0.248980001.01.00.00.01.00.01.00.00.0
\n", + "
" + ], + "text/plain": [ + " pclass age sibsp parch fare age_na fare_na \\\n", + "0 0.835808 -0.370162 -0.478911 -0.455423 -0.504782 0 0 \n", + "1 -1.542157 0.904029 -0.478911 -0.455423 1.971555 0 0 \n", + "2 0.835808 -0.131251 -0.478911 -0.455423 -0.508533 1 0 \n", + "3 0.835808 -0.927621 -0.478911 -0.455423 -0.507717 0 0 \n", + "4 -0.353174 -0.051614 0.434422 -0.455423 -0.248980 0 0 \n", + "\n", + " sex_male cabin_missing cabin_rare embarked_Q embarked_S embarked_rare \\\n", + "0 1.0 1.0 0.0 0.0 1.0 0.0 \n", + "1 0.0 0.0 1.0 0.0 0.0 0.0 \n", + "2 1.0 1.0 0.0 1.0 0.0 0.0 \n", + "3 0.0 1.0 0.0 0.0 1.0 0.0 \n", + "4 1.0 1.0 0.0 0.0 1.0 0.0 \n", + "\n", + " title_Mr title_Mrs title_rare \n", + "0 1.0 0.0 0.0 \n", + "1 0.0 0.0 0.0 \n", + "2 1.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 1.0 0.0 0.0 " + ] + }, + "execution_count": 112, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# vars_num excep survived, which is the target variable\n", + "vars_num_X = [col for col in vars_num if col != target]\n", + "\n", + "ss = StandardScaler()\n", + "\n", + "ss.fit(X_train[vars_num_X])\n", + "X_train[vars_num_X] = ss.transform(X_train[vars_num_X])\n", + "\n", + "X_train.head()" + ] }, { "cell_type": "markdown", @@ -708,10 +1757,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 113, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "LogisticRegression(C=0.0005, random_state=0)" + ] + }, + "execution_count": 113, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Train the logistic regression model. Set regularization parameter C to 0.0005. Set seed to 0\n", + "model = LogisticRegression(C=0.0005, random_state=0)\n", + "model.fit(X_train, y_train)\n", + "\n" + ] }, { "cell_type": "markdown", @@ -728,10 +1793,43 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 115, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Accuracy: 0.620821394460363\n", + "AUC: 0.8100270479134467\n", + "Test Accuracy: 0.6259541984732825\n", + "Test AUC: 0.8099691358024692\n" + ] + } + ], + "source": [ + "# Make predictions and evaluate the model\n", + "y_pred = model.predict(X_train)\n", + "y_pred_proba = model.predict_proba(X_train)[:, 1]\n", + "print('Accuracy: {}'.format(accuracy_score(y_train, y_pred)))\n", + "print('AUC: {}'.format(roc_auc_score(y_train, y_pred_proba)))\n", + "\n", + "# Predictions on Test set\n", + "# Remove the rare labels from the train set and replace them by the string 'rare'. Do the same in the test set.\n", + "\n", + "X_test[vars_cat] = X_test[vars_cat].replace(to_replace=rare_labels, value='rare')\n", + "\n", + "X_test_encoded = encoder.transform(X_test[vars_cat])\n", + "X_test_encoded = pd.DataFrame(X_test_encoded, columns=encoder.get_feature_names(vars_cat))\n", + "X_test = pd.concat([X_test.reset_index(drop=True), X_test_encoded], axis=1)\n", + "X_test.drop(labels=vars_cat, axis=1, inplace=True)\n", + "\n", + "X_test[vars_num_X] = ss.transform(X_test[vars_num_X])\n", + "y_test_pred = model.predict(X_test)\n", + "y_test_pred_proba = model.predict_proba(X_test)[:, 1]\n", + "print('Test Accuracy: {}'.format(accuracy_score(y_test, y_test_pred)))\n", + "print('Test AUC: {}'.format(roc_auc_score(y_test, y_test_pred_proba)))" + ] }, { "cell_type": "markdown", @@ -752,9 +1850,9 @@ ], "metadata": { "kernelspec": { - "display_name": "feml", + "display_name": "ml-deploy", "language": "python", - "name": "feml" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -766,7 +1864,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.2" + "version": "3.9.23" }, "toc": { "base_numbering": 1, diff --git a/section-04-research-and-development/titanic-assignment/titanic.csv b/section-04-research-and-development/titanic-assignment/titanic.csv new file mode 100644 index 000000000..f812d6fa9 --- /dev/null +++ b/section-04-research-and-development/titanic-assignment/titanic.csv @@ -0,0 +1,1310 @@ +pclass,survived,sex,age,sibsp,parch,fare,cabin,embarked,title +1,1,female,29.0,0,0,211.3375,B5,S,Miss +1,1,male,0.9167,1,2,151.55,C22,S,Master +1,0,female,2.0,1,2,151.55,C22,S,Miss +1,0,male,30.0,1,2,151.55,C22,S,Mr +1,0,female,25.0,1,2,151.55,C22,S,Mrs +1,1,male,48.0,0,0,26.55,E12,S,Mr +1,1,female,63.0,1,0,77.9583,D7,S,Miss +1,0,male,39.0,0,0,0.0,A36,S,Mr +1,1,female,53.0,2,0,51.4792,C101,S,Mrs +1,0,male,71.0,0,0,49.5042,,C,Mr +1,0,male,47.0,1,0,227.525,C62,C,Other +1,1,female,18.0,1,0,227.525,C62,C,Mrs +1,1,female,24.0,0,0,69.3,B35,C,Other +1,1,female,26.0,0,0,78.85,,S,Miss +1,1,male,80.0,0,0,30.0,A23,S,Mr +1,0,male,,0,0,25.925,,S,Mr +1,0,male,24.0,0,1,247.5208,B58,C,Mr +1,1,female,50.0,0,1,247.5208,B58,C,Mrs +1,1,female,32.0,0,0,76.2917,D15,C,Miss +1,0,male,36.0,0,0,75.2417,C6,C,Mr +1,1,male,37.0,1,1,52.5542,D35,S,Mr +1,1,female,47.0,1,1,52.5542,D35,S,Mrs +1,1,male,26.0,0,0,30.0,C148,C,Mr +1,1,female,42.0,0,0,227.525,,C,Miss +1,1,female,29.0,0,0,221.7792,C97,S,Miss +1,0,male,25.0,0,0,26.0,,C,Mr +1,1,male,25.0,1,0,91.0792,B49,C,Mr +1,1,female,19.0,1,0,91.0792,B49,C,Mrs +1,1,female,35.0,0,0,135.6333,C99,S,Miss +1,1,male,28.0,0,0,26.55,C52,S,Mr +1,0,male,45.0,0,0,35.5,T,S,Mr +1,1,male,40.0,0,0,31.0,A31,C,Mr +1,1,female,30.0,0,0,164.8667,C7,S,Miss +1,1,female,58.0,0,0,26.55,C103,S,Miss +1,0,male,42.0,0,0,26.55,D22,S,Mr +1,1,female,45.0,0,0,262.375,,C,Miss +1,1,female,22.0,0,1,55.0,E33,S,Miss +1,1,male,,0,0,26.55,,S,Mr +1,0,male,41.0,0,0,30.5,A21,S,Mr +1,0,male,48.0,0,0,50.4958,B10,C,Mr +1,0,male,,0,0,39.6,,C,Other +1,1,female,44.0,0,0,27.7208,B4,C,Mrs +1,1,female,59.0,2,0,51.4792,C101,S,Mrs +1,1,female,60.0,0,0,76.2917,D15,C,Mrs +1,1,female,41.0,0,0,134.5,E40,C,Miss +1,0,male,45.0,0,0,26.55,B38,S,Other +1,0,male,,0,0,31.0,,S,Mr +1,1,male,42.0,0,0,26.2875,E24,S,Mr +1,1,female,53.0,0,0,27.4458,,C,Mrs +1,1,male,36.0,0,1,512.3292,B51,C,Mr +1,1,female,58.0,0,1,512.3292,B51,C,Mrs +1,0,male,33.0,0,0,5.0,B51,S,Mr +1,0,male,28.0,0,0,47.1,,S,Mr +1,0,male,17.0,0,0,47.1,,S,Mr +1,1,male,11.0,1,2,120.0,B96,S,Master +1,1,female,14.0,1,2,120.0,B96,S,Miss +1,1,male,36.0,1,2,120.0,B96,S,Mr +1,1,female,36.0,1,2,120.0,B96,S,Mrs +1,0,male,49.0,0,0,26.0,,S,Mr +1,1,female,,0,0,27.7208,,C,Mrs +1,0,male,36.0,1,0,78.85,C46,S,Mr +1,1,female,76.0,1,0,78.85,C46,S,Mrs +1,0,male,46.0,1,0,61.175,E31,S,Mr +1,1,female,47.0,1,0,61.175,E31,S,Mrs +1,1,male,27.0,1,0,53.1,E8,S,Mr +1,1,female,33.0,1,0,53.1,E8,S,Mrs +1,1,female,36.0,0,0,262.375,B61,C,Miss +1,1,female,30.0,0,0,86.5,B77,S,Miss +1,1,male,45.0,0,0,29.7,A9,C,Mr +1,1,female,,0,1,55.0,E33,S,Mrs +1,0,male,,0,0,0.0,,S,Mr +1,0,male,27.0,1,0,136.7792,C89,C,Mr +1,1,female,26.0,1,0,136.7792,C89,C,Mrs +1,1,female,22.0,0,0,151.55,,S,Miss +1,0,male,,0,0,52.0,A14,S,Mr +1,0,male,47.0,0,0,25.5875,E58,S,Mr +1,1,female,39.0,1,1,83.1583,E49,C,Miss +1,0,male,37.0,1,1,83.1583,E52,C,Mr +1,1,female,64.0,0,2,83.1583,E45,C,Mrs +1,1,female,55.0,2,0,25.7,C101,S,Mrs +1,0,male,,0,0,26.55,,S,Mr +1,0,male,70.0,1,1,71.0,B22,S,Other +1,1,female,36.0,0,2,71.0,B22,S,Miss +1,1,female,64.0,1,1,26.55,B26,S,Mrs +1,0,male,39.0,1,0,71.2833,C85,C,Mr +1,1,female,38.0,1,0,71.2833,C85,C,Mrs +1,1,male,51.0,0,0,26.55,E17,S,Mr +1,1,male,27.0,0,0,30.5,,S,Mr +1,1,female,33.0,0,0,151.55,,S,Miss +1,0,male,31.0,1,0,52.0,B71,S,Mr +1,1,female,27.0,1,2,52.0,B71,S,Mrs +1,1,male,31.0,1,0,57.0,B20,S,Mr +1,1,female,17.0,1,0,57.0,B20,S,Mrs +1,1,male,53.0,1,1,81.8583,A34,S,Other +1,1,male,4.0,0,2,81.8583,A34,S,Master +1,1,female,54.0,1,1,81.8583,A34,S,Mrs +1,0,male,50.0,1,0,106.425,C86,C,Mr +1,1,female,27.0,1,1,247.5208,B58,C,Mrs +1,1,female,48.0,1,0,106.425,C86,C,Mrs +1,1,female,48.0,1,0,39.6,A16,C,Mrs +1,1,male,49.0,1,0,56.9292,A20,C,Mr +1,0,male,39.0,0,0,29.7,A18,C,Mr +1,1,female,23.0,0,1,83.1583,C54,C,Mrs +1,1,female,38.0,0,0,227.525,C45,C,Miss +1,1,female,54.0,1,0,78.2667,D20,C,Miss +1,0,female,36.0,0,0,31.6792,A29,C,Miss +1,0,male,,0,0,221.7792,C95,S,Mr +1,1,female,,0,0,31.6833,,S,Mrs +1,1,female,,0,0,110.8833,,C,Miss +1,1,male,36.0,0,0,26.3875,E25,S,Mr +1,0,male,30.0,0,0,27.75,C111,C,Mr +1,1,female,24.0,3,2,263.0,C23,S,Miss +1,1,female,28.0,3,2,263.0,C23,S,Miss +1,1,female,23.0,3,2,263.0,C23,S,Miss +1,0,male,19.0,3,2,263.0,C23,S,Mr +1,0,male,64.0,1,4,263.0,C23,S,Mr +1,1,female,60.0,1,4,263.0,C23,S,Mrs +1,1,female,30.0,0,0,56.9292,E36,C,Miss +1,0,male,,0,0,26.55,D34,S,Mr +1,1,male,50.0,2,0,133.65,,S,Other +1,1,male,43.0,1,0,27.7208,D40,C,Mr +1,1,female,,1,0,133.65,,S,Mrs +1,1,female,22.0,0,2,49.5,B39,C,Miss +1,1,male,60.0,1,1,79.2,B41,C,Mr +1,1,female,48.0,1,1,79.2,B41,C,Mrs +1,0,male,,0,0,0.0,B102,S,Mr +1,0,male,37.0,1,0,53.1,C123,S,Mr +1,1,female,35.0,1,0,53.1,C123,S,Mrs +1,0,male,47.0,0,0,38.5,E63,S,Mr +1,1,female,35.0,0,0,211.5,C130,C,Miss +1,1,female,22.0,0,1,59.4,,C,Miss +1,1,female,45.0,0,1,59.4,,C,Mrs +1,0,male,24.0,0,0,79.2,B86,C,Mr +1,1,male,49.0,1,0,89.1042,C92,C,Mr +1,1,female,,1,0,89.1042,C92,C,Mrs +1,0,male,71.0,0,0,34.6542,A5,C,Mr +1,1,male,53.0,0,0,28.5,C51,C,Other +1,1,female,19.0,0,0,30.0,B42,S,Miss +1,0,male,38.0,0,1,153.4625,C91,S,Mr +1,1,female,58.0,0,1,153.4625,C125,S,Mrs +1,1,male,23.0,0,1,63.3583,D10,C,Mr +1,1,female,45.0,0,1,63.3583,D10,C,Mrs +1,0,male,46.0,0,0,79.2,B82,C,Mr +1,1,male,25.0,1,0,55.4417,E50,C,Mr +1,1,female,25.0,1,0,55.4417,E50,C,Mrs +1,1,male,48.0,1,0,76.7292,D33,C,Mr +1,1,female,49.0,1,0,76.7292,D33,C,Mrs +1,0,male,,0,0,42.4,,S,Mr +1,0,male,45.0,1,0,83.475,C83,S,Mr +1,1,female,35.0,1,0,83.475,C83,S,Mrs +1,0,male,40.0,0,0,0.0,B94,S,Mr +1,1,male,27.0,0,0,76.7292,D49,C,Mr +1,1,male,,0,0,30.0,D45,S,Mr +1,1,female,24.0,0,0,83.1583,C54,C,Miss +1,0,male,55.0,1,1,93.5,B69,S,Mr +1,1,female,52.0,1,1,93.5,B69,S,Mrs +1,0,male,42.0,0,0,42.5,B11,S,Mr +1,0,male,,0,0,51.8625,E46,S,Mr +1,0,male,55.0,0,0,50.0,C39,S,Mr +1,1,female,16.0,0,1,57.9792,B18,C,Miss +1,1,female,44.0,0,1,57.9792,B18,C,Mrs +1,1,female,51.0,1,0,77.9583,D11,S,Mrs +1,0,male,42.0,1,0,52.0,,S,Mr +1,1,female,35.0,1,0,52.0,,S,Mrs +1,1,male,35.0,0,0,26.55,,C,Mr +1,1,male,38.0,1,0,90.0,C93,S,Mr +1,0,male,,0,0,30.6958,,C,Mr +1,1,female,35.0,1,0,90.0,C93,S,Mrs +1,1,female,38.0,0,0,80.0,B28,,Miss +1,0,female,50.0,0,0,28.7125,C49,C,Miss +1,1,male,49.0,0,0,0.0,B52,S,Mr +1,0,male,46.0,0,0,26.0,,S,Mr +1,0,male,50.0,0,0,26.0,E60,S,Mr +1,0,male,32.5,0,0,211.5,C132,C,Mr +1,0,male,58.0,0,0,29.7,B37,C,Mr +1,0,male,41.0,1,0,51.8625,D21,S,Mr +1,1,female,,1,0,51.8625,D21,S,Mrs +1,1,male,42.0,1,0,52.5542,D19,S,Mr +1,1,female,45.0,1,0,52.5542,D19,S,Mrs +1,0,male,,0,0,26.55,C124,S,Mr +1,1,female,39.0,0,0,211.3375,,S,Miss +1,1,female,49.0,0,0,25.9292,D17,S,Other +1,1,female,30.0,0,0,106.425,,C,Miss +1,1,male,35.0,0,0,512.3292,B101,C,Mr +1,0,male,,0,0,27.7208,,C,Mr +1,0,male,42.0,0,0,26.55,,S,Mr +1,1,female,55.0,0,0,27.7208,,C,Mrs +1,1,female,16.0,0,1,39.4,D28,S,Miss +1,1,female,51.0,0,1,39.4,D28,S,Mrs +1,0,male,29.0,0,0,30.0,D6,S,Mr +1,1,female,21.0,0,0,77.9583,D9,S,Miss +1,0,male,30.0,0,0,45.5,,S,Mr +1,1,female,58.0,0,0,146.5208,B80,C,Miss +1,1,female,15.0,0,1,211.3375,B5,S,Miss +1,0,male,30.0,0,0,26.0,C106,S,Mr +1,1,female,16.0,0,0,86.5,B79,S,Miss +1,1,male,,0,0,29.7,C47,C,Mr +1,0,male,19.0,1,0,53.1,D30,S,Mr +1,1,female,18.0,1,0,53.1,D30,S,Mrs +1,1,female,24.0,0,0,49.5042,C90,C,Mrs +1,0,male,46.0,0,0,75.2417,C6,C,Mr +1,0,male,54.0,0,0,51.8625,E46,S,Mr +1,1,male,36.0,0,0,26.2875,E25,S,Mr +1,0,male,28.0,1,0,82.1708,,C,Mr +1,1,female,,1,0,82.1708,,C,Mrs +1,0,male,65.0,0,0,26.55,E38,S,Mr +1,0,male,44.0,2,0,90.0,C78,Q,Other +1,1,female,33.0,1,0,90.0,C78,Q,Miss +1,1,female,37.0,1,0,90.0,C78,Q,Mrs +1,1,male,30.0,1,0,57.75,C78,C,Mr +1,0,male,55.0,0,0,30.5,C30,S,Mr +1,0,male,47.0,0,0,42.4,,S,Mr +1,0,male,37.0,0,1,29.7,C118,C,Mr +1,1,female,31.0,1,0,113.275,D36,C,Miss +1,1,female,23.0,1,0,113.275,D36,C,Miss +1,0,male,58.0,0,2,113.275,D48,C,Mr +1,1,female,19.0,0,2,26.2833,D47,S,Miss +1,0,male,64.0,0,0,26.0,,S,Mr +1,1,female,39.0,0,0,108.9,C105,C,Other +1,1,male,,0,0,25.7417,,C,Mr +1,1,female,22.0,0,1,61.9792,B36,C,Miss +1,0,male,65.0,0,1,61.9792,B30,C,Mr +1,0,male,28.5,0,0,27.7208,D43,C,Mr +1,0,male,,0,0,0.0,,S,Mr +1,0,male,45.5,0,0,28.5,C124,S,Mr +1,0,male,23.0,0,0,93.5,B24,S,Mr +1,0,male,29.0,1,0,66.6,C2,S,Mr +1,1,female,22.0,1,0,66.6,C2,S,Mrs +1,0,male,18.0,1,0,108.9,C65,C,Mr +1,1,female,17.0,1,0,108.9,C65,C,Mrs +1,1,female,30.0,0,0,93.5,B73,S,Miss +1,1,male,52.0,0,0,30.5,C104,S,Other +1,0,male,47.0,0,0,52.0,C110,S,Mr +1,1,female,56.0,0,1,83.1583,C50,C,Mrs +1,0,male,38.0,0,0,0.0,,S,Other +1,1,male,,0,0,39.6,,S,Mr +1,0,male,22.0,0,0,135.6333,,C,Mr +1,0,male,,0,0,227.525,,C,Mr +1,1,female,43.0,0,1,211.3375,B3,S,Mrs +1,0,male,31.0,0,0,50.4958,A24,S,Mr +1,1,male,45.0,0,0,26.55,,S,Mr +1,0,male,,0,0,50.0,A32,S,Mr +1,1,female,33.0,0,0,27.7208,A11,C,Miss +1,0,male,46.0,0,0,79.2,,C,Mr +1,0,male,36.0,0,0,40.125,A10,C,Mr +1,1,female,33.0,0,0,86.5,B77,S,Other +1,0,male,55.0,1,0,59.4,,C,Mr +1,1,female,54.0,1,0,59.4,,C,Mrs +1,0,male,33.0,0,0,26.55,,S,Mr +1,1,male,13.0,2,2,262.375,B57,C,Master +1,1,female,18.0,2,2,262.375,B57,C,Miss +1,1,female,21.0,2,2,262.375,B57,C,Miss +1,0,male,61.0,1,3,262.375,B57,C,Mr +1,1,female,48.0,1,3,262.375,B57,C,Mrs +1,1,male,,0,0,30.5,C106,S,Mr +1,1,female,24.0,0,0,69.3,B35,C,Other +1,1,male,,0,0,26.0,,S,Mr +1,1,female,35.0,1,0,57.75,C28,C,Mrs +1,1,female,30.0,0,0,31.0,,C,Miss +1,1,male,34.0,0,0,26.55,,S,Mr +1,1,female,40.0,0,0,153.4625,C125,S,Miss +1,1,male,35.0,0,0,26.2875,E24,S,Mr +1,0,male,50.0,1,0,55.9,E44,S,Mr +1,1,female,39.0,1,0,55.9,E44,S,Mrs +1,1,male,56.0,0,0,35.5,A26,C,Other +1,1,male,28.0,0,0,35.5,A6,S,Mr +1,0,male,56.0,0,0,26.55,,S,Mr +1,0,male,56.0,0,0,30.6958,A7,C,Mr +1,0,male,24.0,1,0,60.0,C31,S,Mr +1,0,male,,0,0,26.0,A19,S,Mr +1,1,female,18.0,1,0,60.0,C31,S,Mrs +1,1,male,24.0,1,0,82.2667,B45,S,Mr +1,1,female,23.0,1,0,82.2667,B45,S,Mrs +1,1,male,6.0,0,2,134.5,E34,C,Master +1,1,male,45.0,1,1,134.5,E34,C,Mr +1,1,female,40.0,1,1,134.5,E34,C,Mrs +1,0,male,57.0,1,0,146.5208,B78,C,Mr +1,1,female,,1,0,146.5208,B78,C,Mrs +1,1,male,32.0,0,0,30.5,B50,C,Other +1,0,male,62.0,0,0,26.55,C87,S,Mr +1,1,male,54.0,1,0,55.4417,C116,C,Mr +1,1,female,43.0,1,0,55.4417,C116,C,Mrs +1,1,female,52.0,1,0,78.2667,D20,C,Mrs +1,0,male,,0,0,27.7208,,C,Mr +1,1,female,62.0,0,0,80.0,B28,,Mrs +1,0,male,67.0,1,0,221.7792,C55,S,Mr +1,0,female,63.0,1,0,221.7792,C55,S,Mrs +1,0,male,61.0,0,0,32.3208,D50,S,Mr +1,1,female,48.0,0,0,25.9292,D17,S,Mrs +1,1,female,18.0,0,2,79.65,E68,S,Miss +1,0,male,52.0,1,1,79.65,E67,S,Mr +1,1,female,39.0,1,1,79.65,E67,S,Mrs +1,1,male,48.0,1,0,52.0,C126,S,Mr +1,1,female,,1,0,52.0,C126,S,Mrs +1,0,male,49.0,1,1,110.8833,C68,C,Mr +1,1,male,17.0,0,2,110.8833,C70,C,Mr +1,1,female,39.0,1,1,110.8833,C68,C,Mrs +1,1,female,,0,0,79.2,,C,Mrs +1,1,male,31.0,0,0,28.5375,C53,C,Mr +1,0,male,40.0,0,0,27.7208,,C,Other +1,0,male,61.0,0,0,33.5,B19,S,Mr +1,0,male,47.0,0,0,34.0208,D46,S,Mr +1,1,female,35.0,0,0,512.3292,,C,Miss +1,0,male,64.0,1,0,75.25,D37,C,Mr +1,1,female,60.0,1,0,75.25,D37,C,Mrs +1,0,male,60.0,0,0,26.55,,S,Other +1,0,male,54.0,0,1,77.2875,D26,S,Mr +1,0,male,21.0,0,1,77.2875,D26,S,Mr +1,1,female,55.0,0,0,135.6333,C32,C,Mrs +1,1,female,31.0,0,2,164.8667,C7,S,Miss +1,0,male,57.0,1,1,164.8667,,S,Mr +1,1,female,45.0,1,1,164.8667,,S,Mrs +1,0,male,50.0,1,1,211.5,C80,C,Mr +1,0,male,27.0,0,2,211.5,C82,C,Mr +1,1,female,50.0,1,1,211.5,C80,C,Mrs +1,1,female,21.0,0,0,26.55,,S,Miss +1,0,male,51.0,0,1,61.3792,,C,Mr +1,1,male,21.0,0,1,61.3792,,C,Mr +1,0,male,,0,0,35.0,C128,S,Mr +1,1,female,31.0,0,0,134.5,E39,C,Miss +1,1,male,,0,0,35.5,C52,S,Mr +1,0,male,62.0,0,0,26.55,,S,Mr +1,1,female,36.0,0,0,135.6333,C32,C,Miss +2,0,male,30.0,1,0,24.0,,C,Mr +2,1,female,28.0,1,0,24.0,,C,Mrs +2,0,male,30.0,0,0,13.0,,S,Mr +2,0,male,18.0,0,0,11.5,,S,Mr +2,0,male,25.0,0,0,10.5,,S,Mr +2,0,male,34.0,1,0,26.0,,S,Mr +2,1,female,36.0,1,0,26.0,,S,Mrs +2,0,male,57.0,0,0,13.0,,S,Mr +2,0,male,18.0,0,0,11.5,,S,Mr +2,0,male,23.0,0,0,10.5,,S,Mr +2,1,female,36.0,0,0,13.0,D,S,Mrs +2,0,male,28.0,0,0,10.5,,S,Mr +2,0,male,51.0,0,0,12.525,,S,Other +2,1,male,32.0,1,0,26.0,,S,Mr +2,1,female,19.0,1,0,26.0,,S,Mrs +2,0,male,28.0,0,0,26.0,,S,Mr +2,1,male,1.0,2,1,39.0,F4,S,Master +2,1,female,4.0,2,1,39.0,F4,S,Miss +2,1,female,12.0,2,1,39.0,F4,S,Miss +2,1,female,36.0,0,3,39.0,F4,S,Mrs +2,1,male,34.0,0,0,13.0,D56,S,Mr +2,1,female,19.0,0,0,13.0,,S,Miss +2,0,male,23.0,0,0,13.0,,S,Mr +2,0,male,26.0,0,0,13.0,,S,Mr +2,0,male,42.0,0,0,13.0,,S,Mr +2,0,male,27.0,0,0,13.0,,S,Mr +2,1,female,24.0,0,0,13.0,F33,S,Miss +2,1,female,15.0,0,2,39.0,,S,Miss +2,0,male,60.0,1,1,39.0,,S,Mr +2,1,female,40.0,1,1,39.0,,S,Mrs +2,1,female,20.0,1,0,26.0,,S,Miss +2,0,male,25.0,1,0,26.0,,S,Mr +2,1,female,36.0,0,0,13.0,,S,Miss +2,0,male,25.0,0,0,13.0,,S,Mr +2,0,male,42.0,0,0,13.0,,S,Other +2,1,female,42.0,0,0,13.0,,S,Mrs +2,1,male,0.8333,0,2,29.0,,S,Master +2,1,male,26.0,1,1,29.0,,S,Mr +2,1,female,22.0,1,1,29.0,,S,Mrs +2,1,female,35.0,0,0,21.0,,S,Miss +2,0,male,,0,0,0.0,,S,Mr +2,0,male,19.0,0,0,13.0,,S,Mr +2,0,female,44.0,1,0,26.0,,S,Mrs +2,0,male,54.0,1,0,26.0,,S,Other +2,0,male,52.0,0,0,13.5,,S,Mr +2,0,male,37.0,1,0,26.0,,S,Mr +2,0,female,29.0,1,0,26.0,,S,Mrs +2,1,female,25.0,1,1,30.0,,S,Miss +2,1,female,45.0,0,2,30.0,,S,Mrs +2,0,male,29.0,1,0,26.0,,S,Mr +2,1,female,28.0,1,0,26.0,,S,Mrs +2,0,male,29.0,0,0,10.5,,S,Mr +2,0,male,28.0,0,0,13.0,,S,Mr +2,1,male,24.0,0,0,10.5,,S,Mr +2,1,female,8.0,0,2,26.25,,S,Miss +2,0,male,31.0,1,1,26.25,,S,Mr +2,1,female,31.0,1,1,26.25,,S,Mrs +2,1,female,22.0,0,0,10.5,F33,S,Mrs +2,0,female,30.0,0,0,13.0,,S,Mrs +2,0,female,,0,0,21.0,,S,Mrs +2,0,male,21.0,0,0,11.5,,S,Mr +2,0,male,,0,0,0.0,,S,Mr +2,1,male,8.0,1,1,36.75,,S,Master +2,0,male,18.0,0,0,73.5,,S,Mr +2,1,female,48.0,0,2,36.75,,S,Mrs +2,1,female,28.0,0,0,13.0,,S,Miss +2,0,male,32.0,0,0,13.0,,S,Mr +2,0,male,17.0,0,0,73.5,,S,Mr +2,0,male,29.0,1,0,27.7208,,C,Mr +2,1,female,24.0,1,0,27.7208,,C,Mrs +2,0,male,25.0,0,0,31.5,,S,Mr +2,0,male,18.0,0,0,73.5,,S,Mr +2,1,female,18.0,0,1,23.0,,S,Miss +2,1,female,34.0,0,1,23.0,,S,Mrs +2,0,male,54.0,0,0,26.0,,S,Mr +2,1,male,8.0,0,2,32.5,,S,Master +2,0,male,42.0,1,1,32.5,,S,Mr +2,1,female,34.0,1,1,32.5,,S,Mrs +2,1,female,27.0,1,0,13.8583,,C,Miss +2,1,female,30.0,1,0,13.8583,,C,Miss +2,0,male,23.0,0,0,13.0,,S,Mr +2,0,male,21.0,0,0,13.0,,S,Mr +2,0,male,18.0,0,0,13.0,,S,Mr +2,0,male,40.0,1,0,26.0,,S,Mr +2,1,female,29.0,1,0,26.0,,S,Mrs +2,0,male,18.0,0,0,10.5,,S,Mr +2,0,male,36.0,0,0,13.0,,S,Mr +2,0,male,,0,0,0.0,,S,Mr +2,0,female,38.0,0,0,13.0,,S,Miss +2,0,male,35.0,0,0,26.0,,S,Mr +2,0,male,38.0,1,0,21.0,,S,Mr +2,0,male,34.0,1,0,21.0,,S,Mr +2,1,female,34.0,0,0,13.0,,S,Miss +2,0,male,16.0,0,0,26.0,,S,Mr +2,0,male,26.0,0,0,10.5,,S,Mr +2,0,male,47.0,0,0,10.5,,S,Mr +2,0,male,21.0,1,0,11.5,,S,Mr +2,0,male,21.0,1,0,11.5,,S,Mr +2,0,male,24.0,0,0,13.5,,S,Mr +2,0,male,24.0,0,0,13.0,,S,Mr +2,0,male,34.0,0,0,13.0,,S,Mr +2,0,male,30.0,0,0,13.0,,S,Mr +2,0,male,52.0,0,0,13.0,,S,Mr +2,0,male,30.0,0,0,13.0,,S,Mr +2,1,male,0.6667,1,1,14.5,,S,Master +2,1,female,24.0,0,2,14.5,,S,Mrs +2,0,male,44.0,0,0,13.0,,S,Mr +2,1,female,6.0,0,1,33.0,,S,Miss +2,0,male,28.0,0,1,33.0,,S,Other +2,1,male,62.0,0,0,10.5,,S,Mr +2,0,male,30.0,0,0,10.5,,S,Mr +2,1,female,7.0,0,2,26.25,,S,Miss +2,0,male,43.0,1,1,26.25,,S,Mr +2,1,female,45.0,1,1,26.25,,S,Mrs +2,1,female,24.0,1,2,65.0,,S,Miss +2,1,female,24.0,1,2,65.0,,S,Miss +2,0,male,49.0,1,2,65.0,,S,Mr +2,1,female,48.0,1,2,65.0,,S,Mrs +2,1,female,55.0,0,0,16.0,,S,Mrs +2,0,male,24.0,2,0,73.5,,S,Mr +2,0,male,32.0,2,0,73.5,,S,Mr +2,0,male,21.0,2,0,73.5,,S,Mr +2,0,female,18.0,1,1,13.0,,S,Miss +2,1,female,20.0,2,1,23.0,,S,Miss +2,0,male,23.0,2,1,11.5,,S,Mr +2,0,male,36.0,0,0,13.0,,S,Mr +2,1,female,54.0,1,3,23.0,,S,Mrs +2,0,male,50.0,0,0,13.0,,S,Mr +2,0,male,44.0,1,0,26.0,,S,Mr +2,1,female,29.0,1,0,26.0,,S,Mrs +2,0,male,21.0,0,0,73.5,,S,Mr +2,1,male,42.0,0,0,13.0,,S,Mr +2,0,male,63.0,1,0,26.0,,S,Mr +2,0,female,60.0,1,0,26.0,,S,Mrs +2,0,male,33.0,0,0,12.275,,S,Mr +2,1,female,17.0,0,0,10.5,,S,Miss +2,0,male,42.0,1,0,27.0,,S,Mr +2,1,female,24.0,2,1,27.0,,S,Mrs +2,0,male,47.0,0,0,15.0,,S,Mr +2,0,male,24.0,2,0,31.5,,S,Mr +2,0,male,22.0,2,0,31.5,,S,Mr +2,0,male,32.0,0,0,10.5,,S,Mr +2,1,female,23.0,0,0,13.7917,D,C,Mrs +2,0,male,34.0,1,0,26.0,,S,Mr +2,1,female,24.0,1,0,26.0,,S,Mrs +2,0,female,22.0,0,0,21.0,,S,Mrs +2,1,female,,0,0,12.35,E101,Q,Miss +2,0,male,35.0,0,0,12.35,,Q,Mr +2,1,female,45.0,0,0,13.5,,S,Mrs +2,0,male,57.0,0,0,12.35,,Q,Other +2,0,male,,0,0,0.0,,S,Mr +2,0,male,31.0,0,0,10.5,,S,Mr +2,0,female,26.0,1,1,26.0,,S,Mrs +2,0,male,30.0,1,1,26.0,,S,Other +2,0,male,,0,0,10.7083,,Q,Mr +2,1,female,1.0,1,2,41.5792,,C,Miss +2,1,female,3.0,1,2,41.5792,,C,Miss +2,0,male,25.0,1,2,41.5792,,C,Mr +2,1,female,22.0,1,2,41.5792,,C,Mrs +2,1,female,17.0,0,0,12.0,,C,Miss +2,1,female,,0,0,33.0,,S,Miss +2,1,female,34.0,0,0,10.5,F33,S,Mrs +2,0,male,36.0,0,0,12.875,D,C,Mr +2,0,male,24.0,0,0,10.5,,S,Mr +2,0,male,61.0,0,0,12.35,,Q,Mr +2,0,male,50.0,1,0,26.0,,S,Mr +2,1,female,42.0,1,0,26.0,,S,Mrs +2,0,female,57.0,0,0,10.5,E77,S,Mrs +2,0,male,,0,0,15.0458,D,C,Mr +2,1,male,1.0,0,2,37.0042,,C,Master +2,0,male,31.0,1,1,37.0042,,C,Mr +2,1,female,24.0,1,1,37.0042,,C,Mrs +2,0,male,,0,0,15.5792,,C,Mr +2,0,male,30.0,0,0,13.0,,S,Mr +2,0,male,40.0,0,0,16.0,,S,Mr +2,0,male,32.0,0,0,13.5,,S,Mr +2,0,male,30.0,0,0,13.0,,S,Mr +2,0,male,46.0,0,0,26.0,,S,Mr +2,1,female,13.0,0,1,19.5,,S,Miss +2,1,female,41.0,0,1,19.5,,S,Mrs +2,1,male,19.0,0,0,10.5,,S,Mr +2,0,male,39.0,0,0,13.0,,S,Mr +2,0,male,48.0,0,0,13.0,,S,Mr +2,0,male,70.0,0,0,10.5,,S,Mr +2,0,male,27.0,0,0,13.0,,S,Other +2,0,male,54.0,0,0,14.0,,S,Other +2,0,male,39.0,0,0,26.0,,S,Mr +2,0,male,16.0,0,0,10.5,,S,Mr +2,0,male,62.0,0,0,9.6875,,Q,Mr +2,0,male,32.5,1,0,30.0708,,C,Mr +2,1,female,14.0,1,0,30.0708,,C,Mrs +2,1,male,2.0,1,1,26.0,F2,S,Master +2,1,male,3.0,1,1,26.0,F2,S,Master +2,0,male,36.5,0,2,26.0,F2,S,Mr +2,0,male,26.0,0,0,13.0,F2,S,Mr +2,0,male,19.0,1,1,36.75,,S,Mr +2,0,male,28.0,0,0,13.5,,S,Mr +2,1,male,20.0,0,0,13.8625,D38,C,Mr +2,1,female,29.0,0,0,10.5,F33,S,Mrs +2,0,male,39.0,0,0,13.0,,S,Mr +2,1,male,22.0,0,0,10.5,,S,Mr +2,1,male,,0,0,13.8625,,C,Mr +2,0,male,23.0,0,0,10.5,,S,Other +2,1,male,29.0,0,0,13.8583,,C,Mr +2,0,male,28.0,0,0,10.5,,S,Mr +2,0,male,,0,0,0.0,,S,Mr +2,1,female,50.0,0,1,26.0,,S,Mrs +2,0,male,19.0,0,0,10.5,,S,Mr +2,0,male,,0,0,15.05,,C,Mr +2,0,male,41.0,0,0,13.0,,S,Other +2,1,female,21.0,0,1,21.0,,S,Miss +2,1,female,19.0,0,0,26.0,,S,Mrs +2,0,male,43.0,0,1,21.0,,S,Mr +2,1,female,32.0,0,0,13.0,,S,Mrs +2,0,male,34.0,0,0,13.0,,S,Mr +2,1,male,30.0,0,0,12.7375,,C,Mr +2,0,male,27.0,0,0,15.0333,,C,Mr +2,1,female,2.0,1,1,26.0,,S,Miss +2,1,female,8.0,1,1,26.0,,S,Miss +2,1,female,33.0,0,2,26.0,,S,Mrs +2,0,male,36.0,0,0,10.5,,S,Mr +2,0,male,34.0,1,0,21.0,,S,Mr +2,1,female,30.0,3,0,21.0,,S,Mrs +2,1,female,28.0,0,0,13.0,,S,Other +2,0,male,23.0,0,0,15.0458,,C,Mr +2,1,male,0.8333,1,1,18.75,,S,Master +2,1,male,3.0,1,1,18.75,,S,Master +2,1,female,24.0,2,3,18.75,,S,Mrs +2,1,female,50.0,0,0,10.5,,S,Miss +2,0,male,19.0,0,0,10.5,,S,Mr +2,1,female,21.0,0,0,10.5,,S,Miss +2,0,male,26.0,0,0,13.0,,S,Mr +2,0,male,25.0,0,0,13.0,,S,Mr +2,0,male,27.0,0,0,26.0,,S,Mr +2,1,female,25.0,0,1,26.0,,S,Mrs +2,1,female,18.0,0,2,13.0,,S,Miss +2,1,female,20.0,0,0,36.75,,S,Miss +2,1,female,30.0,0,0,13.0,,S,Miss +2,0,male,59.0,0,0,13.5,,S,Mr +2,1,female,30.0,0,0,12.35,,Q,Miss +2,0,male,35.0,0,0,10.5,,S,Mr +2,1,female,40.0,0,0,13.0,,S,Miss +2,0,male,25.0,0,0,13.0,,S,Mr +2,0,male,41.0,0,0,15.0458,,C,Mr +2,0,male,25.0,0,0,10.5,,S,Mr +2,0,male,18.5,0,0,13.0,F,S,Mr +2,0,male,14.0,0,0,65.0,,S,Mr +2,1,female,50.0,0,0,10.5,,S,Miss +2,0,male,23.0,0,0,13.0,,S,Mr +2,1,female,28.0,0,0,12.65,,S,Mrs +2,1,female,27.0,0,0,10.5,E101,S,Miss +2,0,male,29.0,1,0,21.0,,S,Mr +2,0,female,27.0,1,0,21.0,,S,Mrs +2,0,male,40.0,0,0,13.0,,S,Mr +2,1,female,31.0,0,0,21.0,,S,Miss +2,0,male,30.0,1,0,21.0,,S,Mr +2,0,male,23.0,1,0,10.5,,S,Mr +2,1,female,31.0,0,0,21.0,,S,Mrs +2,0,male,,0,0,0.0,,S,Mr +2,1,female,12.0,0,0,15.75,,S,Miss +2,1,female,40.0,0,0,15.75,,S,Mrs +2,1,female,32.5,0,0,13.0,E101,S,Miss +2,0,male,27.0,1,0,26.0,,S,Mr +2,1,female,29.0,1,0,26.0,,S,Mrs +2,1,male,2.0,1,1,23.0,,S,Master +2,1,female,4.0,1,1,23.0,,S,Miss +2,1,female,29.0,0,2,23.0,,S,Mrs +2,1,female,0.9167,1,2,27.75,,S,Miss +2,1,female,5.0,1,2,27.75,,S,Miss +2,0,male,36.0,1,2,27.75,,S,Mr +2,1,female,33.0,1,2,27.75,,S,Mrs +2,0,male,66.0,0,0,10.5,,S,Mr +2,0,male,,0,0,12.875,,S,Mr +2,1,male,31.0,0,0,13.0,,S,Mr +2,1,male,,0,0,13.0,,S,Mr +2,1,female,26.0,0,0,13.5,,S,Miss +2,0,female,24.0,0,0,13.0,,S,Mrs +3,0,male,42.0,0,0,7.55,,S,Mr +3,0,male,13.0,0,2,20.25,,S,Master +3,0,male,16.0,1,1,20.25,,S,Mr +3,1,female,35.0,1,1,20.25,,S,Mrs +3,1,female,16.0,0,0,7.65,,S,Miss +3,1,male,25.0,0,0,7.65,F,S,Mr +3,1,male,20.0,0,0,7.925,,S,Mr +3,1,female,18.0,0,0,7.2292,,C,Mrs +3,0,male,30.0,0,0,7.25,,S,Mr +3,0,male,26.0,0,0,8.05,,S,Mr +3,0,female,40.0,1,0,9.475,,S,Mrs +3,1,male,0.8333,0,1,9.35,,S,Master +3,1,female,18.0,0,1,9.35,,S,Mrs +3,1,male,26.0,0,0,18.7875,,C,Mr +3,0,male,26.0,0,0,7.8875,,S,Mr +3,0,male,20.0,0,0,7.925,,S,Mr +3,0,male,24.0,0,0,7.05,,S,Mr +3,0,male,25.0,0,0,7.05,,S,Mr +3,0,male,35.0,0,0,8.05,,S,Mr +3,0,male,18.0,0,0,8.3,,S,Mr +3,0,male,32.0,0,0,22.525,,S,Mr +3,1,female,19.0,1,0,7.8542,,S,Miss +3,0,male,4.0,4,2,31.275,,S,Master +3,0,female,6.0,4,2,31.275,,S,Miss +3,0,female,2.0,4,2,31.275,,S,Miss +3,1,female,17.0,4,2,7.925,,S,Miss +3,0,female,38.0,4,2,7.775,,S,Miss +3,0,female,9.0,4,2,31.275,,S,Miss +3,0,female,11.0,4,2,31.275,,S,Miss +3,0,male,39.0,1,5,31.275,,S,Mr +3,1,male,27.0,0,0,7.7958,,S,Mr +3,0,male,26.0,0,0,7.775,,S,Mr +3,0,female,39.0,1,5,31.275,,S,Mrs +3,0,male,20.0,0,0,7.8542,,S,Mr +3,0,male,26.0,0,0,7.8958,,S,Mr +3,0,male,25.0,1,0,17.8,,S,Mr +3,0,female,18.0,1,0,17.8,,S,Mrs +3,0,male,24.0,0,0,7.775,,S,Mr +3,0,male,35.0,0,0,7.05,,S,Mr +3,0,male,5.0,4,2,31.3875,,S,Master +3,0,male,9.0,4,2,31.3875,,S,Master +3,1,male,3.0,4,2,31.3875,,S,Master +3,0,male,13.0,4,2,31.3875,,S,Master +3,1,female,5.0,4,2,31.3875,,S,Miss +3,0,male,40.0,1,5,31.3875,,S,Mr +3,1,male,23.0,0,0,7.7958,,S,Mr +3,1,female,38.0,1,5,31.3875,,S,Mrs +3,1,female,45.0,0,0,7.225,,C,Mrs +3,0,male,21.0,0,0,7.225,,C,Mr +3,0,male,23.0,0,0,7.05,,S,Mr +3,0,female,17.0,0,0,14.4583,,C,Miss +3,0,male,30.0,0,0,7.225,,C,Mr +3,0,male,23.0,0,0,7.8542,,S,Mr +3,1,female,13.0,0,0,7.2292,,C,Miss +3,0,male,20.0,0,0,7.225,,C,Mr +3,0,male,32.0,1,0,15.85,,S,Mr +3,1,female,33.0,3,0,15.85,,S,Mrs +3,1,female,0.75,2,1,19.2583,,C,Miss +3,1,female,0.75,2,1,19.2583,,C,Miss +3,1,female,5.0,2,1,19.2583,,C,Miss +3,1,female,24.0,0,3,19.2583,,C,Mrs +3,1,female,18.0,0,0,8.05,,S,Miss +3,0,male,40.0,0,0,7.225,,C,Mr +3,0,male,26.0,0,0,7.8958,,S,Mr +3,1,male,20.0,0,0,7.2292,,C,Mr +3,0,female,18.0,0,1,14.4542,,C,Miss +3,0,female,45.0,0,1,14.4542,,C,Mrs +3,0,female,27.0,0,0,7.8792,,Q,Miss +3,0,male,22.0,0,0,8.05,,S,Mr +3,0,male,19.0,0,0,8.05,,S,Mr +3,0,male,26.0,0,0,7.775,,S,Mr +3,0,male,22.0,0,0,9.35,,S,Mr +3,0,male,,0,0,7.2292,,C,Master +3,0,male,20.0,0,0,4.0125,,C,Mr +3,1,male,32.0,0,0,56.4958,,S,Mr +3,0,male,21.0,0,0,7.775,,S,Mr +3,0,male,18.0,0,0,7.75,,S,Mr +3,0,male,26.0,0,0,7.8958,,S,Mr +3,0,male,6.0,1,1,15.2458,,C,Master +3,0,female,9.0,1,1,15.2458,,C,Miss +3,0,male,,0,0,7.225,,C,Mr +3,0,female,,0,2,15.2458,,C,Mrs +3,0,female,,0,2,7.75,,Q,Miss +3,0,male,40.0,1,1,15.5,,Q,Mr +3,0,female,32.0,1,1,15.5,,Q,Mrs +3,0,male,21.0,0,0,16.1,,S,Mr +3,1,female,22.0,0,0,7.725,,Q,Miss +3,0,female,20.0,0,0,7.8542,,S,Miss +3,0,male,29.0,1,0,7.0458,,S,Mr +3,0,male,22.0,1,0,7.25,,S,Mr +3,0,male,22.0,0,0,7.7958,,S,Mr +3,0,male,35.0,0,0,8.05,,S,Mr +3,0,female,18.5,0,0,7.2833,,Q,Miss +3,1,male,21.0,0,0,7.8208,,Q,Mr +3,0,male,19.0,0,0,6.75,,Q,Mr +3,0,female,18.0,0,0,7.8792,,Q,Miss +3,0,female,21.0,0,0,8.6625,,S,Miss +3,0,female,30.0,0,0,8.6625,,S,Miss +3,0,male,18.0,0,0,8.6625,,S,Mr +3,0,male,38.0,0,0,8.6625,,S,Mr +3,0,male,17.0,0,0,8.6625,,S,Mr +3,0,male,17.0,0,0,8.6625,,S,Mr +3,0,female,21.0,0,0,7.75,,Q,Miss +3,0,male,21.0,0,0,7.75,,Q,Mr +3,0,male,21.0,0,0,8.05,,S,Mr +3,0,male,,1,0,14.4583,,C,Mr +3,0,female,,1,0,14.4583,,C,Mrs +3,0,male,28.0,0,0,7.7958,,S,Mr +3,0,male,24.0,0,0,7.8542,,S,Mr +3,1,female,16.0,0,0,7.75,,Q,Miss +3,0,female,37.0,0,0,7.75,,Q,Miss +3,0,male,28.0,0,0,7.25,,S,Mr +3,0,male,24.0,0,0,8.05,,S,Mr +3,0,male,21.0,0,0,7.7333,,Q,Mr +3,1,male,32.0,0,0,56.4958,,S,Mr +3,0,male,29.0,0,0,8.05,,S,Mr +3,0,male,26.0,1,0,14.4542,,C,Mr +3,0,male,18.0,1,0,14.4542,,C,Mr +3,0,male,20.0,0,0,7.05,,S,Mr +3,1,male,18.0,0,0,8.05,,S,Mr +3,0,male,24.0,0,0,7.25,,Q,Mr +3,0,male,36.0,0,0,7.4958,,S,Mr +3,0,male,24.0,0,0,7.4958,,S,Mr +3,0,male,31.0,0,0,7.7333,,Q,Mr +3,0,male,31.0,0,0,7.75,,Q,Mr +3,1,female,22.0,0,0,7.75,,Q,Miss +3,0,female,30.0,0,0,7.6292,,Q,Miss +3,0,male,70.5,0,0,7.75,,Q,Mr +3,0,male,43.0,0,0,8.05,,S,Mr +3,0,male,35.0,0,0,7.8958,,S,Mr +3,0,male,27.0,0,0,7.8958,,S,Mr +3,0,male,19.0,0,0,7.8958,,S,Mr +3,0,male,30.0,0,0,8.05,,S,Mr +3,1,male,9.0,1,1,15.9,,S,Master +3,1,male,3.0,1,1,15.9,,S,Master +3,1,female,36.0,0,2,15.9,,S,Mrs +3,0,male,59.0,0,0,7.25,,S,Mr +3,0,male,19.0,0,0,8.1583,,S,Mr +3,1,female,17.0,0,1,16.1,,S,Miss +3,0,male,44.0,0,1,16.1,,S,Mr +3,0,male,17.0,0,0,8.6625,,S,Mr +3,0,male,22.5,0,0,7.225,,C,Mr +3,1,male,45.0,0,0,8.05,,S,Mr +3,0,female,22.0,0,0,10.5167,,S,Miss +3,0,male,19.0,0,0,10.1708,,S,Mr +3,1,female,30.0,0,0,6.95,,Q,Miss +3,1,male,29.0,0,0,7.75,,Q,Mr +3,0,male,0.3333,0,2,14.4,,S,Master +3,0,male,34.0,1,1,14.4,,S,Mr +3,0,female,28.0,1,1,14.4,,S,Mrs +3,0,male,27.0,0,0,7.8958,,S,Mr +3,0,male,25.0,0,0,7.8958,,S,Mr +3,0,male,24.0,2,0,24.15,,S,Mr +3,0,male,22.0,0,0,8.05,,S,Mr +3,0,male,21.0,2,0,24.15,,S,Mr +3,0,male,17.0,2,0,8.05,,S,Mr +3,0,male,,1,0,16.1,,S,Mr +3,1,female,,1,0,16.1,,S,Mrs +3,1,male,36.5,1,0,17.4,,S,Mr +3,1,female,36.0,1,0,17.4,,S,Mrs +3,1,male,30.0,0,0,9.5,,S,Mr +3,0,male,16.0,0,0,9.5,,S,Mr +3,1,male,1.0,1,2,20.575,,S,Master +3,1,female,0.1667,1,2,20.575,,S,Miss +3,0,male,26.0,1,2,20.575,,S,Mr +3,1,female,33.0,1,2,20.575,,S,Mrs +3,0,male,25.0,0,0,7.8958,,S,Mr +3,0,male,,0,0,7.8958,,S,Mr +3,0,male,,0,0,7.8958,,S,Mr +3,0,male,22.0,0,0,7.25,,S,Mr +3,0,male,36.0,0,0,7.25,,S,Mr +3,1,female,19.0,0,0,7.8792,,Q,Miss +3,0,male,17.0,0,0,7.8958,,S,Mr +3,0,male,42.0,0,0,8.6625,,S,Mr +3,0,male,43.0,0,0,7.8958,,S,Mr +3,0,male,,0,0,7.2292,,C,Mr +3,0,male,32.0,0,0,7.75,,Q,Mr +3,1,male,19.0,0,0,8.05,,S,Mr +3,1,female,30.0,0,0,12.475,,S,Miss +3,0,female,24.0,0,0,7.75,,Q,Miss +3,1,female,23.0,0,0,8.05,,S,Miss +3,0,male,33.0,0,0,7.8958,,C,Mr +3,0,male,65.0,0,0,7.75,,Q,Mr +3,1,male,24.0,0,0,7.55,,S,Mr +3,0,male,23.0,1,0,13.9,,S,Mr +3,1,female,22.0,1,0,13.9,,S,Mrs +3,0,male,18.0,0,0,7.775,,S,Mr +3,0,male,16.0,0,0,7.775,,S,Mr +3,0,male,45.0,0,0,6.975,,S,Mr +3,0,male,,0,0,7.225,,C,Mr +3,0,male,39.0,0,2,7.2292,,C,Mr +3,0,male,17.0,1,1,7.2292,,C,Mr +3,0,male,15.0,1,1,7.2292,,C,Mr +3,0,male,47.0,0,0,7.25,,S,Mr +3,1,female,5.0,0,0,12.475,,S,Miss +3,0,male,,0,0,7.225,,C,Mr +3,0,male,40.5,0,0,15.1,,S,Mr +3,0,male,40.5,0,0,7.75,,Q,Mr +3,1,male,,0,0,7.05,,S,Mr +3,0,male,18.0,0,0,7.7958,,S,Mr +3,0,female,,0,0,7.75,,Q,Miss +3,0,male,,0,0,7.75,,Q,Mr +3,0,male,,0,0,6.95,,Q,Mr +3,0,male,26.0,0,0,7.8792,,Q,Mr +3,0,male,,0,0,7.75,,Q,Mr +3,1,male,,0,0,56.4958,,S,Mr +3,0,female,21.0,2,2,34.375,,S,Miss +3,0,female,9.0,2,2,34.375,,S,Miss +3,0,male,,0,0,8.05,,S,Mr +3,0,male,18.0,2,2,34.375,,S,Mr +3,0,male,16.0,1,3,34.375,,S,Mr +3,0,female,48.0,1,3,34.375,,S,Mrs +3,0,male,,0,0,7.75,,Q,Mr +3,0,male,,0,0,7.25,,S,Mr +3,0,male,25.0,0,0,7.7417,,Q,Mr +3,0,male,,0,0,14.5,,S,Mr +3,0,male,,0,0,7.8958,,C,Mr +3,0,male,22.0,0,0,8.05,,S,Mr +3,1,female,16.0,0,0,7.7333,,Q,Miss +3,1,female,,0,0,7.75,,Q,Miss +3,1,male,9.0,0,2,20.525,,S,Master +3,0,male,33.0,1,1,20.525,,S,Mr +3,0,male,41.0,0,0,7.85,,S,Mr +3,1,female,31.0,1,1,20.525,,S,Mrs +3,0,male,38.0,0,0,7.05,,S,Mr +3,0,male,9.0,5,2,46.9,,S,Master +3,0,male,1.0,5,2,46.9,,S,Master +3,0,male,11.0,5,2,46.9,,S,Master +3,0,female,10.0,5,2,46.9,,S,Miss +3,0,female,16.0,5,2,46.9,,S,Miss +3,0,male,14.0,5,2,46.9,,S,Mr +3,0,male,40.0,1,6,46.9,,S,Mr +3,0,female,43.0,1,6,46.9,,S,Mrs +3,0,male,51.0,0,0,8.05,,S,Mr +3,0,male,32.0,0,0,8.3625,,S,Mr +3,0,male,,0,0,8.05,,S,Mr +3,0,male,20.0,0,0,9.8458,,S,Mr +3,0,male,37.0,2,0,7.925,,S,Mr +3,0,male,28.0,2,0,7.925,,S,Mr +3,0,male,19.0,0,0,7.775,,S,Mr +3,0,female,24.0,0,0,8.85,,S,Miss +3,0,female,17.0,0,0,7.7333,,Q,Miss +3,0,male,,1,0,19.9667,,S,Mr +3,0,male,,1,0,19.9667,,S,Mr +3,0,male,28.0,1,0,15.85,,S,Mr +3,1,female,24.0,1,0,15.85,,S,Mrs +3,0,male,20.0,0,0,9.5,,S,Mr +3,0,male,23.5,0,0,7.2292,,C,Mr +3,0,male,41.0,2,0,14.1083,,S,Mr +3,0,male,26.0,1,0,7.8542,,S,Mr +3,0,male,21.0,0,0,7.8542,,S,Mr +3,1,female,45.0,1,0,14.1083,,S,Mrs +3,0,female,,0,0,7.55,,S,Miss +3,0,male,25.0,0,0,7.25,,S,Mr +3,0,male,,0,0,6.8583,,Q,Mr +3,0,male,11.0,0,0,18.7875,,C,Mr +3,1,female,,0,0,7.75,,Q,Miss +3,1,male,27.0,0,0,6.975,,S,Mr +3,1,male,,0,0,56.4958,,S,Mr +3,0,female,18.0,0,0,6.75,,Q,Miss +3,1,female,26.0,0,0,7.925,,S,Miss +3,0,female,23.0,0,0,7.925,,S,Miss +3,1,female,22.0,0,0,8.9625,,S,Miss +3,0,male,28.0,0,0,7.8958,,S,Mr +3,0,female,28.0,0,0,7.775,,S,Miss +3,0,female,,0,0,7.75,,Q,Miss +3,1,female,2.0,0,1,12.2875,,S,Miss +3,1,female,22.0,1,1,12.2875,,S,Mrs +3,0,male,43.0,0,0,6.45,,S,Mr +3,0,male,28.0,0,0,22.525,,S,Mr +3,1,female,27.0,0,0,7.925,,S,Miss +3,0,male,,0,0,7.75,,Q,Mr +3,1,female,,0,0,8.05,,S,Miss +3,0,male,42.0,0,0,7.65,F,S,Mr +3,1,male,,0,0,7.8875,,S,Mr +3,0,male,30.0,0,0,7.2292,,C,Mr +3,0,male,,0,0,7.8958,,S,Mr +3,0,female,27.0,1,0,7.925,,S,Miss +3,0,female,25.0,1,0,7.925,,S,Miss +3,0,male,,0,0,7.8958,,S,Mr +3,1,male,29.0,0,0,7.8958,,C,Mr +3,1,male,21.0,0,0,7.7958,,S,Mr +3,0,male,,0,0,7.05,,S,Mr +3,0,male,20.0,0,0,7.8542,,S,Mr +3,0,male,48.0,0,0,7.8542,,S,Mr +3,0,male,17.0,1,0,7.0542,,S,Mr +3,1,female,,0,0,7.75,,Q,Miss +3,1,male,,0,0,8.1125,,S,Mr +3,0,male,34.0,0,0,6.4958,,S,Mr +3,1,male,26.0,0,0,7.775,,S,Mr +3,0,male,22.0,0,0,7.7958,,S,Mr +3,0,male,33.0,0,0,8.6542,,S,Mr +3,0,male,31.0,0,0,7.775,,S,Mr +3,0,male,29.0,0,0,7.8542,,S,Mr +3,1,male,4.0,1,1,11.1333,,S,Master +3,1,female,1.0,1,1,11.1333,,S,Miss +3,0,male,49.0,0,0,0.0,,S,Mr +3,0,male,33.0,0,0,7.775,,S,Mr +3,0,male,19.0,0,0,0.0,,S,Mr +3,1,female,27.0,0,2,11.1333,,S,Mrs +3,0,male,,1,2,23.45,,S,Master +3,0,female,,1,2,23.45,,S,Miss +3,0,male,,1,2,23.45,,S,Mr +3,0,female,,1,2,23.45,,S,Mrs +3,0,male,23.0,0,0,7.8958,,S,Mr +3,1,male,32.0,0,0,7.8542,,S,Mr +3,0,male,27.0,0,0,7.8542,,S,Mr +3,0,female,20.0,1,0,9.825,,S,Miss +3,0,female,21.0,1,0,9.825,,S,Miss +3,1,male,32.0,0,0,7.925,,S,Mr +3,0,male,17.0,0,0,7.125,,S,Mr +3,0,male,21.0,0,0,8.4333,,S,Mr +3,0,male,30.0,0,0,7.8958,,S,Mr +3,1,male,21.0,0,0,7.7958,,S,Mr +3,0,male,33.0,0,0,7.8542,,S,Mr +3,0,male,22.0,0,0,7.5208,,S,Mr +3,1,female,4.0,0,1,13.4167,,C,Miss +3,1,male,39.0,0,1,13.4167,,C,Mr +3,0,male,,0,0,7.2292,,C,Mr +3,0,male,18.5,0,0,7.2292,,C,Mr +3,0,male,,0,0,7.75,,Q,Mr +3,0,male,,0,0,7.25,,S,Mr +3,1,female,,0,0,7.75,,Q,Miss +3,1,female,,0,0,7.75,,Q,Miss +3,0,male,34.5,0,0,7.8292,,Q,Mr +3,0,male,44.0,0,0,8.05,,S,Mr +3,1,male,,0,0,7.75,,Q,Mr +3,0,male,,1,0,14.4542,,C,Mr +3,0,female,,1,0,14.4542,,C,Mrs +3,0,male,,1,0,7.75,,Q,Mr +3,0,male,,1,0,7.75,,Q,Mr +3,0,male,,0,0,7.7375,,Q,Mr +3,0,female,22.0,2,0,8.6625,,S,Miss +3,0,male,26.0,2,0,8.6625,,S,Mr +3,1,female,4.0,0,2,22.025,,S,Miss +3,1,male,29.0,3,1,22.025,,S,Mr +3,1,female,26.0,1,1,22.025,,S,Mrs +3,0,female,1.0,1,1,12.1833,,S,Miss +3,0,male,18.0,1,1,7.8542,,S,Mr +3,0,female,36.0,0,2,12.1833,,S,Mrs +3,0,male,,0,0,7.8958,,C,Mr +3,1,male,25.0,0,0,7.2292,F,C,Mr +3,0,male,,0,0,7.225,,C,Mr +3,0,female,37.0,0,0,9.5875,,S,Miss +3,0,male,,0,0,7.8958,,S,Mr +3,1,male,,0,0,56.4958,,S,Mr +3,0,male,,0,0,56.4958,,S,Mr +3,1,female,22.0,0,0,7.25,,S,Miss +3,0,male,,0,0,7.75,,Q,Mr +3,1,male,26.0,0,0,56.4958,,S,Mr +3,0,male,29.0,0,0,9.4833,,S,Mr +3,0,male,29.0,0,0,7.775,,S,Mr +3,0,male,22.0,0,0,7.775,,S,Mr +3,1,male,22.0,0,0,7.225,,C,Mr +3,0,male,,3,1,25.4667,,S,Master +3,0,female,,3,1,25.4667,,S,Miss +3,0,female,,3,1,25.4667,,S,Miss +3,0,female,,3,1,25.4667,,S,Miss +3,0,female,,0,4,25.4667,,S,Mrs +3,0,male,32.0,0,0,7.925,,S,Mr +3,0,male,34.5,0,0,6.4375,,C,Mr +3,0,female,,1,0,15.5,,Q,Miss +3,0,male,,1,0,15.5,,Q,Mr +3,0,male,36.0,0,0,0.0,,S,Mr +3,0,male,39.0,0,0,24.15,,S,Mr +3,0,male,24.0,0,0,9.5,,S,Mr +3,0,female,25.0,0,0,7.775,,S,Miss +3,0,female,45.0,0,0,7.75,,S,Miss +3,0,male,36.0,1,0,15.55,,S,Mr +3,0,female,30.0,1,0,15.55,,S,Mrs +3,1,male,20.0,1,0,7.925,,S,Mr +3,0,male,,0,0,7.8792,,Q,Mr +3,0,male,28.0,0,0,56.4958,,S,Mr +3,0,male,,0,0,7.55,,S,Mr +3,0,male,30.0,1,0,16.1,,S,Mr +3,0,female,26.0,1,0,16.1,,S,Mrs +3,0,male,,0,0,7.8792,,S,Mr +3,0,male,20.5,0,0,7.25,,S,Mr +3,1,male,27.0,0,0,8.6625,,S,Mr +3,0,male,51.0,0,0,7.0542,,S,Mr +3,1,female,23.0,0,0,7.8542,,S,Miss +3,1,male,32.0,0,0,7.5792,,S,Mr +3,0,male,,0,0,7.8958,,S,Mr +3,0,male,,0,0,7.55,,S,Mr +3,1,female,,0,0,7.75,,Q,Miss +3,1,male,24.0,0,0,7.1417,,S,Mr +3,0,male,22.0,0,0,7.125,,S,Mr +3,0,female,,0,0,7.8792,,Q,Miss +3,0,male,,0,0,7.75,,Q,Mr +3,0,male,,0,0,8.05,,S,Mr +3,0,male,29.0,0,0,7.925,,S,Mr +3,1,male,,0,0,7.2292,,C,Mr +3,0,female,30.5,0,0,7.75,,Q,Miss +3,1,female,,0,0,7.7375,,Q,Miss +3,0,male,,0,0,7.2292,F,C,Mr +3,0,male,35.0,0,0,7.8958,,C,Mr +3,0,male,33.0,0,0,7.8958,,S,Mr +3,1,female,,0,0,7.225,,C,Mrs +3,0,male,,0,0,7.8958,,C,Mr +3,1,female,,0,0,7.75,,Q,Miss +3,1,male,,0,0,7.75,,Q,Mr +3,1,female,,2,0,23.25,,Q,Miss +3,1,female,,2,0,23.25,,Q,Miss +3,1,male,,2,0,23.25,,Q,Mr +3,1,female,,0,0,7.7875,,Q,Miss +3,0,male,,0,0,15.5,,Q,Mr +3,1,female,,0,0,7.8792,,Q,Miss +3,1,female,15.0,0,0,8.0292,,Q,Miss +3,0,female,35.0,0,0,7.75,,Q,Miss +3,0,male,,0,0,7.75,,Q,Mr +3,0,male,24.0,1,0,16.1,,S,Mr +3,0,female,19.0,1,0,16.1,,S,Mrs +3,0,female,,0,0,7.75,,Q,Miss +3,0,female,,0,0,8.05,,S,Miss +3,0,female,,0,0,8.05,,S,Mrs +3,0,male,55.5,0,0,8.05,,S,Mr +3,0,male,,0,0,7.75,,Q,Mr +3,1,male,21.0,0,0,7.775,,S,Mr +3,0,male,,0,0,8.05,,S,Mr +3,0,male,24.0,0,0,7.8958,,S,Mr +3,0,male,21.0,0,0,7.8958,,S,Mr +3,0,male,28.0,0,0,7.8958,,S,Mr +3,0,male,,0,0,7.8958,,S,Mr +3,1,female,,0,0,7.8792,,Q,Miss +3,0,male,25.0,0,0,7.65,F,S,Mr +3,1,male,6.0,0,1,12.475,E121,S,Master +3,1,female,27.0,0,1,12.475,E121,S,Mrs +3,0,male,,0,0,8.05,,S,Mr +3,1,female,,1,0,24.15,,Q,Miss +3,0,male,,1,0,24.15,,Q,Mr +3,0,male,,0,0,8.4583,,Q,Mr +3,0,male,34.0,0,0,8.05,,S,Mr +3,0,male,,0,0,7.75,,Q,Mr +3,1,male,,0,0,7.775,,S,Mr +3,1,male,,1,1,15.2458,,C,Master +3,1,male,,1,1,15.2458,,C,Master +3,1,female,,0,2,15.2458,,C,Mrs +3,1,female,,0,0,7.2292,,C,Mrs +3,0,male,,0,0,8.05,,S,Mr +3,1,female,,0,0,7.7333,,Q,Miss +3,1,female,24.0,0,0,7.75,,Q,Miss +3,0,male,,0,0,8.05,,S,Mr +3,1,female,,1,0,15.5,,Q,Miss +3,1,female,,1,0,15.5,,Q,Miss +3,1,female,,0,0,15.5,,Q,Miss +3,0,male,18.0,0,0,7.75,,S,Mr +3,0,male,22.0,0,0,7.8958,,S,Mr +3,1,female,15.0,0,0,7.225,,C,Miss +3,1,female,1.0,0,2,15.7417,,C,Miss +3,1,male,20.0,1,1,15.7417,,C,Mr +3,1,female,19.0,1,1,15.7417,,C,Mrs +3,0,male,33.0,0,0,8.05,,S,Mr +3,0,male,,0,0,7.8958,,S,Mr +3,0,male,,0,0,7.2292,,C,Mr +3,0,female,,0,0,7.75,,Q,Miss +3,0,male,,0,0,7.8958,,S,Mr +3,1,male,12.0,1,0,11.2417,,C,Master +3,1,female,14.0,1,0,11.2417,,C,Miss +3,0,female,29.0,0,0,7.925,,S,Miss +3,0,male,28.0,0,0,8.05,,S,Mr +3,1,female,18.0,0,0,7.775,,S,Miss +3,1,female,26.0,0,0,7.8542,,S,Miss +3,0,male,21.0,0,0,7.8542,,S,Mr +3,0,male,41.0,0,0,7.125,,S,Mr +3,1,male,39.0,0,0,7.925,,S,Mr +3,0,male,21.0,0,0,7.8,,S,Mr +3,0,male,28.5,0,0,7.2292,,C,Mr +3,1,female,22.0,0,0,7.75,,S,Miss +3,0,male,61.0,0,0,6.2375,,S,Mr +3,0,male,,1,0,15.5,,Q,Mr +3,0,male,,0,0,7.8292,,Q,Mr +3,1,female,,1,0,15.5,,Q,Mrs +3,0,male,,0,0,7.7333,,Q,Mr +3,0,male,,0,0,7.75,,Q,Mr +3,0,male,,0,0,7.75,,Q,Mr +3,0,male,23.0,0,0,9.225,,S,Mr +3,0,female,,0,0,7.75,,Q,Other +3,1,female,,0,0,7.75,,Q,Miss +3,1,female,,0,0,7.8792,,Q,Miss +3,1,female,22.0,0,0,7.775,,S,Miss +3,1,male,,0,0,7.75,,Q,Mr +3,1,female,,0,0,7.8292,,Q,Miss +3,1,male,9.0,0,1,3.1708,,S,Master +3,0,male,28.0,0,0,22.525,,S,Mr +3,0,male,42.0,0,1,8.4042,,S,Mr +3,0,male,,0,0,7.3125,,S,Mr +3,0,female,31.0,0,0,7.8542,,S,Miss +3,0,male,28.0,0,0,7.8542,,S,Mr +3,1,male,32.0,0,0,7.775,,S,Mr +3,0,male,20.0,0,0,9.225,,S,Mr +3,0,female,23.0,0,0,8.6625,,S,Miss +3,0,female,20.0,0,0,8.6625,,S,Miss +3,0,male,20.0,0,0,8.6625,,S,Mr +3,0,male,16.0,0,0,9.2167,,S,Mr +3,1,female,31.0,0,0,8.6833,,S,Mrs +3,0,female,,0,0,7.6292,,Q,Miss +3,0,male,2.0,3,1,21.075,,S,Master +3,0,male,6.0,3,1,21.075,,S,Master +3,0,female,3.0,3,1,21.075,,S,Miss +3,0,female,8.0,3,1,21.075,,S,Miss +3,0,female,29.0,0,4,21.075,,S,Mrs +3,0,male,1.0,4,1,39.6875,,S,Master +3,0,male,7.0,4,1,39.6875,,S,Master +3,0,male,2.0,4,1,39.6875,,S,Master +3,0,male,16.0,4,1,39.6875,,S,Mr +3,0,male,14.0,4,1,39.6875,,S,Mr +3,0,female,41.0,0,5,39.6875,,S,Mrs +3,0,male,21.0,0,0,8.6625,,S,Mr +3,0,male,19.0,0,0,14.5,,S,Mr +3,0,male,,0,0,8.7125,,C,Mr +3,0,male,32.0,0,0,7.8958,,S,Mr +3,0,male,0.75,1,1,13.775,,S,Master +3,0,female,3.0,1,1,13.775,,S,Miss +3,0,female,26.0,0,2,13.775,,S,Mrs +3,0,male,,0,0,7.0,,S,Mr +3,0,male,,0,0,7.775,,S,Mr +3,0,male,,0,0,8.05,,S,Mr +3,0,male,21.0,0,0,7.925,,S,Mr +3,0,male,25.0,0,0,7.925,,S,Mr +3,0,male,22.0,0,0,7.25,,S,Mr +3,1,male,25.0,1,0,7.775,,S,Mr +3,1,male,,1,1,22.3583,,C,Master +3,1,female,,1,1,22.3583,F,C,Miss +3,1,female,,0,2,22.3583,,C,Mrs +3,0,female,,0,0,8.1375,,Q,Miss +3,0,male,24.0,0,0,8.05,,S,Mr +3,0,female,28.0,0,0,7.8958,,S,Miss +3,0,male,19.0,0,0,7.8958,,S,Mr +3,0,male,,0,0,7.8958,,S,Mr +3,0,male,25.0,1,0,7.775,,S,Mr +3,0,female,18.0,0,0,7.775,,S,Miss +3,1,male,32.0,0,0,8.05,E10,S,Mr +3,0,male,,0,0,7.8958,,S,Mr +3,0,male,17.0,0,0,8.6625,,S,Mr +3,0,male,24.0,0,0,8.6625,,S,Mr +3,0,male,,0,0,7.8958,,S,Mr +3,0,female,,0,0,8.1125,,S,Mrs +3,0,male,,0,0,7.2292,,C,Mr +3,0,male,,0,0,7.25,,S,Mr +3,0,male,38.0,0,0,7.8958,,S,Mr +3,0,male,21.0,0,0,8.05,,S,Mr +3,0,male,10.0,4,1,29.125,,Q,Master +3,0,male,4.0,4,1,29.125,,Q,Master +3,0,male,7.0,4,1,29.125,,Q,Master +3,0,male,2.0,4,1,29.125,,Q,Master +3,0,male,8.0,4,1,29.125,,Q,Master +3,0,female,39.0,0,5,29.125,,Q,Mrs +3,0,female,22.0,0,0,39.6875,,S,Miss +3,0,male,35.0,0,0,7.125,,S,Mr +3,1,female,,0,0,7.7208,,Q,Miss +3,0,male,,0,0,14.5,,S,Mr +3,0,female,,0,0,14.5,,S,Mrs +3,0,male,50.0,1,0,14.5,,S,Mr +3,0,female,47.0,1,0,14.5,,S,Mrs +3,0,male,,0,0,8.05,,S,Mr +3,0,male,,0,0,7.775,,S,Mr +3,0,female,2.0,1,1,20.2125,,S,Miss +3,0,male,18.0,1,1,20.2125,,S,Mr +3,0,female,41.0,0,2,20.2125,,S,Mrs +3,1,female,,0,0,8.05,,S,Miss +3,0,male,50.0,0,0,8.05,,S,Mr +3,0,male,16.0,0,0,8.05,,S,Mr +3,1,male,,0,0,7.75,,Q,Mr +3,0,male,,0,0,24.15,,Q,Mr +3,0,male,,0,0,7.2292,,C,Mr +3,0,male,25.0,0,0,7.225,,C,Mr +3,0,male,,0,0,7.225,,C,Mr +3,0,male,,0,0,7.7292,,Q,Mr +3,0,male,,0,0,7.575,,S,Mr +3,0,male,38.5,0,0,7.25,,S,Mr +3,0,male,,8,2,69.55,,S,Master +3,0,male,14.5,8,2,69.55,,S,Master +3,0,female,,8,2,69.55,,S,Miss +3,0,female,,8,2,69.55,,S,Miss +3,0,female,,8,2,69.55,,S,Miss +3,0,female,,8,2,69.55,,S,Miss +3,0,male,,8,2,69.55,,S,Mr +3,0,male,,8,2,69.55,,S,Mr +3,0,male,,8,2,69.55,,S,Mr +3,0,male,,1,9,69.55,,S,Mr +3,0,female,,1,9,69.55,,S,Mrs +3,0,male,24.0,0,0,9.325,,S,Mr +3,1,female,21.0,0,0,7.65,,S,Miss +3,0,male,39.0,0,0,7.925,,S,Mr +3,0,male,,2,0,21.6792,,C,Mr +3,0,male,,2,0,21.6792,,C,Mr +3,0,male,,2,0,21.6792,,C,Mr +3,1,female,1.0,1,1,16.7,G6,S,Miss +3,1,female,24.0,0,2,16.7,G6,S,Mrs +3,1,female,4.0,1,1,16.7,G6,S,Miss +3,1,male,25.0,0,0,9.5,,S,Mr +3,0,male,20.0,0,0,8.05,,S,Mr +3,0,male,24.5,0,0,8.05,,S,Mr +3,0,male,,0,0,7.725,,Q,Mr +3,0,male,,0,0,7.8958,,S,Mr +3,0,male,,0,0,7.75,,Q,Mr +3,1,male,29.0,0,0,9.5,,S,Mr +3,0,male,,0,0,15.1,,S,Mr +3,1,female,,0,0,7.7792,,Q,Miss +3,0,male,,0,0,8.05,,S,Mr +3,0,male,,0,0,8.05,,S,Mr +3,0,male,22.0,0,0,7.2292,,C,Mr +3,0,male,,0,0,8.05,,S,Mr +3,0,male,40.0,0,0,7.8958,,S,Mr +3,0,male,21.0,0,0,7.925,,S,Mr +3,1,female,18.0,0,0,7.4958,,S,Miss +3,0,male,4.0,3,2,27.9,,S,Master +3,0,male,10.0,3,2,27.9,,S,Master +3,0,female,9.0,3,2,27.9,,S,Miss +3,0,female,2.0,3,2,27.9,,S,Miss +3,0,male,40.0,1,4,27.9,,S,Mr +3,0,female,45.0,1,4,27.9,,S,Mrs +3,0,male,,0,0,7.8958,,S,Mr +3,0,male,,0,0,8.05,,S,Mr +3,0,male,,0,0,8.6625,,S,Mr +3,0,male,,0,0,7.75,,Q,Mr +3,1,female,,0,0,7.7333,,Q,Miss +3,0,male,19.0,0,0,7.65,F,S,Mr +3,0,male,30.0,0,0,8.05,,S,Mr +3,0,male,,0,0,8.05,,S,Mr +3,0,male,32.0,0,0,8.05,,S,Mr +3,0,male,,0,0,7.8958,,S,Mr +3,0,male,33.0,0,0,8.6625,,C,Mr +3,1,female,23.0,0,0,7.55,,S,Miss +3,0,male,21.0,0,0,8.05,,S,Mr +3,0,male,60.5,0,0,,,S,Mr +3,0,male,19.0,0,0,7.8958,,S,Mr +3,0,female,22.0,0,0,9.8375,,S,Miss +3,1,male,31.0,0,0,7.925,,S,Mr +3,0,male,27.0,0,0,8.6625,,S,Mr +3,0,female,2.0,0,1,10.4625,G6,S,Miss +3,0,female,29.0,1,1,10.4625,G6,S,Mrs +3,1,male,16.0,0,0,8.05,,S,Mr +3,1,male,44.0,0,0,7.925,,S,Mr +3,0,male,25.0,0,0,7.05,,S,Mr +3,0,male,74.0,0,0,7.775,,S,Mr +3,1,male,14.0,0,0,9.225,,S,Mr +3,0,male,24.0,0,0,7.7958,,S,Mr +3,1,male,25.0,0,0,7.7958,,S,Mr +3,0,male,34.0,0,0,8.05,,S,Mr +3,1,male,0.4167,0,1,8.5167,,C,Master +3,0,male,,1,0,6.4375,,C,Mr +3,0,male,,0,0,6.4375,,C,Mr +3,0,male,,0,0,7.225,,C,Mr +3,1,female,16.0,1,1,8.5167,,C,Mrs +3,0,male,,0,0,8.05,,S,Mr +3,0,male,,1,0,16.1,,S,Mr +3,1,female,,1,0,16.1,,S,Mrs +3,0,male,32.0,0,0,7.925,,S,Mr +3,0,male,,0,0,7.75,F38,Q,Mr +3,0,male,,0,0,7.8958,,S,Mr +3,0,male,30.5,0,0,8.05,,S,Mr +3,0,male,44.0,0,0,8.05,,S,Mr +3,0,male,,0,0,7.2292,,C,Mr +3,1,male,25.0,0,0,0.0,,S,Mr +3,0,male,,0,0,7.2292,,C,Mr +3,1,male,7.0,1,1,15.2458,,C,Master +3,1,female,9.0,1,1,15.2458,,C,Miss +3,1,female,29.0,0,2,15.2458,,C,Mrs +3,0,male,36.0,0,0,7.8958,,S,Mr +3,1,female,18.0,0,0,9.8417,,S,Miss +3,1,female,63.0,0,0,9.5875,,S,Mrs +3,0,male,,1,1,14.5,,S,Master +3,0,male,11.5,1,1,14.5,,S,Master +3,0,male,40.5,0,2,14.5,,S,Mr +3,0,female,10.0,0,2,24.15,,S,Miss +3,0,male,36.0,1,1,24.15,,S,Mr +3,0,female,30.0,1,1,24.15,,S,Mrs +3,0,male,,0,0,9.5,,S,Mr +3,0,male,33.0,0,0,9.5,,S,Mr +3,0,male,28.0,0,0,9.5,,S,Mr +3,0,male,28.0,0,0,9.5,,S,Mr +3,0,male,47.0,0,0,9.0,,S,Mr +3,0,female,18.0,2,0,18.0,,S,Miss +3,0,male,31.0,3,0,18.0,,S,Mr +3,0,male,16.0,2,0,18.0,,S,Mr +3,0,female,31.0,1,0,18.0,,S,Mrs +3,1,male,22.0,0,0,7.225,,C,Mr +3,0,male,20.0,0,0,7.8542,,S,Mr +3,0,female,14.0,0,0,7.8542,,S,Miss +3,0,male,22.0,0,0,7.8958,,S,Mr +3,0,male,22.0,0,0,9.0,,S,Mr +3,0,male,,0,0,8.05,,S,Mr +3,0,male,,0,0,7.55,,S,Mr +3,0,male,,0,0,8.05,,S,Mr +3,0,male,32.5,0,0,9.5,,S,Mr +3,1,female,38.0,0,0,7.2292,,C,Mrs +3,0,male,51.0,0,0,7.75,,S,Mr +3,0,male,18.0,1,0,6.4958,,S,Mr +3,0,male,21.0,1,0,6.4958,,S,Mr +3,1,female,47.0,1,0,7.0,,S,Mrs +3,0,male,,0,0,8.7125,,S,Mr +3,0,male,,0,0,7.55,,S,Mr +3,0,male,,0,0,8.05,,S,Mr +3,0,male,28.5,0,0,16.1,,S,Mr +3,0,male,21.0,0,0,7.25,,S,Mr +3,0,male,27.0,0,0,8.6625,,S,Mr +3,0,male,,0,0,7.25,,S,Mr +3,0,male,36.0,0,0,9.5,,S,Mr +3,0,male,27.0,1,0,14.4542,,C,Mr +3,1,female,15.0,1,0,14.4542,,C,Mrs +3,0,male,45.5,0,0,7.225,,C,Mr +3,0,male,,0,0,7.225,,C,Mr +3,0,male,,0,0,14.4583,,C,Mr +3,0,female,14.5,1,0,14.4542,,C,Miss +3,0,female,,1,0,14.4542,,C,Miss +3,0,male,26.5,0,0,7.225,,C,Mr +3,0,male,27.0,0,0,7.225,,C,Mr +3,0,male,29.0,0,0,7.875,,S,Mr diff --git a/section-05-production-model-package/regression_model/pipeline.py b/section-05-production-model-package/regression_model/pipeline.py index e6153a6b8..6fc888e01 100644 --- a/section-05-production-model-package/regression_model/pipeline.py +++ b/section-05-production-model-package/regression_model/pipeline.py @@ -1,9 +1,5 @@ from feature_engine.encoding import OrdinalEncoder, RareLabelEncoder -from feature_engine.imputation import ( - AddMissingIndicator, - CategoricalImputer, - MeanMedianImputer, -) +from feature_engine.imputation import AddMissingIndicator, CategoricalImputer, MeanMedianImputer from feature_engine.selection import DropFeatures from feature_engine.transformation import LogTransformer from feature_engine.wrappers import SklearnTransformerWrapper diff --git a/section-05-production-model-package/requirements/requirements.txt b/section-05-production-model-package/requirements/requirements.txt index f3783b618..0fbffd3a6 100644 --- a/section-05-production-model-package/requirements/requirements.txt +++ b/section-05-production-model-package/requirements/requirements.txt @@ -7,5 +7,5 @@ pydantic>=1.8.1,<2.0.0 scikit-learn>=1.1.3,<2.0.0 strictyaml>=1.3.2,<2.0.0 ruamel.yaml>=0.16.12,<1.0.0 -feature-engine>=1.0.2,<2.0.0 +feature-engine>=1.0.2,<1.6.0 # breaking change in v1.6.0 joblib>=1.0.1,<2.0.0 \ No newline at end of file diff --git a/section-05-production-model-package/tox.ini b/section-05-production-model-package/tox.ini index b69b6c7a5..ffc4c60c8 100644 --- a/section-05-production-model-package/tox.ini +++ b/section-05-production-model-package/tox.ini @@ -15,7 +15,7 @@ skipsdist = True [testenv] basepython = python install_command = pip install {opts} {packages} -whitelist_externals = train +allowlist_externals = train setenv = PYTHONPATH=. @@ -47,7 +47,6 @@ deps = commands = flake8 regression_model tests isort regression_model tests - black regression_model tests {posargs:mypy regression_model} diff --git a/section-06-model-serving-api/house-prices-api/requirements.txt b/section-06-model-serving-api/house-prices-api/requirements.txt index 1f0ddccf5..c6f00d968 100644 --- a/section-06-model-serving-api/house-prices-api/requirements.txt +++ b/section-06-model-serving-api/house-prices-api/requirements.txt @@ -5,4 +5,5 @@ pydantic>=1.10.4,<1.12.0 typing_extensions>=4.2.0,<5.0.0 loguru>=0.5.3,<1.0.0 # We will explain this in the course -tid-regression-model>=3.2.0 \ No newline at end of file +tid-regression-model>=3.2.0 +feature-engine>=1.0.2,<1.6.0 # breaking change in v1.6.0 \ No newline at end of file diff --git a/section-06-model-serving-api/house-prices-api/runtime.txt b/section-06-model-serving-api/house-prices-api/runtime.txt deleted file mode 100644 index cd6f13073..000000000 --- a/section-06-model-serving-api/house-prices-api/runtime.txt +++ /dev/null @@ -1 +0,0 @@ -python-3.11.1 \ No newline at end of file diff --git a/section-07-ci-and-publishing/house-prices-api/app/__init__.py b/section-07-ci-and-publishing/house-prices-api/app/__init__.py index 3b93d0be0..b1a19e323 100644 --- a/section-07-ci-and-publishing/house-prices-api/app/__init__.py +++ b/section-07-ci-and-publishing/house-prices-api/app/__init__.py @@ -1 +1 @@ -__version__ = "0.0.2" +__version__ = "0.0.5" diff --git a/section-07-ci-and-publishing/house-prices-api/requirements.txt b/section-07-ci-and-publishing/house-prices-api/requirements.txt index 1f0ddccf5..c6f00d968 100644 --- a/section-07-ci-and-publishing/house-prices-api/requirements.txt +++ b/section-07-ci-and-publishing/house-prices-api/requirements.txt @@ -5,4 +5,5 @@ pydantic>=1.10.4,<1.12.0 typing_extensions>=4.2.0,<5.0.0 loguru>=0.5.3,<1.0.0 # We will explain this in the course -tid-regression-model>=3.2.0 \ No newline at end of file +tid-regression-model>=3.2.0 +feature-engine>=1.0.2,<1.6.0 # breaking change in v1.6.0 \ No newline at end of file diff --git a/section-07-ci-and-publishing/house-prices-api/runtime.txt b/section-07-ci-and-publishing/house-prices-api/runtime.txt deleted file mode 100644 index 88f4ef204..000000000 --- a/section-07-ci-and-publishing/house-prices-api/runtime.txt +++ /dev/null @@ -1 +0,0 @@ -python-3.9.5 \ No newline at end of file diff --git a/section-07-ci-and-publishing/model-package/regression_model/VERSION b/section-07-ci-and-publishing/model-package/regression_model/VERSION index c4e41f945..7636e7565 100644 --- a/section-07-ci-and-publishing/model-package/regression_model/VERSION +++ b/section-07-ci-and-publishing/model-package/regression_model/VERSION @@ -1 +1 @@ -4.0.3 +4.0.5 diff --git a/section-07-ci-and-publishing/model-package/requirements/requirements.txt b/section-07-ci-and-publishing/model-package/requirements/requirements.txt index f3783b618..0fbffd3a6 100644 --- a/section-07-ci-and-publishing/model-package/requirements/requirements.txt +++ b/section-07-ci-and-publishing/model-package/requirements/requirements.txt @@ -7,5 +7,5 @@ pydantic>=1.8.1,<2.0.0 scikit-learn>=1.1.3,<2.0.0 strictyaml>=1.3.2,<2.0.0 ruamel.yaml>=0.16.12,<1.0.0 -feature-engine>=1.0.2,<2.0.0 +feature-engine>=1.0.2,<1.6.0 # breaking change in v1.6.0 joblib>=1.0.1,<2.0.0 \ No newline at end of file diff --git a/section-07-ci-and-publishing/model-package/tox.ini b/section-07-ci-and-publishing/model-package/tox.ini index e500db2c8..b0cdb2d3f 100644 --- a/section-07-ci-and-publishing/model-package/tox.ini +++ b/section-07-ci-and-publishing/model-package/tox.ini @@ -15,7 +15,7 @@ skipsdist = True [testenv] basepython = python install_command = pip install {opts} {packages} -whitelist_externals = train +allowlist_externals = train,python passenv = KAGGLE_USERNAME @@ -23,6 +23,7 @@ passenv = GEMFURY_PUSH_URL [testenv:test_package] +allowlist_externals = python deps = -rrequirements/test_requirements.txt @@ -50,8 +51,13 @@ commands= [testenv:fetch_data] envdir = {toxworkdir}/test_package +allowlist_externals = unzip deps = - {[testenv:test_package]deps} + kaggle<1.6.0 + +passenv = + KAGGLE_USERNAME + KAGGLE_KEY setenv = {[testenv:test_package]setenv} @@ -65,6 +71,7 @@ commands= [testenv:publish_model] envdir = {toxworkdir}/test_package +allowlist_externals = * deps = {[testenv:test_package]deps} diff --git a/section-08-deploying-with-containers/Makefile b/section-08-deploying-with-containers/Makefile deleted file mode 100644 index 9644e8311..000000000 --- a/section-08-deploying-with-containers/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -heroku-login: - HEROKU_API_KEY=${HEROKU_API_KEY} heroku container:login - -build-ml-api-heroku: heroku-login - docker build --build-arg PIP_EXTRA_INDEX_URL=${PIP_EXTRA_INDEX_URL} -t registry.heroku.com/${HEROKU_APP_NAME}/web . - -push-ml-api-heroku: heroku-login - docker push registry.heroku.com/${HEROKU_APP_NAME}/web - -release-heroku: heroku-login - heroku container:release web --app ${HEROKU_APP_NAME} - -.PHONY: heroku-login build-ml-api-heroku push-ml-api-heroku \ No newline at end of file diff --git a/section-08-deploying-with-containers/house-prices-api/app/__init__.py b/section-08-deploying-with-containers/house-prices-api/app/__init__.py index 3b93d0be0..034f46c34 100644 --- a/section-08-deploying-with-containers/house-prices-api/app/__init__.py +++ b/section-08-deploying-with-containers/house-prices-api/app/__init__.py @@ -1 +1 @@ -__version__ = "0.0.2" +__version__ = "0.0.6" diff --git a/section-08-deploying-with-containers/house-prices-api/requirements.txt b/section-08-deploying-with-containers/house-prices-api/requirements.txt index 602e2c36f..d2612d1e9 100644 --- a/section-08-deploying-with-containers/house-prices-api/requirements.txt +++ b/section-08-deploying-with-containers/house-prices-api/requirements.txt @@ -7,4 +7,5 @@ pydantic>=1.10.4,<1.12.0 typing_extensions>=4.2.0,<5.0.0 loguru>=0.5.3,<1.0.0 # fetched from gemfury -tid-regression-model==4.0.2 \ No newline at end of file +tid-regression-model==4.0.7 +feature-engine>=1.0.2,<1.6.0 # breaking change in v1.6.0 \ No newline at end of file diff --git a/section-08-deploying-with-containers/house-prices-api/runtime.txt b/section-08-deploying-with-containers/house-prices-api/runtime.txt deleted file mode 100644 index 88f4ef204..000000000 --- a/section-08-deploying-with-containers/house-prices-api/runtime.txt +++ /dev/null @@ -1 +0,0 @@ -python-3.9.5 \ No newline at end of file