{ "cells": [ { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# Libraries\n", "import pandas as pd\n", "import numpy as np\n", "import seaborn as sns\n", "import matplotlib.pyplot as plt\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.ensemble import RandomForestClassifier\n", "from sklearn.metrics import accuracy_score, classification_report, confusion_matrix, precision_score, recall_score, f1_score" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# Load\n", "train_df = pd.read_csv(\"datasets/train.csv\")" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "# Preprocess\n", "train_df[\"Age\"] = train_df[\"Age\"].fillna(train_df[\"Age\"].median())\n", "\n", "train_df[\"Embarked\"] = train_df[\"Embarked\"].fillna(train_df[\"Embarked\"].mode()[0])\n", "\n", "train_df[\"Sex\"] = train_df[\"Sex\"].map({\"male\": 0, \"female\": 1})\n", "\n", "train_df = pd.get_dummies(train_df, columns=[\"Embarked\"], drop_first=True)\n", "\n", "train_df[\"FamilySize\"] = train_df[\"SibSp\"] + train_df[\"Parch\"] + 1\n", "\n", "train_df.drop([\"Name\", \"Ticket\", \"Cabin\", \"PassengerId\"], axis=1, inplace=True)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "# Split\n", "X = train_df.drop(\"Survived\", axis=1)\n", "y = train_df[\"Survived\"]\n", "X_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.2, random_state=1)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
RandomForestClassifier(random_state=1)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "RandomForestClassifier(random_state=1)" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Train\n", "model = RandomForestClassifier(n_estimators=100, random_state=1)\n", "model.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy: 0.7821229050279329\n", "Precision: 0.7931034482758621\n", "Recall: 0.6301369863013698\n", "F1 Score: 0.7022900763358778\n", "Classification Report:\n", " precision recall f1-score support\n", "\n", " 0 0.78 0.89 0.83 106\n", " 1 0.79 0.63 0.70 73\n", "\n", " accuracy 0.78 179\n", " macro avg 0.78 0.76 0.77 179\n", "weighted avg 0.78 0.78 0.78 179\n", "\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Evaluation\n", "y_pred = model.predict(X_val)\n", "y_pred = model.predict(X_val)\n", "print(\"Accuracy:\", accuracy_score(y_val, y_pred))\n", "print(\"Precision:\", precision_score(y_val, y_pred))\n", "print(\"Recall:\", recall_score(y_val, y_pred))\n", "print(\"F1 Score:\", f1_score(y_val, y_pred))\n", "print(\"Classification Report:\\n\", classification_report(y_val, y_pred))\n", "sns.heatmap(confusion_matrix(y_val, y_pred), annot=True, fmt=\"d\", cmap=\"Blues\")\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "venv", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.7" } }, "nbformat": 4, "nbformat_minor": 2 }