{"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":"code","source":"import tensorflow as tf\nimport pandas as pd\nimport numpy as np\nimport matplotlib.pyplot as plt","metadata":{"execution":{"iopub.status.busy":"2022-07-05T03:07:47.009148Z","iopub.execute_input":"2022-07-05T03:07:47.009925Z","iopub.status.idle":"2022-07-05T03:07:56.858630Z","shell.execute_reply.started":"2022-07-05T03:07:47.009824Z","shell.execute_reply":"2022-07-05T03:07:56.857535Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import os\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        print(os.path.join(dirname, filename))","metadata":{"execution":{"iopub.status.busy":"2022-07-05T03:08:14.795773Z","iopub.execute_input":"2022-07-05T03:08:14.796438Z","iopub.status.idle":"2022-07-05T03:08:14.804171Z","shell.execute_reply.started":"2022-07-05T03:08:14.796403Z","shell.execute_reply":"2022-07-05T03:08:14.802706Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"trainData = pd.read_csv(\"/kaggle/input/titanic/train.csv\")","metadata":{"execution":{"iopub.status.busy":"2022-07-05T03:08:18.446659Z","iopub.execute_input":"2022-07-05T03:08:18.447532Z","iopub.status.idle":"2022-07-05T03:08:18.472706Z","shell.execute_reply.started":"2022-07-05T03:08:18.447472Z","shell.execute_reply":"2022-07-05T03:08:18.471641Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"trainData.head()","metadata":{"execution":{"iopub.status.busy":"2022-07-05T03:08:22.255453Z","iopub.execute_input":"2022-07-05T03:08:22.256230Z","iopub.status.idle":"2022-07-05T03:08:22.286217Z","shell.execute_reply.started":"2022-07-05T03:08:22.256192Z","shell.execute_reply":"2022-07-05T03:08:22.285317Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### Replacing strings with numbers","metadata":{}},{"cell_type":"code","source":"trainData.Sex.unique(), ","metadata":{"execution":{"iopub.status.busy":"2022-07-05T03:08:25.527551Z","iopub.execute_input":"2022-07-05T03:08:25.527957Z","iopub.status.idle":"2022-07-05T03:08:25.543443Z","shell.execute_reply.started":"2022-07-05T03:08:25.527924Z","shell.execute_reply":"2022-07-05T03:08:25.542600Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sexDict = {'male': 0, 'female': 1}\nembarkedDict = {'S': 1, 'C': 2, 'Q': 3}\ntrainData.Sex = [sexDict[item] for item in trainData.Sex]\ntrainData.head()","metadata":{"execution":{"iopub.status.busy":"2022-07-05T03:08:29.456665Z","iopub.execute_input":"2022-07-05T03:08:29.457076Z","iopub.status.idle":"2022-07-05T03:08:29.477701Z","shell.execute_reply.started":"2022-07-05T03:08:29.457044Z","shell.execute_reply":"2022-07-05T03:08:29.476564Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### Checking correlation between variables","metadata":{}},{"cell_type":"code","source":"data = {'PassengerId' :trainData['Survived'].corr(trainData['PassengerId']),\n'Pclass' :trainData['Survived'].corr(trainData['Pclass']),\n'Sex' :trainData['Survived'].corr(trainData['Sex']),\n'Age' :trainData['Survived'].corr(trainData['Age']),\n'SibSp' :trainData['Survived'].corr(trainData['SibSp']),\n'Parch' :trainData['Survived'].corr(trainData['Parch']),\n'Fare' :trainData['Survived'].corr(trainData['Fare'])}\n\nfig = plt.figure(figsize = (10, 5))\nplt.bar(list(data.keys()), list(data.values()), color ='orange', width = 0.4)\nplt.xlabel('Variable')\nplt.ylabel('Correlation coefficient')\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2022-07-05T03:08:33.196507Z","iopub.execute_input":"2022-07-05T03:08:33.197215Z","iopub.status.idle":"2022-07-05T03:08:33.429269Z","shell.execute_reply.started":"2022-07-05T03:08:33.197174Z","shell.execute_reply":"2022-07-05T03:08:33.428060Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### The labels having significant correlation are:\n* Pclass\n* Sex\n* Fare","metadata":{}},{"cell_type":"markdown","source":"### Dropping unnecessary columns","metadata":{}},{"cell_type":"code","source":"trainData = trainData.drop(columns=['Name', 'Age', 'SibSp', 'Parch', 'Ticket', 'Cabin', 'Embarked'], axis=1)\ntrainData.set_index('PassengerId')\ntrainData.head()","metadata":{"execution":{"iopub.status.busy":"2022-07-05T03:08:37.345091Z","iopub.execute_input":"2022-07-05T03:08:37.345471Z","iopub.status.idle":"2022-07-05T03:08:37.367995Z","shell.execute_reply.started":"2022-07-05T03:08:37.345442Z","shell.execute_reply":"2022-07-05T03:08:37.366472Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### Creating the data","metadata":{}},{"cell_type":"code","source":"yTrain = trainData.Survived.to_numpy()\ntrainData = trainData.drop(columns=['Survived', 'PassengerId'])\nxTrain = trainData.to_numpy()\n(xTrain.shape, yTrain.shape)","metadata":{"execution":{"iopub.status.busy":"2022-07-05T03:08:40.820042Z","iopub.execute_input":"2022-07-05T03:08:40.820420Z","iopub.status.idle":"2022-07-05T03:08:40.831257Z","shell.execute_reply.started":"2022-07-05T03:08:40.820390Z","shell.execute_reply":"2022-07-05T03:08:40.830006Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"(xTrain[0], yTrain[0])","metadata":{"execution":{"iopub.status.busy":"2022-07-05T03:08:43.524366Z","iopub.execute_input":"2022-07-05T03:08:43.524841Z","iopub.status.idle":"2022-07-05T03:08:43.532333Z","shell.execute_reply.started":"2022-07-05T03:08:43.524802Z","shell.execute_reply":"2022-07-05T03:08:43.531252Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### Creating the model","metadata":{}},{"cell_type":"code","source":"model = tf.keras.Sequential()\nmodel.add(tf.keras.layers.Dense(64, input_dim=len(xTrain[0, :]), activation='sigmoid'))\nmodel.add(tf.keras.layers.Dropout(0.3))\nmodel.add(tf.keras.layers.Dense(32, activation='sigmoid'))\nmodel.add(tf.keras.layers.Dense(1, activation='sigmoid'))\n\nmodel.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])","metadata":{"execution":{"iopub.status.busy":"2022-07-05T03:08:46.290581Z","iopub.execute_input":"2022-07-05T03:08:46.291109Z","iopub.status.idle":"2022-07-05T03:08:47.995574Z","shell.execute_reply.started":"2022-07-05T03:08:46.291070Z","shell.execute_reply":"2022-07-05T03:08:47.993386Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model.fit(xTrain, yTrain, epochs=256, shuffle=True, verbose=0)","metadata":{"execution":{"iopub.status.busy":"2022-07-05T03:09:53.583426Z","iopub.execute_input":"2022-07-05T03:09:53.583840Z","iopub.status.idle":"2022-07-05T03:10:14.112665Z","shell.execute_reply.started":"2022-07-05T03:09:53.583804Z","shell.execute_reply":"2022-07-05T03:10:14.111301Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Predicting for the testing dataset","metadata":{}},{"cell_type":"code","source":"testData = pd.read_csv(\"/kaggle/input/titanic/test.csv\")\ntestData.head()","metadata":{"execution":{"iopub.status.busy":"2022-07-05T03:10:57.354677Z","iopub.execute_input":"2022-07-05T03:10:57.355595Z","iopub.status.idle":"2022-07-05T03:10:57.381568Z","shell.execute_reply.started":"2022-07-05T03:10:57.355551Z","shell.execute_reply":"2022-07-05T03:10:57.380421Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### Preprocessing","metadata":{}},{"cell_type":"code","source":"testData.Sex = [sexDict[item] for item in testData.Sex]\ntestData.set_index('PassengerId')\ntestData = testData.drop(columns=['Name', 'Age', 'SibSp', 'Parch', 'Ticket', 'Cabin', 'Embarked'], axis=1)\ntestData.head()","metadata":{"execution":{"iopub.status.busy":"2022-07-05T03:11:00.263777Z","iopub.execute_input":"2022-07-05T03:11:00.264190Z","iopub.status.idle":"2022-07-05T03:11:00.280917Z","shell.execute_reply.started":"2022-07-05T03:11:00.264156Z","shell.execute_reply":"2022-07-05T03:11:00.279574Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submissionCol1 = testData.PassengerId","metadata":{"execution":{"iopub.status.busy":"2022-07-05T03:11:06.564775Z","iopub.execute_input":"2022-07-05T03:11:06.565160Z","iopub.status.idle":"2022-07-05T03:11:06.569647Z","shell.execute_reply.started":"2022-07-05T03:11:06.565130Z","shell.execute_reply":"2022-07-05T03:11:06.568800Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"testData = testData.drop(columns=['PassengerId'])\nxTest = testData.to_numpy()\nxTest.shape","metadata":{"execution":{"iopub.status.busy":"2022-07-05T03:11:09.696879Z","iopub.execute_input":"2022-07-05T03:11:09.697273Z","iopub.status.idle":"2022-07-05T03:11:09.705798Z","shell.execute_reply.started":"2022-07-05T03:11:09.697241Z","shell.execute_reply":"2022-07-05T03:11:09.704680Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"preds = model.predict(xTest)","metadata":{"execution":{"iopub.status.busy":"2022-07-05T03:11:18.464679Z","iopub.execute_input":"2022-07-05T03:11:18.465054Z","iopub.status.idle":"2022-07-05T03:11:18.586673Z","shell.execute_reply.started":"2022-07-05T03:11:18.465025Z","shell.execute_reply":"2022-07-05T03:11:18.585789Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"preds = preds.reshape(418)\nfor i in range(len(preds)):\n    if preds[i]>0.5:\n        preds[i] = 1\n    else:\n        preds[i] = 0\n\nsubmission = pd.DataFrame({'PassengerId': submissionCol1.to_numpy(), 'Survived': preds})\nsubmission.Survived = submission.Survived.astype(int)\nsubmission.set_index('PassengerId')","metadata":{"execution":{"iopub.status.busy":"2022-07-05T03:11:22.514151Z","iopub.execute_input":"2022-07-05T03:11:22.514513Z","iopub.status.idle":"2022-07-05T03:11:22.531686Z","shell.execute_reply.started":"2022-07-05T03:11:22.514485Z","shell.execute_reply":"2022-07-05T03:11:22.530751Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission.to_csv('submission.csv', index=False)\nprint(\"Submitted!\")","metadata":{"execution":{"iopub.status.busy":"2022-07-05T03:12:46.806779Z","iopub.execute_input":"2022-07-05T03:12:46.807889Z","iopub.status.idle":"2022-07-05T03:12:46.817670Z","shell.execute_reply.started":"2022-07-05T03:12:46.807840Z","shell.execute_reply":"2022-07-05T03:12:46.816521Z"},"trusted":true},"execution_count":null,"outputs":[]}]}