{"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":"raw","source":"","metadata":{}},{"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)\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-03T16:51:55.671297Z","iopub.execute_input":"2022-08-03T16:51:55.671637Z","iopub.status.idle":"2022-08-03T16:51:55.704433Z","shell.execute_reply.started":"2022-08-03T16:51:55.671536Z","shell.execute_reply":"2022-08-03T16:51:55.703444Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_data = pd.read_csv(\"/kaggle/input/titanic/train.csv\")\ntrain_data.fillna(value = -1, inplace= True)\ntrain_data.replace(\"male\", 0, inplace= True)\ntrain_data.replace(\"female\", 1, inplace= True)\ntrain_data[\"Age\"] = train_data[\"Age\"].astype('float32')\ntrain_data[\"Sex\"] = train_data[\"Sex\"].astype('float32')\ntrain_data[\"Pclass\"] = train_data[\"Pclass\"].astype('float32')\ntrain_data[\"SibSp\"] = train_data[\"SibSp\"].astype('float32')\ntrain_data[\"Parch\"] = train_data[\"Parch\"].astype('float32')\ntrain_data","metadata":{"execution":{"iopub.status.busy":"2022-08-03T16:51:55.705928Z","iopub.execute_input":"2022-08-03T16:51:55.706551Z","iopub.status.idle":"2022-08-03T16:51:55.768161Z","shell.execute_reply.started":"2022-08-03T16:51:55.706511Z","shell.execute_reply":"2022-08-03T16:51:55.767181Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"test_data = pd.read_csv(\"/kaggle/input/titanic/test.csv\")\ntest_data.fillna(value = -1, inplace= True)\ntest_data.replace(\"male\", 0, inplace= True)\ntest_data.replace(\"female\", 1, inplace= True)\ntest_data[\"Age\"] = test_data[\"Age\"].astype('float32')\ntest_data[\"Sex\"] = test_data[\"Sex\"].astype('float32')\ntest_data[\"Pclass\"] = test_data[\"Pclass\"].astype('float32')\ntest_data[\"SibSp\"] = test_data[\"SibSp\"].astype('float32')\ntest_data[\"Parch\"] = test_data[\"Parch\"].astype('float32')\ntest_data","metadata":{"execution":{"iopub.status.busy":"2022-08-03T16:51:55.769545Z","iopub.execute_input":"2022-08-03T16:51:55.769861Z","iopub.status.idle":"2022-08-03T16:51:55.808930Z","shell.execute_reply.started":"2022-08-03T16:51:55.769821Z","shell.execute_reply":"2022-08-03T16:51:55.807979Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from sklearn.ensemble import RandomForestClassifier\n\ny = train_data[\"Survived\"]\n\nfeatures = [\"Pclass\", \"Sex\", \"Age\", \"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=100, 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('clean.csv', index=False)\nprint(output)","metadata":{"execution":{"iopub.status.busy":"2022-08-03T16:51:55.810634Z","iopub.execute_input":"2022-08-03T16:51:55.810918Z","iopub.status.idle":"2022-08-03T16:51:57.391741Z","shell.execute_reply.started":"2022-08-03T16:51:55.810890Z","shell.execute_reply":"2022-08-03T16:51:57.390690Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from sklearn.metrics import mean_absolute_error\n\nmy_mae = mean_absolute_error(model.predict(X), y)\nprint(my_mae)","metadata":{"execution":{"iopub.status.busy":"2022-08-03T16:51:57.392828Z","iopub.execute_input":"2022-08-03T16:51:57.393049Z","iopub.status.idle":"2022-08-03T16:51:57.426390Z","shell.execute_reply.started":"2022-08-03T16:51:57.393022Z","shell.execute_reply":"2022-08-03T16:51:57.425304Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from sklearn.metrics import accuracy_score\nprint(accuracy_score(model.predict(X), y))","metadata":{"execution":{"iopub.status.busy":"2022-08-03T16:51:57.427819Z","iopub.execute_input":"2022-08-03T16:51:57.428276Z","iopub.status.idle":"2022-08-03T16:51:57.457133Z","shell.execute_reply.started":"2022-08-03T16:51:57.428243Z","shell.execute_reply":"2022-08-03T16:51:57.456206Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from sklearn.metrics import f1_score, recall_score, precision_score\n\nprint(\"The f1 score is\", f1_score(model.predict(X), y))\nprint(\"The recall score is\", recall_score(model.predict(X),y))\nprint(\"The precision score is\", precision_score(model.predict(X),y))","metadata":{"execution":{"iopub.status.busy":"2022-08-03T16:51:57.458440Z","iopub.execute_input":"2022-08-03T16:51:57.458866Z","iopub.status.idle":"2022-08-03T16:51:57.549622Z","shell.execute_reply.started":"2022-08-03T16:51:57.458835Z","shell.execute_reply":"2022-08-03T16:51:57.548660Z"},"trusted":true},"execution_count":null,"outputs":[]}]}