{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"<a id=\"load\"></a>\n# Load Data ","metadata":{"papermill":{"duration":0.01428,"end_time":"2022-06-28T18:28:34.529850","exception":false,"start_time":"2022-06-28T18:28:34.515570","status":"completed"},"tags":[]}},{"cell_type":"code","source":"import numpy as np\nimport pandas as pd\nimport matplotlib.pyplot as plt\nimport seaborn as sns\n\ndf = pd.read_csv(\"../input/titanic/train.csv\")","metadata":{"papermill":{"duration":1.145941,"end_time":"2022-06-28T18:28:35.690099","exception":false,"start_time":"2022-06-28T18:28:34.544158","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:07:32.553269Z","iopub.execute_input":"2022-07-26T08:07:32.554448Z","iopub.status.idle":"2022-07-26T08:07:33.688690Z","shell.execute_reply.started":"2022-07-26T08:07:32.554316Z","shell.execute_reply":"2022-07-26T08:07:33.687847Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df.head()","metadata":{"papermill":{"duration":0.046479,"end_time":"2022-06-28T18:28:35.751761","exception":false,"start_time":"2022-06-28T18:28:35.705282","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:07:33.690451Z","iopub.execute_input":"2022-07-26T08:07:33.690939Z","iopub.status.idle":"2022-07-26T08:07:33.716199Z","shell.execute_reply.started":"2022-07-26T08:07:33.690906Z","shell.execute_reply":"2022-07-26T08:07:33.715628Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"eda\"></a>\n# EDA ","metadata":{"papermill":{"duration":0.014386,"end_time":"2022-06-28T18:28:35.780933","exception":false,"start_time":"2022-06-28T18:28:35.766547","status":"completed"},"tags":[]}},{"cell_type":"code","source":"df.info()","metadata":{"papermill":{"duration":0.043973,"end_time":"2022-06-28T18:28:35.839746","exception":false,"start_time":"2022-06-28T18:28:35.795773","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:07:33.717025Z","iopub.execute_input":"2022-07-26T08:07:33.717629Z","iopub.status.idle":"2022-07-26T08:07:33.740847Z","shell.execute_reply.started":"2022-07-26T08:07:33.717606Z","shell.execute_reply":"2022-07-26T08:07:33.739785Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df.describe()","metadata":{"papermill":{"duration":0.054599,"end_time":"2022-06-28T18:28:35.910401","exception":false,"start_time":"2022-06-28T18:28:35.855802","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:07:33.743234Z","iopub.execute_input":"2022-07-26T08:07:33.743688Z","iopub.status.idle":"2022-07-26T08:07:33.782315Z","shell.execute_reply.started":"2022-07-26T08:07:33.743659Z","shell.execute_reply":"2022-07-26T08:07:33.781582Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df.isnull().sum()","metadata":{"papermill":{"duration":0.030334,"end_time":"2022-06-28T18:28:35.955889","exception":false,"start_time":"2022-06-28T18:28:35.925555","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:07:33.783832Z","iopub.execute_input":"2022-07-26T08:07:33.784379Z","iopub.status.idle":"2022-07-26T08:07:33.798723Z","shell.execute_reply.started":"2022-07-26T08:07:33.784347Z","shell.execute_reply":"2022-07-26T08:07:33.793367Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df.nunique()","metadata":{"papermill":{"duration":0.035254,"end_time":"2022-06-28T18:28:36.007318","exception":false,"start_time":"2022-06-28T18:28:35.972064","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:07:33.800113Z","iopub.execute_input":"2022-07-26T08:07:33.802803Z","iopub.status.idle":"2022-07-26T08:07:33.815134Z","shell.execute_reply.started":"2022-07-26T08:07:33.802758Z","shell.execute_reply":"2022-07-26T08:07:33.813983Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df[\"Survived\"].value_counts()","metadata":{"papermill":{"duration":0.02955,"end_time":"2022-06-28T18:28:36.053153","exception":false,"start_time":"2022-06-28T18:28:36.023603","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:07:33.816935Z","iopub.execute_input":"2022-07-26T08:07:33.817901Z","iopub.status.idle":"2022-07-26T08:07:33.825500Z","shell.execute_reply.started":"2022-07-26T08:07:33.817867Z","shell.execute_reply":"2022-07-26T08:07:33.824711Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"plt.figure(figsize=(5,5))\ndf[\"Survived\"].value_counts().plot.pie(explode=[0.05,0.05], autopct='%1.1f%%', \n                                          labels=[\"Not Survived\",\"Survived\"],\n                                          shadow=True).set_title(\"Target Distribution\")","metadata":{"papermill":{"duration":0.223447,"end_time":"2022-06-28T18:28:36.292353","exception":false,"start_time":"2022-06-28T18:28:36.068906","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:07:33.827259Z","iopub.execute_input":"2022-07-26T08:07:33.827771Z","iopub.status.idle":"2022-07-26T08:07:34.022406Z","shell.execute_reply.started":"2022-07-26T08:07:33.827739Z","shell.execute_reply":"2022-07-26T08:07:34.021548Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df.duplicated().sum()","metadata":{"papermill":{"duration":0.04223,"end_time":"2022-06-28T18:28:36.364581","exception":false,"start_time":"2022-06-28T18:28:36.322351","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:07:34.023654Z","iopub.execute_input":"2022-07-26T08:07:34.023996Z","iopub.status.idle":"2022-07-26T08:07:34.037926Z","shell.execute_reply.started":"2022-07-26T08:07:34.023963Z","shell.execute_reply":"2022-07-26T08:07:34.037217Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df[[\"Age\"]].boxplot()","metadata":{"papermill":{"duration":0.197165,"end_time":"2022-06-28T18:28:36.578389","exception":false,"start_time":"2022-06-28T18:28:36.381224","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:07:34.043768Z","iopub.execute_input":"2022-07-26T08:07:34.045698Z","iopub.status.idle":"2022-07-26T08:07:34.204745Z","shell.execute_reply.started":"2022-07-26T08:07:34.045666Z","shell.execute_reply":"2022-07-26T08:07:34.203942Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df[[\"Fare\"]].boxplot()","metadata":{"papermill":{"duration":0.180796,"end_time":"2022-06-28T18:28:36.776329","exception":false,"start_time":"2022-06-28T18:28:36.595533","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:07:34.206065Z","iopub.execute_input":"2022-07-26T08:07:34.206801Z","iopub.status.idle":"2022-07-26T08:07:34.325590Z","shell.execute_reply.started":"2022-07-26T08:07:34.206732Z","shell.execute_reply":"2022-07-26T08:07:34.324632Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"fig, ax = plt.subplots(figsize=(10,10)) # to resize the heatmap\nsns.heatmap(df.drop(\"Survived\",axis=1).corr(), annot=True, ax=ax)","metadata":{"papermill":{"duration":0.429535,"end_time":"2022-06-28T18:28:37.223487","exception":false,"start_time":"2022-06-28T18:28:36.793952","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:07:34.328877Z","iopub.execute_input":"2022-07-26T08:07:34.330622Z","iopub.status.idle":"2022-07-26T08:07:34.659455Z","shell.execute_reply.started":"2022-07-26T08:07:34.330590Z","shell.execute_reply":"2022-07-26T08:07:34.658151Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"EDA observations:\n\n1. Dataset contains variables like \"Ticket\" and \"Names\", these can be removed as they appear to be random unique identifies.\n2. \"PassengerId\" is here used only for indexing, so it can be also removed.\n2. Target class \"Survived\" has binary output with slighlt imbalance data.\n3. \"Age\" and \"Cabin\" have missing values. The values in \"Age\" can be filled but in \"Cabin\" as most the values are missing, it will be removed.\n4. With the help of boxplot, we can identify that variables \"Age\" and \"Fare\" contains outliers.\n5. Lastly, no significant correlation is seen between independent variables.","metadata":{"papermill":{"duration":0.017064,"end_time":"2022-06-28T18:28:37.258434","exception":false,"start_time":"2022-06-28T18:28:37.241370","status":"completed"},"tags":[]}},{"cell_type":"markdown","source":"<a id=\"train\"></a>\n# Train-Test Split","metadata":{"papermill":{"duration":0.017292,"end_time":"2022-06-28T18:28:37.293139","exception":false,"start_time":"2022-06-28T18:28:37.275847","status":"completed"},"tags":[]}},{"cell_type":"code","source":"from sklearn.model_selection import train_test_split\nX_train, X_test, y_train, y_test = train_test_split(df.drop(\"Survived\",axis=1), \n                                                   df[\"Survived\"],\n                                                   test_size=0.3,\n                                                   random_state=100)","metadata":{"papermill":{"duration":0.235007,"end_time":"2022-06-28T18:28:37.545826","exception":false,"start_time":"2022-06-28T18:28:37.310819","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:07:34.660681Z","iopub.execute_input":"2022-07-26T08:07:34.661092Z","iopub.status.idle":"2022-07-26T08:07:34.852176Z","shell.execute_reply.started":"2022-07-26T08:07:34.661067Z","shell.execute_reply":"2022-07-26T08:07:34.851261Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_train","metadata":{"papermill":{"duration":0.046683,"end_time":"2022-06-28T18:28:37.610295","exception":false,"start_time":"2022-06-28T18:28:37.563612","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:07:34.853770Z","iopub.execute_input":"2022-07-26T08:07:34.854349Z","iopub.status.idle":"2022-07-26T08:07:34.880567Z","shell.execute_reply.started":"2022-07-26T08:07:34.854313Z","shell.execute_reply":"2022-07-26T08:07:34.879516Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"feature\"></a> \n# Feature Engineering\n\n1. [Removing variables](#removing)\n2. [Dealing with missing values](#missing)\n3. [One hot encoding variables](#onehot)\n4. [Scaling variables](#scaling)","metadata":{"papermill":{"duration":0.018382,"end_time":"2022-06-28T18:28:37.647635","exception":false,"start_time":"2022-06-28T18:28:37.629253","status":"completed"},"tags":[]}},{"cell_type":"markdown","source":"<a id=\"removing\"></a>\n## 1. Removing Variables","metadata":{"papermill":{"duration":0.0183,"end_time":"2022-06-28T18:28:37.684500","exception":false,"start_time":"2022-06-28T18:28:37.666200","status":"completed"},"tags":[]}},{"cell_type":"code","source":"drop_list = [\"PassengerId\", \"Name\", \"Cabin\", \"Ticket\"]\nX_train = X_train.drop(drop_list,axis=1)\nX_test = X_test.drop(drop_list,axis=1)","metadata":{"papermill":{"duration":0.028763,"end_time":"2022-06-28T18:28:37.732285","exception":false,"start_time":"2022-06-28T18:28:37.703522","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:07:34.881818Z","iopub.execute_input":"2022-07-26T08:07:34.882352Z","iopub.status.idle":"2022-07-26T08:07:34.894205Z","shell.execute_reply.started":"2022-07-26T08:07:34.882324Z","shell.execute_reply":"2022-07-26T08:07:34.893454Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id='missing'></a>\n## 2. Dealing with missing values","metadata":{"papermill":{"duration":0.018785,"end_time":"2022-06-28T18:28:37.769991","exception":false,"start_time":"2022-06-28T18:28:37.751206","status":"completed"},"tags":[]}},{"cell_type":"code","source":"X_train[\"Age\"].fillna(X_train[\"Age\"].median(), inplace=True)\nX_train[\"Embarked\"].fillna(X_train[\"Embarked\"].mode(), inplace=True)\n\nX_test[\"Age\"].fillna(X_test[\"Age\"].median(), inplace=True)\nX_test[\"Embarked\"].fillna(X_test[\"Embarked\"].mode(), inplace=True)","metadata":{"papermill":{"duration":0.032436,"end_time":"2022-06-28T18:28:37.821207","exception":false,"start_time":"2022-06-28T18:28:37.788771","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:07:34.895101Z","iopub.execute_input":"2022-07-26T08:07:34.896170Z","iopub.status.idle":"2022-07-26T08:07:34.910548Z","shell.execute_reply.started":"2022-07-26T08:07:34.896144Z","shell.execute_reply":"2022-07-26T08:07:34.909739Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"onehot\"></a>\n## 3.One hot encoding variables","metadata":{"papermill":{"duration":0.018826,"end_time":"2022-06-28T18:28:37.858520","exception":false,"start_time":"2022-06-28T18:28:37.839694","status":"completed"},"tags":[]}},{"cell_type":"code","source":"X_train = pd.get_dummies(X_train)\nX_test = pd.get_dummies(X_test)","metadata":{"papermill":{"duration":0.038813,"end_time":"2022-06-28T18:28:37.915777","exception":false,"start_time":"2022-06-28T18:28:37.876964","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:07:34.911802Z","iopub.execute_input":"2022-07-26T08:07:34.912254Z","iopub.status.idle":"2022-07-26T08:07:34.938954Z","shell.execute_reply.started":"2022-07-26T08:07:34.912223Z","shell.execute_reply":"2022-07-26T08:07:34.938309Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_train.head()","metadata":{"papermill":{"duration":0.037313,"end_time":"2022-06-28T18:28:37.970910","exception":false,"start_time":"2022-06-28T18:28:37.933597","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:07:34.940046Z","iopub.execute_input":"2022-07-26T08:07:34.940767Z","iopub.status.idle":"2022-07-26T08:07:34.952832Z","shell.execute_reply.started":"2022-07-26T08:07:34.940735Z","shell.execute_reply":"2022-07-26T08:07:34.951887Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"scaling\"></a>\n## 4.Scaling Variables","metadata":{"papermill":{"duration":0.01784,"end_time":"2022-06-28T18:28:38.007067","exception":false,"start_time":"2022-06-28T18:28:37.989227","status":"completed"},"tags":[]}},{"cell_type":"code","source":"columns = X_train.columns","metadata":{"papermill":{"duration":0.028254,"end_time":"2022-06-28T18:28:38.053980","exception":false,"start_time":"2022-06-28T18:28:38.025726","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:07:34.955330Z","iopub.execute_input":"2022-07-26T08:07:34.955960Z","iopub.status.idle":"2022-07-26T08:07:34.962983Z","shell.execute_reply.started":"2022-07-26T08:07:34.955935Z","shell.execute_reply":"2022-07-26T08:07:34.962095Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import pandas as pd\nfrom sklearn.preprocessing import MinMaxScaler\n\nx_train = X_train.values\nx_test = X_test.values\n\nmin_max_scaler = MinMaxScaler()\n\nx_train_scaled = min_max_scaler.fit_transform(x_train)\nx_test_scaled = min_max_scaler.transform(x_test)\n\nX_train = pd.DataFrame(x_train_scaled)\nX_test = pd.DataFrame(x_test_scaled)\nX_train.head()","metadata":{"papermill":{"duration":0.048943,"end_time":"2022-06-28T18:28:38.121314","exception":false,"start_time":"2022-06-28T18:28:38.072371","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:07:34.964451Z","iopub.execute_input":"2022-07-26T08:07:34.964761Z","iopub.status.idle":"2022-07-26T08:07:34.986056Z","shell.execute_reply.started":"2022-07-26T08:07:34.964727Z","shell.execute_reply":"2022-07-26T08:07:34.984988Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_train.columns = columns\nX_test.columns = columns","metadata":{"papermill":{"duration":0.027455,"end_time":"2022-06-28T18:28:38.167392","exception":false,"start_time":"2022-06-28T18:28:38.139937","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:07:34.987213Z","iopub.execute_input":"2022-07-26T08:07:34.987618Z","iopub.status.idle":"2022-07-26T08:07:34.991234Z","shell.execute_reply.started":"2022-07-26T08:07:34.987593Z","shell.execute_reply":"2022-07-26T08:07:34.990460Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_train.head()","metadata":{"papermill":{"duration":0.042432,"end_time":"2022-06-28T18:28:38.228826","exception":false,"start_time":"2022-06-28T18:28:38.186394","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:07:34.992248Z","iopub.execute_input":"2022-07-26T08:07:34.992834Z","iopub.status.idle":"2022-07-26T08:07:35.017229Z","shell.execute_reply.started":"2022-07-26T08:07:34.992810Z","shell.execute_reply":"2022-07-26T08:07:35.016547Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"model\"></a>\n# Model Training ","metadata":{"papermill":{"duration":0.018346,"end_time":"2022-06-28T18:28:38.265881","exception":false,"start_time":"2022-06-28T18:28:38.247535","status":"completed"},"tags":[]}},{"cell_type":"markdown","source":"Here, I used GridSerachCV to find best parameter for each model.","metadata":{"papermill":{"duration":0.019301,"end_time":"2022-06-28T18:28:38.304167","exception":false,"start_time":"2022-06-28T18:28:38.284866","status":"completed"},"tags":[]}},{"cell_type":"code","source":"from sklearn.svm import LinearSVC,SVC,NuSVC\nfrom sklearn.model_selection import GridSearchCV\nfrom sklearn.metrics import accuracy_score,f1_score\n\nsvm = SVC()\nnu_svm = NuSVC()\nlinear_svm = LinearSVC(max_iter=10000)\n\nsvm_grid_parameters = {'C':[0.01,0.1, 1, 10, 100, 1000], 'kernel':['linear', 'poly', 'sigmoid','rbf'], 'gamma':[1, 0.1, 0.01, 0.001, 0.0001]}\nnu_svm_grid_parameters = {'nu':[0.1,0.3,0.5,0.7], 'kernel':['linear', 'poly', 'sigmoid','rbf'], 'gamma':[1, 0.1, 0.01, 0.001, 0.0001]}\nlinear_svm_grid_parameters = {'C':[0.01,0.1, 1, 10, 100, 1000]}\n\nsvm_grid_search = GridSearchCV(svm, svm_grid_parameters)\nnu_svm_grid_search = GridSearchCV(nu_svm, nu_svm_grid_parameters)\nlinear_svm_grid_search = GridSearchCV(linear_svm, linear_svm_grid_parameters)","metadata":{"papermill":{"duration":0.124206,"end_time":"2022-06-28T18:28:38.446944","exception":false,"start_time":"2022-06-28T18:28:38.322738","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:07:35.018486Z","iopub.execute_input":"2022-07-26T08:07:35.018930Z","iopub.status.idle":"2022-07-26T08:07:35.097719Z","shell.execute_reply.started":"2022-07-26T08:07:35.018901Z","shell.execute_reply":"2022-07-26T08:07:35.096970Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"svm_grid_search.fit(X_train, y_train)\nprint(\"best parameters for SVM are:\",svm_grid_search.best_estimator_)\ny_pred_svm_grid = svm_grid_search.predict(X_test)","metadata":{"papermill":{"duration":38.326659,"end_time":"2022-06-28T18:29:16.792709","exception":false,"start_time":"2022-06-28T18:28:38.466050","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:07:35.098550Z","iopub.execute_input":"2022-07-26T08:07:35.098797Z","iopub.status.idle":"2022-07-26T08:08:07.803913Z","shell.execute_reply.started":"2022-07-26T08:07:35.098772Z","shell.execute_reply":"2022-07-26T08:08:07.803064Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"nu_svm_grid_search.fit(X_train, y_train)\nprint(\"best parameters for NuSVM are:\",nu_svm_grid_search.best_estimator_)\ny_pred_nu_svm_grid = nu_svm_grid_search.predict(X_test)","metadata":{"papermill":{"duration":6.160245,"end_time":"2022-06-28T18:29:22.974552","exception":false,"start_time":"2022-06-28T18:29:16.814307","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:08:07.805034Z","iopub.execute_input":"2022-07-26T08:08:07.805360Z","iopub.status.idle":"2022-07-26T08:08:12.198406Z","shell.execute_reply.started":"2022-07-26T08:08:07.805329Z","shell.execute_reply":"2022-07-26T08:08:12.197157Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import warnings\nwarnings.filterwarnings('ignore')\n\nlinear_svm_grid_search.fit(X_train, y_train)\nprint(\"best parameters for LinearSVM are:\",linear_svm_grid_search.best_estimator_)\ny_pred_linear_svm_grid = linear_svm_grid_search.predict(X_test)","metadata":{"papermill":{"duration":2.491312,"end_time":"2022-06-28T18:29:25.486113","exception":false,"start_time":"2022-06-28T18:29:22.994801","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:08:12.200255Z","iopub.execute_input":"2022-07-26T08:08:12.200608Z","iopub.status.idle":"2022-07-26T08:08:14.720186Z","shell.execute_reply.started":"2022-07-26T08:08:12.200574Z","shell.execute_reply":"2022-07-26T08:08:14.718923Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"metrics\"></a>\n# Metrics ","metadata":{"papermill":{"duration":0.020195,"end_time":"2022-06-28T18:29:25.527195","exception":false,"start_time":"2022-06-28T18:29:25.507000","status":"completed"},"tags":[]}},{"cell_type":"markdown","source":"## Accuracy","metadata":{"papermill":{"duration":0.019959,"end_time":"2022-06-28T18:29:25.567313","exception":false,"start_time":"2022-06-28T18:29:25.547354","status":"completed"},"tags":[]}},{"cell_type":"code","source":"print(f\"Accuracy Score (%) for:\\n\")\nprint(\"SVM: {} %\".format(round(accuracy_score(y_test, y_pred_svm_grid)*100,2)))\nprint(\"NuSVM: {} %\".format(round(accuracy_score(y_test, y_pred_nu_svm_grid)*100,2)))\nprint(\"LinearSVM: {} % \".format(round(accuracy_score(y_test, y_pred_linear_svm_grid)*100,2)))","metadata":{"papermill":{"duration":0.035135,"end_time":"2022-06-28T18:29:25.622298","exception":false,"start_time":"2022-06-28T18:29:25.587163","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:08:14.721340Z","iopub.execute_input":"2022-07-26T08:08:14.721627Z","iopub.status.idle":"2022-07-26T08:08:14.728107Z","shell.execute_reply.started":"2022-07-26T08:08:14.721604Z","shell.execute_reply":"2022-07-26T08:08:14.727215Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"NuSVM give the highest accuracy.","metadata":{"papermill":{"duration":0.019703,"end_time":"2022-06-28T18:29:25.662215","exception":false,"start_time":"2022-06-28T18:29:25.642512","status":"completed"},"tags":[]}},{"cell_type":"markdown","source":"## F1 score","metadata":{"papermill":{"duration":0.02061,"end_time":"2022-06-28T18:29:25.704116","exception":false,"start_time":"2022-06-28T18:29:25.683506","status":"completed"},"tags":[]}},{"cell_type":"code","source":"print(f\"f1-score for: \\n\")\nprint(\"SVM: {}\".format(round(f1_score(y_test, y_pred_svm_grid),2)))\nprint(\"NuSVM: {}\".format(round(f1_score(y_test, y_pred_nu_svm_grid),2)))\nprint(\"LinearSVM: {}\".format(round(f1_score(y_test, y_pred_linear_svm_grid),2)))","metadata":{"papermill":{"duration":0.038683,"end_time":"2022-06-28T18:29:25.763351","exception":false,"start_time":"2022-06-28T18:29:25.724668","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:08:14.732174Z","iopub.execute_input":"2022-07-26T08:08:14.732424Z","iopub.status.idle":"2022-07-26T08:08:14.743803Z","shell.execute_reply.started":"2022-07-26T08:08:14.732403Z","shell.execute_reply":"2022-07-26T08:08:14.742949Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"NuSVM f1-score is the highest.","metadata":{"papermill":{"duration":0.020157,"end_time":"2022-06-28T18:29:25.805313","exception":false,"start_time":"2022-06-28T18:29:25.785156","status":"completed"},"tags":[]}},{"cell_type":"markdown","source":"<a id=\"conclusion\"></a>\n# Conclusion ","metadata":{"papermill":{"duration":0.019565,"end_time":"2022-06-28T18:29:25.844616","exception":false,"start_time":"2022-06-28T18:29:25.825051","status":"completed"},"tags":[]}},{"cell_type":"markdown","source":"Model NuSVC with hypertuned parameters (nu=0.3, kernel='poly', gamma=1) gave highest accuracy (81.34%) and F1 score(0.73). So it is the most accurate model.","metadata":{"papermill":{"duration":0.019132,"end_time":"2022-06-28T18:29:25.883772","exception":false,"start_time":"2022-06-28T18:29:25.864640","status":"completed"},"tags":[]}},{"cell_type":"markdown","source":"<a id=\"predict\"></a>\n# Predictions test.csv for submitions \n\nHere I used selected model (NuSVC) to predict the test.csv and submit the prediction.\n\nI have comment out the output command but if you want to use it just uncomment it and it will generate the 'submission.csv' file in /kaggle/working directory.","metadata":{"papermill":{"duration":0.019293,"end_time":"2022-06-28T18:29:25.922423","exception":false,"start_time":"2022-06-28T18:29:25.903130","status":"completed"},"tags":[]}},{"cell_type":"code","source":"test = pd.read_csv('../input/titanic/test.csv')\ntest_data = test.copy()","metadata":{"papermill":{"duration":0.042177,"end_time":"2022-06-28T18:29:25.985393","exception":false,"start_time":"2022-06-28T18:29:25.943216","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:08:14.745121Z","iopub.execute_input":"2022-07-26T08:08:14.745344Z","iopub.status.idle":"2022-07-26T08:08:14.760554Z","shell.execute_reply.started":"2022-07-26T08:08:14.745322Z","shell.execute_reply":"2022-07-26T08:08:14.759479Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"test.head()","metadata":{"papermill":{"duration":0.044549,"end_time":"2022-06-28T18:29:26.050198","exception":false,"start_time":"2022-06-28T18:29:26.005649","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:08:14.761847Z","iopub.execute_input":"2022-07-26T08:08:14.762230Z","iopub.status.idle":"2022-07-26T08:08:14.775387Z","shell.execute_reply.started":"2022-07-26T08:08:14.762207Z","shell.execute_reply":"2022-07-26T08:08:14.774422Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"test.isnull().sum()","metadata":{"papermill":{"duration":0.039917,"end_time":"2022-06-28T18:29:26.111039","exception":false,"start_time":"2022-06-28T18:29:26.071122","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:08:14.776591Z","iopub.execute_input":"2022-07-26T08:08:14.777263Z","iopub.status.idle":"2022-07-26T08:08:14.787067Z","shell.execute_reply.started":"2022-07-26T08:08:14.777239Z","shell.execute_reply":"2022-07-26T08:08:14.786299Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Here it can be seen that with \"Age\", \"Fare\" also has missing value. So, we have to take care of that.\n\nIn this problem, we have access to test.csv but in other problem, we might not have access to test dataset so we have to consider that and build model according to that.","metadata":{"papermill":{"duration":0.022626,"end_time":"2022-06-28T18:29:26.156373","exception":false,"start_time":"2022-06-28T18:29:26.133747","status":"completed"},"tags":[]}},{"cell_type":"code","source":"test = test.drop(drop_list, axis=1)\ntest[\"Age\"].fillna(test[\"Age\"].median(), inplace=True)\ntest[\"Embarked\"].fillna(test[\"Embarked\"].mode(), inplace=True)\ntest[\"Fare\"].fillna(test[\"Fare\"].median(), inplace=True)\ntest = pd.get_dummies(test)\n\ntest_values = test.values\ntest_scaled = min_max_scaler.fit_transform(test_values)\ntest = pd.DataFrame(test_scaled)\ntest.columns = columns\n\ntest.head()","metadata":{"papermill":{"duration":0.064657,"end_time":"2022-06-28T18:29:26.243171","exception":false,"start_time":"2022-06-28T18:29:26.178514","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:08:14.788340Z","iopub.execute_input":"2022-07-26T08:08:14.789373Z","iopub.status.idle":"2022-07-26T08:08:14.817292Z","shell.execute_reply.started":"2022-07-26T08:08:14.789344Z","shell.execute_reply":"2022-07-26T08:08:14.816451Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"y_pred_nu_svm_grid_final = nu_svm_grid_search.predict(test)\ny_pred_nu_svm_grid_final","metadata":{"papermill":{"duration":0.040862,"end_time":"2022-06-28T18:29:26.304895","exception":false,"start_time":"2022-06-28T18:29:26.264033","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:08:14.818508Z","iopub.execute_input":"2022-07-26T08:08:14.818816Z","iopub.status.idle":"2022-07-26T08:08:14.829281Z","shell.execute_reply.started":"2022-07-26T08:08:14.818786Z","shell.execute_reply":"2022-07-26T08:08:14.828449Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"output = pd.DataFrame({'PassengerId': test_data.PassengerId, 'Survived': y_pred_nu_svm_grid_final})\nprint(output)\noutput.to_csv('./submission.csv', index=False)\nprint(\"Your submission was successfully saved!\")","metadata":{"papermill":{"duration":0.036776,"end_time":"2022-06-28T18:29:26.362948","exception":false,"start_time":"2022-06-28T18:29:26.326172","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2022-07-26T08:08:14.830550Z","iopub.execute_input":"2022-07-26T08:08:14.830937Z","iopub.status.idle":"2022-07-26T08:08:14.837831Z","shell.execute_reply.started":"2022-07-26T08:08:14.830913Z","shell.execute_reply":"2022-07-26T08:08:14.836888Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Please let me know if any mistakes are there and if you want me to add something.\n\nHappy Learning 😃","metadata":{"papermill":{"duration":0.020051,"end_time":"2022-06-28T18:29:26.403302","exception":false,"start_time":"2022-06-28T18:29:26.383251","status":"completed"},"tags":[]}}]}