{"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":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load\n\nimport 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\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","_kg_hide-input":true,"_kg_hide-output":true,"execution":{"iopub.status.busy":"2022-02-15T17:53:38.213738Z","iopub.execute_input":"2022-02-15T17:53:38.214865Z","iopub.status.idle":"2022-02-15T17:53:38.233418Z","shell.execute_reply.started":"2022-02-15T17:53:38.214749Z","shell.execute_reply":"2022-02-15T17:53:38.232413Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from IPython.display import Image\nimport os\n\nImage('/kaggle/input/titanic-pic/titanic.jpg')","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-02-15T17:53:38.234519Z","iopub.execute_input":"2022-02-15T17:53:38.234763Z","iopub.status.idle":"2022-02-15T17:53:38.257525Z","shell.execute_reply.started":"2022-02-15T17:53:38.234734Z","shell.execute_reply":"2022-02-15T17:53:38.256708Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Importing the required data**","metadata":{}},{"cell_type":"code","source":"train_data = pd.read_csv(\"/kaggle/input/titanic/train.csv\")\ntrain_data.head()","metadata":{"execution":{"iopub.status.busy":"2022-02-15T17:53:38.258436Z","iopub.execute_input":"2022-02-15T17:53:38.258693Z","iopub.status.idle":"2022-02-15T17:53:38.286316Z","shell.execute_reply.started":"2022-02-15T17:53:38.258666Z","shell.execute_reply":"2022-02-15T17:53:38.285415Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"test_data = pd.read_csv(\"/kaggle/input/titanic/test.csv\")\ntest_data.head()","metadata":{"execution":{"iopub.status.busy":"2022-02-15T17:53:38.2882Z","iopub.execute_input":"2022-02-15T17:53:38.288703Z","iopub.status.idle":"2022-02-15T17:53:38.309172Z","shell.execute_reply.started":"2022-02-15T17:53:38.288659Z","shell.execute_reply":"2022-02-15T17:53:38.308008Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Explore a pattern**\n The sample submission file in gender_submission.csv assumes that all female passengers survived (and all male passengers died).","metadata":{}},{"cell_type":"code","source":"train_data['Survived'].value_counts(normalize=True)","metadata":{"execution":{"iopub.status.busy":"2022-02-15T17:53:38.310254Z","iopub.execute_input":"2022-02-15T17:53:38.310484Z","iopub.status.idle":"2022-02-15T17:53:38.319874Z","shell.execute_reply.started":"2022-02-15T17:53:38.310456Z","shell.execute_reply":"2022-02-15T17:53:38.318894Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sns.countplot(train_data['Survived'])","metadata":{"execution":{"iopub.status.busy":"2022-02-15T17:53:38.321125Z","iopub.execute_input":"2022-02-15T17:53:38.321403Z","iopub.status.idle":"2022-02-15T17:53:38.993707Z","shell.execute_reply.started":"2022-02-15T17:53:38.321372Z","shell.execute_reply":"2022-02-15T17:53:38.992847Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"We can observe that 62% of the people in the training set died. This is slightly less than the estimated 67% that died in the actual shipwreck (1500/2224).","metadata":{}},{"cell_type":"markdown","source":"**Calculating the percentage of female passengers (in train.csv) who survived.**","metadata":{}},{"cell_type":"code","source":"women = train_data.loc[train_data.Sex == 'female'][\"Survived\"]\nrate_women = sum(women)/len(women)\n\nprint(\"% of women who survived:\", rate_women)","metadata":{"execution":{"iopub.status.busy":"2022-02-15T17:53:38.994869Z","iopub.execute_input":"2022-02-15T17:53:38.995089Z","iopub.status.idle":"2022-02-15T17:53:39.00204Z","shell.execute_reply.started":"2022-02-15T17:53:38.995062Z","shell.execute_reply":"2022-02-15T17:53:39.001173Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":" **Calculating the percentage of male passengers (in train.csv) who survived.**","metadata":{}},{"cell_type":"code","source":"men = train_data.loc[train_data.Sex == 'male'][\"Survived\"]\nrate_men = sum(men)/len(men)\n\nprint(\"% of men who survived:\", rate_men)","metadata":{"execution":{"iopub.status.busy":"2022-02-15T17:53:39.003484Z","iopub.execute_input":"2022-02-15T17:53:39.003974Z","iopub.status.idle":"2022-02-15T17:53:39.018228Z","shell.execute_reply.started":"2022-02-15T17:53:39.003931Z","shell.execute_reply":"2022-02-15T17:53:39.017307Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":" **Almost 75% of the women on board survived, whereas only 19% of the men lived.**","metadata":{}},{"cell_type":"markdown","source":"**Algorithm used : Random Forest**\n\nA random forest is a supervised algorithm that uses an ensemble learning method consisting of a multitude of decision trees, the output of which is the consensus of the best answer to the problem. Random Forest can be used for classification or regression.","metadata":{}},{"cell_type":"code","source":"from sklearn.ensemble import RandomForestClassifier\n\ny = train_data[\"Survived\"]\n\nfeatures = [\"Pclass\", \"Sex\", \"SibSp\", \"Parch\"]\nX = pd.get_dummies(train_data[features])\nX_test = pd.get_dummies(test_data[features])\n\nmodel = RandomForestClassifier(n_estimators=100, max_depth=5, random_state=1)\nmodel.fit(X, y)\npredictions = model.predict(X_test)\n\noutput = pd.DataFrame({'PassengerId': test_data.PassengerId, 'Survived': predictions})\noutput.to_csv('submission.csv', index=False)\nprint(\"Successfully Saved!\")","metadata":{"execution":{"iopub.status.busy":"2022-02-15T17:53:39.020312Z","iopub.execute_input":"2022-02-15T17:53:39.021011Z","iopub.status.idle":"2022-02-15T17:53:39.362351Z","shell.execute_reply.started":"2022-02-15T17:53:39.020975Z","shell.execute_reply":"2022-02-15T17:53:39.361595Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**According to Abraham Lincoln, \" Next to creating life the finest thing a man can do is save one \"**\n\nHence, in this notebook we have successfully built a predictive model for the survival of passengers in titanic using Random Forest model.","metadata":{}},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}