{"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\nimport pandas as pd\nimport matplotlib.pyplot as plt\nimport seaborn as sns\nfrom sklearn.ensemble import RandomForestClassifier\n\nimport os\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        print(os.path.join(dirname, filename))\n      \nRANDOM_SEED = 69","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2022-07-05T08:21:37.629161Z","iopub.execute_input":"2022-07-05T08:21:37.630143Z","iopub.status.idle":"2022-07-05T08:21:37.643638Z","shell.execute_reply.started":"2022-07-05T08:21:37.63009Z","shell.execute_reply":"2022-07-05T08:21:37.641532Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_data = pd.read_csv(\"/kaggle/input/titanic/train.csv\")\ntrain_data.drop('Cabin', inplace=True, axis=1)\ntrain_data.drop('Embarked', inplace=True, axis=1)\ntrain_data.drop('Ticket', inplace=True, axis=1)\ntrain_data.drop('Name', inplace=True, axis=1)\n#train_data.drop('Age', inplace=True, axis=1)\ntrain_data.drop('Fare', inplace=True, axis=1)\n\ndf_numeric = train_data.select_dtypes(include=[np.number])\nnumeric_cols = df_numeric.columns.values\nfor col in numeric_cols:\n    missing = train_data[col].isnull()\n    num_missing = np.sum(missing)\n    \n    if num_missing > 0:\n        print('imputing missing values for: {}'.format(col))\n        med = train_data[col].median()\n        train_data[col] = train_data[col].fillna(med)\n\ntrain_data.head()","metadata":{"execution":{"iopub.status.busy":"2022-07-05T08:21:37.664817Z","iopub.execute_input":"2022-07-05T08:21:37.665212Z","iopub.status.idle":"2022-07-05T08:21:37.703301Z","shell.execute_reply.started":"2022-07-05T08:21:37.665181Z","shell.execute_reply":"2022-07-05T08:21:37.701849Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"test_data = pd.read_csv(\"/kaggle/input/titanic/test.csv\")\ntest_data.drop('Cabin', inplace=True, axis=1)\ntest_data.drop('Embarked', inplace=True, axis=1)\ntest_data.drop('Ticket', inplace=True, axis=1)\ntest_data.drop('Name', inplace=True, axis=1)\n#test_data.drop('Age', inplace=True, axis=1)\ntest_data.drop('Fare', inplace=True, axis=1)\ndf_numeric = test_data.select_dtypes(include=[np.number])\nnumeric_cols = df_numeric.columns.values\nfor col in numeric_cols:\n    missing = test_data[col].isnull()\n    num_missing = np.sum(missing)\n    \n    if num_missing > 0:\n        print('imputing missing values for: {}'.format(col))\n        med = test_data[col].median()\n        test_data[col] = test_data[col].fillna(med)\n\ntest_data.head()","metadata":{"execution":{"iopub.status.busy":"2022-07-05T08:21:37.70621Z","iopub.execute_input":"2022-07-05T08:21:37.706604Z","iopub.status.idle":"2022-07-05T08:21:37.745408Z","shell.execute_reply.started":"2022-07-05T08:21:37.706572Z","shell.execute_reply":"2022-07-05T08:21:37.743343Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"fig, axes = plt.subplots(figsize=(10, 8))\n\nhistplot1 = sns.histplot(\n    data = train_data, \n    x = 'Sex',\n)\nhistplot1.set_title('Distribution of passangers sex', fontsize=16)\nhistplot1.set_xlabel('Sex')\nhistplot1.set_ylabel('Passangers count')","metadata":{"execution":{"iopub.status.busy":"2022-07-05T08:21:37.74904Z","iopub.execute_input":"2022-07-05T08:21:37.7496Z","iopub.status.idle":"2022-07-05T08:21:37.97064Z","shell.execute_reply.started":"2022-07-05T08:21:37.74955Z","shell.execute_reply":"2022-07-05T08:21:37.968546Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"passangers = train_data['Parch'].value_counts()\nfig = plt.figure(figsize=(5, 5))\naxes = fig.add_axes([0, 0, 1, 1])\naxes.pie(\n    passangers,\n     labels = passangers.index\n)\naxes.legend(passangers,\n            title = 'passangers',\n            loc = 'center left',\n            bbox_to_anchor=(1, 0,3, 1.5))\n\naxes.set_title('Distribution of passenger parch')","metadata":{"execution":{"iopub.status.busy":"2022-07-05T08:21:37.972831Z","iopub.execute_input":"2022-07-05T08:21:37.973173Z","iopub.status.idle":"2022-07-05T08:21:38.183793Z","shell.execute_reply.started":"2022-07-05T08:21:37.973143Z","shell.execute_reply":"2022-07-05T08:21:38.182318Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"y = train_data[\"Survived\"]\nfeatures = [\"Pclass\", \"Sex\", \"SibSp\", \"Parch\", \"Age\"]\nX = pd.get_dummies(train_data[features])\nX_test = pd.get_dummies(test_data[features])\nX.head()","metadata":{"execution":{"iopub.status.busy":"2022-07-05T08:21:38.185672Z","iopub.execute_input":"2022-07-05T08:21:38.186686Z","iopub.status.idle":"2022-07-05T08:21:38.227462Z","shell.execute_reply.started":"2022-07-05T08:21:38.186624Z","shell.execute_reply":"2022-07-05T08:21:38.226582Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model = RandomForestClassifier(n_estimators=100, random_state=RANDOM_SEED)\nmodel.fit(X, y)\npredictions = model.predict(X_test)\noutput = pd.DataFrame({'PassengerId': test_data.PassengerId, 'Survived': predictions})\noutput.to_csv('submission.csv', index=False)\nprint(\"Your submission was successfully saved!\")","metadata":{"execution":{"iopub.status.busy":"2022-07-05T08:21:38.229291Z","iopub.execute_input":"2022-07-05T08:21:38.229863Z","iopub.status.idle":"2022-07-05T08:21:38.497867Z","shell.execute_reply.started":"2022-07-05T08:21:38.229825Z","shell.execute_reply":"2022-07-05T08:21:38.496514Z"},"trusted":true},"execution_count":null,"outputs":[]}]}