{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "be5dabe8-1604-48f0-b0c9-74769cdd76f3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Age average: 30\n" ] } ], "source": [ "#Adaboost\n", "import numpy as np\n", "import pandas as pd\n", "from sklearn.model_selection import train_test_split\n", "import sklearn.metrics as metrics\n", "from sklearn.datasets import make_classification\n", "from sklearn.ensemble import AdaBoostClassifier\n", "import matplotlib.pyplot as plt\n", "\n", "# Import data of the titanic passengers\n", "data_titanic = pd.read_csv(\"titanic_data.csv\")\n", "\n", "# Preprocessing\n", "# Not all data is important for the training. The PassengerId, the name, the number of siblings, the parch, the ticket number\n", "# and the cabin number are not important and therefore they will be dropped\n", "data_titanic = data_titanic.drop(data_titanic.columns[[0, 3, 6, 7, 8, 10]], axis = 1)\n", "\n", "# Fill the gaps:\n", "# For the age: Compute the average of ages of all passengers on board and take it as value\n", "ages = data_titanic[\"Age\"]\n", "age_average = round(ages.mean(axis = 0, skipna = True)) \n", "print('Age average: ', age_average)\n", "\n", "def set_age(Age):\n", " age = Age\n", " if pd.isnull(age):\n", " return age_average\n", " else:\n", " return age\n", "\n", "data_titanic['Age'] = data_titanic['Age'].apply(set_age)\n", " \n", "# For the embarked: Take the most occuring value, available options: S, C and Q\n", "Embarked = data_titanic[\"Embarked\"]\n", "count_S = 0\n", "count_C = 0\n", "count_Q = 0\n", "\n", "# Count embarks\n", "for i in range(data_titanic.shape[0]):\n", " if (Embarked[i] == 'S'):\n", " count_S += 1\n", " if (Embarked[i] == 'C'):\n", " count_C += 1\n", " if (Embarked[i] == 'Q'):\n", " count_Q += 1\n", " \n", "if ((count_S >= count_C) and (count_S >= count_Q)):\n", " common_embarked = 'S'\n", "if ((count_C > count_S) and (count_C >= count_Q)):\n", " common_embarked = 'C'\n", "if ((count_Q >= count_S) and (count_Q >= count_C)):\n", " common_embarked = 'Q'\n", " \n", "def set_Embarked(Embarked):\n", " embarked = Embarked\n", " if pd.isnull(embarked):\n", " return common_embarked\n", " else:\n", " return embarked\n", "\n", "data_titanic['Embarked'] = data_titanic['Embarked'].apply(set_Embarked)\n", "\n", "# Gender and Embarked have to be replaced by values: Set male = 0, female = 1 and S = 0, C = 1, Q = 2\n", "replace_gender = {data_titanic.columns[2]: {\"male\": 0, \"female\": 1}}\n", "replace_embarked = {data_titanic.columns[5]: {\"S\": 0, \"C\": 1, \"Q\": 2}}\n", "data_titanic = data_titanic.replace(replace_gender)\n", "data_titanic = data_titanic.replace(replace_embarked)" ] }, { "cell_type": "code", "execution_count": 2, "id": "f1cb797c-88eb-4334-8a91-df70a8acdbea", "metadata": {}, "outputs": [], "source": [ "# Split data into train and evaluation subsets, proportion 1:4\n", "input_data = data_titanic.drop(data_titanic.columns[[0]], axis = 1) # Input has to be without \"Survived\" statement\n", "target_data = data_titanic['Survived'] # KNN algorithm has to predict survied statement\n", "input_train, input_evaluate, target_train, target_evaluate = train_test_split(input_data , target_data, test_size = 0.25)" ] }, { "cell_type": "code", "execution_count": 3, "id": "7314b604-f1e6-45a6-8b8c-57c26831f141", "metadata": {}, "outputs": [ { "data": { "image/png": "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4aXy2ImItEInSdKgWE/Z2toKq9WKlpYWZGdnJ3s4FCdOl4T9VY2obetGYZZ7KiVVshOpPHYionhRev82JnBMRDEz6HWYPT4v2cOISiqPnYgo2TglRERERJrHgIWIiIg0jwELERERaR4DFiIiItI8BixERESkeQxYiIiISPMYsBAREZHmMWAhIiIizWPAQkRERJo3aDrdih0GWltbkzwSIiIiUkrct8PtFDRoApa2tjYAQElJSZJHQkRERJFqa2uD1WoN+vyg2fzQ5XLh8uXLyMrKgk6n3oZyra2tKCkpwYULF7ipYgLweicWr3di8XonFq93YkV7vSVJQltbG0aMGAG9PnilyqDJsOj1eowaNSpu58/OzuY3fALxeicWr3di8XonFq93YkVzvUNlVgQW3RIREZHmMWAhIiIizWPAEobZbMa6detgNpuTPZQhgdc7sXi9E4vXO7F4vRMr3td70BTdEhER0eDFDAsRERFpHgMWIiIi0jwGLERERKR5DFiIiIhI8xiwhLF582aUlpbCYrFgxowZ+Oijj5I9pEHhww8/xNKlSzFixAjodDr8+c9/9ntekiSsX78eI0aMQHp6Or71rW/hxIkTyRlsitu4cSO+/vWvIysrC4WFhfjud7+L06dP+x3D662uLVu2YOrUqXIDrdmzZ+N///d/5ed5veNn48aN0Ol0WL16tfwYr7e61q9fD51O5/dRXFwsPx+v682AJYTXXnsNq1evxiOPPIIjR45g/vz5uOmmm3D+/PlkDy3ldXR0YNq0aXjmmWcCPv+b3/wGTz31FJ555hkcOHAAxcXFuOGGG+Q9o0i5Dz74AH/7t3+Lffv2YceOHejr68PixYvR0dEhH8Prra5Ro0bh17/+NQ4ePIiDBw9iwYIF+M53viP/0ub1jo8DBw7g2WefxdSpU/0e5/VW31VXXQW73S5/HDt2TH4ubtdboqBmzZol3XfffX6PTZo0SfrZz36WpBENTgCkt99+W/63y+WSiouLpV//+tfyY93d3ZLVapX+4z/+IwkjHFxqa2slANIHH3wgSRKvd6IMHz5c+t3vfsfrHSdtbW3ShAkTpB07dkjXXXed9JOf/ESSJH5/x8O6deukadOmBXwuntebGZYgHA4HDh06hMWLF/s9vnjxYnzyySdJGtXQUFVVherqar9rbzabcd111/Haq6ClpQUAkJubC4DXO96cTideffVVdHR0YPbs2bzecfK3f/u3uPnmm7Fo0SK/x3m94+PLL7/EiBEjUFpaittuuw2VlZUA4nu9B83mh2qrr6+H0+lEUVGR3+NFRUWorq5O0qiGBnF9A137c+fOJWNIg4YkSVizZg3mzZuHsrIyALze8XLs2DHMnj0b3d3dGDZsGN5++21MmTJF/qXN662eV199FYcPH8aBAwcGPMfvb/Vde+21ePnll3HllVeipqYGjz/+OObMmYMTJ07E9XozYAlDp9P5/VuSpAGPUXzw2qvvxz/+MT7//HPs2bNnwHO83uqaOHEijh49iubmZrz55pv44Q9/iA8++EB+ntdbHRcuXMBPfvITvPvuu7BYLEGP4/VWz0033ST//9VXX43Zs2dj/Pjx+P3vf49vfOMbAOJzvTklFER+fj4MBsOAbEptbe2AyJHUJarNee3V9eCDD+Kdd97Be++9h1GjRsmP83rHh8lkwhVXXIGZM2di48aNmDZtGv71X/+V11tlhw4dQm1tLWbMmAGj0Qij0YgPPvgA//Zv/waj0ShfU17v+MnMzMTVV1+NL7/8Mq7f3wxYgjCZTJgxYwZ27Njh9/iOHTswZ86cJI1qaCgtLUVxcbHftXc4HPjggw947aMgSRJ+/OMf46233sLu3btRWlrq9zyvd2JIkoSenh5eb5UtXLgQx44dw9GjR+WPmTNn4m/+5m9w9OhRjBs3jtc7znp6enDy5EnYbLb4fn/HVLI7yL366qtSWlqa9Pzzz0sVFRXS6tWrpczMTOns2bPJHlrKa2trk44cOSIdOXJEAiA99dRT0pEjR6Rz585JkiRJv/71ryWr1Sq99dZb0rFjx6Tbb79dstlsUmtra5JHnnruv/9+yWq1Su+//75kt9vlj87OTvkYXm91rV27Vvrwww+lqqoq6fPPP5d+/vOfS3q9Xnr33XclSeL1jjffVUKSxOuttoceekh6//33pcrKSmnfvn3St7/9bSkrK0u+N8brejNgCePf//3fpTFjxkgmk0maPn26vBSUYvPee+9JAAZ8/PCHP5Qkyb00bt26dVJxcbFkNpulb37zm9KxY8eSO+gUFeg6A5BefPFF+Rheb3X96Ec/kn9vFBQUSAsXLpSDFUni9Y63/gELr7e6li1bJtlsNiktLU0aMWKE9P3vf186ceKE/Hy8rrdOkiQpthwNERERUXyxhoWIiIg0jwELERERaR4DFiIiItI8BixERESkeQxYiIiISPMYsBAREZHmMWAhIiIizWPAQkRERJrHgIWIiIg0jwELERERaR4DFiIiItI8BixERESkef8/L1P1AjfyY1wAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "As expected, the accuracy becomes better with an increasing number of iterations.\n" ] } ], "source": [ "# Perform Adaboost\n", "# Use 50 Iterations\n", "Iteration = [i for i in range(0,50)]\n", "accuracies = [0] * 50\n", "\n", "#Iteration\n", "for i in Iteration:\n", " classifier = AdaBoostClassifier(n_estimators = i+1, random_state = 0)\n", " classifier.fit(input_train,target_train)\n", " target_pred = classifier.predict(input_evaluate)\n", " accuracies[i] = metrics.accuracy_score(target_pred, target_evaluate)\n", " \n", "plt.plot(Iteration, accuracies, '-o', label='Accuracy')\n", "plt.legend()\n", "plt.show()\n", "print(\"As expected, the accuracy becomes better with an increasing number of iterations.\")" ] }, { "cell_type": "code", "execution_count": null, "id": "55fdd053-7c2f-41e6-b7ad-941645f1b7c6", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.6" } }, "nbformat": 4, "nbformat_minor": 5 }