{"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 numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\nimport seaborn as sns\nimport matplotlib.pyplot as plt\n\n# Input data files are available in the read-only \"../input/\" directory\n# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory\n\nimport os\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        print(os.path.join(dirname, filename))\n\n# You can write up to 20GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using \"Save & Run All\" \n# You can also write temporary files to /kaggle/temp/, but they won't be saved outside of the current session","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2022-08-08T11:07:04.161099Z","iopub.execute_input":"2022-08-08T11:07:04.161958Z","iopub.status.idle":"2022-08-08T11:07:05.320803Z","shell.execute_reply.started":"2022-08-08T11:07:04.161841Z","shell.execute_reply":"2022-08-08T11:07:05.319402Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Load Trainning DataSet","metadata":{}},{"cell_type":"code","source":"train_dataset = pd.read_csv(\"/kaggle/input/titanic/train.csv\")\ntrain_dataset.head()","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:07:10.312282Z","iopub.execute_input":"2022-08-08T11:07:10.312680Z","iopub.status.idle":"2022-08-08T11:07:10.353413Z","shell.execute_reply.started":"2022-08-08T11:07:10.312648Z","shell.execute_reply":"2022-08-08T11:07:10.352203Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_dataset.info()","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:07:16.702223Z","iopub.execute_input":"2022-08-08T11:07:16.702619Z","iopub.status.idle":"2022-08-08T11:07:16.730155Z","shell.execute_reply.started":"2022-08-08T11:07:16.702587Z","shell.execute_reply":"2022-08-08T11:07:16.728897Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_dataset.describe()","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:07:22.702054Z","iopub.execute_input":"2022-08-08T11:07:22.702848Z","iopub.status.idle":"2022-08-08T11:07:22.738491Z","shell.execute_reply.started":"2022-08-08T11:07:22.702785Z","shell.execute_reply":"2022-08-08T11:07:22.737259Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Explore a Pattern","metadata":{}},{"cell_type":"markdown","source":"Visualizing Gender","metadata":{}},{"cell_type":"code","source":"sns.countplot(x = 'Sex', data = train_dataset)","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:07:28.294095Z","iopub.execute_input":"2022-08-08T11:07:28.294495Z","iopub.status.idle":"2022-08-08T11:07:28.456462Z","shell.execute_reply.started":"2022-08-08T11:07:28.294461Z","shell.execute_reply":"2022-08-08T11:07:28.454795Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Visualizing Survivals","metadata":{}},{"cell_type":"code","source":"sns.countplot(x = 'Survived',data = train_dataset)","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:07:32.200904Z","iopub.execute_input":"2022-08-08T11:07:32.201372Z","iopub.status.idle":"2022-08-08T11:07:32.355245Z","shell.execute_reply.started":"2022-08-08T11:07:32.201332Z","shell.execute_reply":"2022-08-08T11:07:32.353685Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Visualizing survival based on the Pclass","metadata":{}},{"cell_type":"code","source":"sns.countplot(x = 'Survived',hue = 'Pclass', data = train_dataset)","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:07:36.251046Z","iopub.execute_input":"2022-08-08T11:07:36.252236Z","iopub.status.idle":"2022-08-08T11:07:36.453638Z","shell.execute_reply.started":"2022-08-08T11:07:36.252183Z","shell.execute_reply":"2022-08-08T11:07:36.452717Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Visualizing survival based on the Sex","metadata":{}},{"cell_type":"code","source":"sns.countplot(x = 'Survived',hue = 'Sex', data = train_dataset)","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:07:53.852611Z","iopub.execute_input":"2022-08-08T11:07:53.853033Z","iopub.status.idle":"2022-08-08T11:07:53.988906Z","shell.execute_reply.started":"2022-08-08T11:07:53.852999Z","shell.execute_reply":"2022-08-08T11:07:53.987652Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"women = train_dataset.loc[train_dataset.Sex == 'female'][\"Survived\"]\nprint(\"% of women who survived:\", sum(women)/len(women))\n\nmen = train_dataset.loc[train_dataset.Sex == 'male'][\"Survived\"]\nprint(\"% of men who survived:\", sum(men)/len(men))","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:07:57.311068Z","iopub.execute_input":"2022-08-08T11:07:57.312154Z","iopub.status.idle":"2022-08-08T11:07:57.321643Z","shell.execute_reply.started":"2022-08-08T11:07:57.312114Z","shell.execute_reply":"2022-08-08T11:07:57.320455Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"In our training data set almost 75% of the women on board survived, whereas only 19% of the men lived.","metadata":{}},{"cell_type":"markdown","source":"Visualizing survival based on the Embarked","metadata":{}},{"cell_type":"code","source":"sns.countplot(x = 'Survived',hue = 'Embarked', data = train_dataset)","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:08:00.800633Z","iopub.execute_input":"2022-08-08T11:08:00.801089Z","iopub.status.idle":"2022-08-08T11:08:01.009680Z","shell.execute_reply.started":"2022-08-08T11:08:00.801052Z","shell.execute_reply":"2022-08-08T11:08:01.008430Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Check null values","metadata":{}},{"cell_type":"code","source":"np.array(train_dataset.isnull().sum())","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:08:04.082914Z","iopub.execute_input":"2022-08-08T11:08:04.083553Z","iopub.status.idle":"2022-08-08T11:08:04.093404Z","shell.execute_reply.started":"2022-08-08T11:08:04.083507Z","shell.execute_reply":"2022-08-08T11:08:04.092197Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sns.heatmap(train_dataset.isnull(),yticklabels = False,cbar = False)","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:08:06.861375Z","iopub.execute_input":"2022-08-08T11:08:06.862135Z","iopub.status.idle":"2022-08-08T11:08:07.053039Z","shell.execute_reply.started":"2022-08-08T11:08:06.862085Z","shell.execute_reply":"2022-08-08T11:08:07.052110Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Drop unuseful columns","metadata":{}},{"cell_type":"code","source":"train_dataset = train_dataset.drop(['Cabin','PassengerId','Name','Ticket'], axis=1)","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:08:10.391212Z","iopub.execute_input":"2022-08-08T11:08:10.391805Z","iopub.status.idle":"2022-08-08T11:08:10.397740Z","shell.execute_reply.started":"2022-08-08T11:08:10.391771Z","shell.execute_reply":"2022-08-08T11:08:10.396721Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Fill null values","metadata":{}},{"cell_type":"code","source":"train_dataset['Age'] = train_dataset['Age'].fillna(train_dataset['Age'].mean())\ntrain_dataset['Embarked'] = train_dataset['Embarked'].fillna(train_dataset['Embarked'].mode()[0])","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:08:14.041180Z","iopub.execute_input":"2022-08-08T11:08:14.041918Z","iopub.status.idle":"2022-08-08T11:08:14.049948Z","shell.execute_reply.started":"2022-08-08T11:08:14.041866Z","shell.execute_reply":"2022-08-08T11:08:14.048888Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Check again null values","metadata":{}},{"cell_type":"code","source":"sns.heatmap(train_dataset.isnull(),yticklabels = False,cbar = False)","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:08:17.442181Z","iopub.execute_input":"2022-08-08T11:08:17.442934Z","iopub.status.idle":"2022-08-08T11:08:17.591735Z","shell.execute_reply.started":"2022-08-08T11:08:17.442887Z","shell.execute_reply":"2022-08-08T11:08:17.590834Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Replace categorical variable to a number","metadata":{}},{"cell_type":"code","source":"train_dataset.Sex.replace('male', 0, inplace=True)\ntrain_dataset.Sex.replace('female', 1, inplace=True)\n\ntrain_dataset.Embarked.replace('S', 0, inplace=True)\ntrain_dataset.Embarked.replace('C', 1, inplace=True)\ntrain_dataset.Embarked.replace('Q', 2, inplace=True)","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:08:21.191054Z","iopub.execute_input":"2022-08-08T11:08:21.192067Z","iopub.status.idle":"2022-08-08T11:08:21.201382Z","shell.execute_reply.started":"2022-08-08T11:08:21.192027Z","shell.execute_reply":"2022-08-08T11:08:21.200327Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_dataset.head()","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:08:24.171658Z","iopub.execute_input":"2022-08-08T11:08:24.172856Z","iopub.status.idle":"2022-08-08T11:08:24.187547Z","shell.execute_reply.started":"2022-08-08T11:08:24.172786Z","shell.execute_reply":"2022-08-08T11:08:24.186283Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Load Testing DataSet","metadata":{}},{"cell_type":"code","source":"test_dataset = pd.read_csv(\"/kaggle/input/titanic/test.csv\")\ntest_dataset.head()","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:08:27.651398Z","iopub.execute_input":"2022-08-08T11:08:27.651786Z","iopub.status.idle":"2022-08-08T11:08:27.676952Z","shell.execute_reply.started":"2022-08-08T11:08:27.651755Z","shell.execute_reply":"2022-08-08T11:08:27.675646Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"test_dataset.info()","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:08:30.831411Z","iopub.execute_input":"2022-08-08T11:08:30.831825Z","iopub.status.idle":"2022-08-08T11:08:30.846612Z","shell.execute_reply.started":"2022-08-08T11:08:30.831778Z","shell.execute_reply":"2022-08-08T11:08:30.845293Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Check null values","metadata":{}},{"cell_type":"code","source":"np.array(test_dataset.isnull().sum())","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:08:34.051419Z","iopub.execute_input":"2022-08-08T11:08:34.052310Z","iopub.status.idle":"2022-08-08T11:08:34.061159Z","shell.execute_reply.started":"2022-08-08T11:08:34.052267Z","shell.execute_reply":"2022-08-08T11:08:34.060048Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sns.heatmap(test_dataset.isnull(),yticklabels = False,cbar = False)","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:08:36.904123Z","iopub.execute_input":"2022-08-08T11:08:36.904602Z","iopub.status.idle":"2022-08-08T11:08:37.088446Z","shell.execute_reply.started":"2022-08-08T11:08:36.904560Z","shell.execute_reply":"2022-08-08T11:08:37.087489Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Drop unuseful columns","metadata":{}},{"cell_type":"code","source":"test_dataset = test_dataset.drop(['Cabin','Name','PassengerId','Ticket'], axis=1)","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:08:40.720962Z","iopub.execute_input":"2022-08-08T11:08:40.721379Z","iopub.status.idle":"2022-08-08T11:08:40.727950Z","shell.execute_reply.started":"2022-08-08T11:08:40.721348Z","shell.execute_reply":"2022-08-08T11:08:40.727082Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Fill null values","metadata":{}},{"cell_type":"code","source":"test_dataset['Age'] = test_dataset['Age'].fillna(test_dataset['Age'].mean())\ntest_dataset['Fare'] = test_dataset['Fare'].fillna(test_dataset['Fare'].mean())","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:08:43.602256Z","iopub.execute_input":"2022-08-08T11:08:43.602636Z","iopub.status.idle":"2022-08-08T11:08:43.609784Z","shell.execute_reply.started":"2022-08-08T11:08:43.602604Z","shell.execute_reply":"2022-08-08T11:08:43.608857Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Check again null values","metadata":{}},{"cell_type":"code","source":"sns.heatmap(test_dataset.isnull(),yticklabels = False,cbar = False)","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:08:46.241425Z","iopub.execute_input":"2022-08-08T11:08:46.242636Z","iopub.status.idle":"2022-08-08T11:08:46.340394Z","shell.execute_reply.started":"2022-08-08T11:08:46.242593Z","shell.execute_reply":"2022-08-08T11:08:46.338064Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Replace categorical variable to a number","metadata":{}},{"cell_type":"code","source":"test_dataset.Sex.replace('male', 0, inplace=True)\ntest_dataset.Sex.replace('female', 1, inplace=True)\n\ntest_dataset.Embarked.replace('S', 0, inplace=True)\ntest_dataset.Embarked.replace('C', 1, inplace=True)\ntest_dataset.Embarked.replace('Q', 2, inplace=True)","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:08:49.351753Z","iopub.execute_input":"2022-08-08T11:08:49.352445Z","iopub.status.idle":"2022-08-08T11:08:49.362591Z","shell.execute_reply.started":"2022-08-08T11:08:49.352399Z","shell.execute_reply":"2022-08-08T11:08:49.361368Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"test_dataset.head()","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:08:52.241104Z","iopub.execute_input":"2022-08-08T11:08:52.242134Z","iopub.status.idle":"2022-08-08T11:08:52.256034Z","shell.execute_reply.started":"2022-08-08T11:08:52.242096Z","shell.execute_reply":"2022-08-08T11:08:52.254847Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Train Model","metadata":{}},{"cell_type":"code","source":"from sklearn.ensemble import RandomForestClassifier\n\ny = train_dataset[\"Survived\"]\n\nfeatures = [\"Pclass\", \"Sex\", \"SibSp\", \"Parch\", \"Age\", \"Fare\", \"Embarked\"]\nX = pd.get_dummies(train_dataset[features])\nX_test = pd.get_dummies(test_dataset[features])\n\nmodel = RandomForestClassifier(n_estimators=100, max_depth=5, random_state=1)\nmodel.fit(X, y)","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:08:57.281368Z","iopub.execute_input":"2022-08-08T11:08:57.281750Z","iopub.status.idle":"2022-08-08T11:08:57.899199Z","shell.execute_reply.started":"2022-08-08T11:08:57.281719Z","shell.execute_reply":"2022-08-08T11:08:57.897979Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Make Prediction","metadata":{}},{"cell_type":"code","source":"predictions = model.predict(X_test)\npredictions","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:09:03.160830Z","iopub.execute_input":"2022-08-08T11:09:03.162020Z","iopub.status.idle":"2022-08-08T11:09:03.192443Z","shell.execute_reply.started":"2022-08-08T11:09:03.161979Z","shell.execute_reply":"2022-08-08T11:09:03.191042Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Output","metadata":{}},{"cell_type":"code","source":"getSample = pd.read_csv('/kaggle/input/titanic/gender_submission.csv')\noutput = pd.DataFrame({'PassengerId': getSample.PassengerId, 'Survived': predictions})\noutput.to_csv('submission.csv', index=False)","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:09:19.691781Z","iopub.execute_input":"2022-08-08T11:09:19.692198Z","iopub.status.idle":"2022-08-08T11:09:19.707142Z","shell.execute_reply.started":"2022-08-08T11:09:19.692165Z","shell.execute_reply":"2022-08-08T11:09:19.705903Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sns.countplot(x = 'Survived',data = output)","metadata":{"execution":{"iopub.status.busy":"2022-08-08T11:09:33.171875Z","iopub.execute_input":"2022-08-08T11:09:33.172253Z","iopub.status.idle":"2022-08-08T11:09:33.327378Z","shell.execute_reply.started":"2022-08-08T11:09:33.172223Z","shell.execute_reply":"2022-08-08T11:09:33.326487Z"},"trusted":true},"execution_count":null,"outputs":[]}]}