{ "cells": [ { "cell_type": "markdown", "id": "c9920956", "metadata": {}, "source": [ "## Step 1: Import Libraries" ] }, { "cell_type": "code", "execution_count": 1, "id": "d8d06600", "metadata": {}, "outputs": [], "source": [ "import os\n", "import json\n", "import joblib\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.preprocessing import LabelEncoder\n", "from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, roc_auc_score, log_loss, classification_report, confusion_matrix\n", "from xgboost import XGBClassifier" ] }, { "cell_type": "markdown", "id": "88c9c95d", "metadata": {}, "source": [ "## Step 2: Load Dataset" ] }, { "cell_type": "code", "execution_count": 2, "id": "5a9b209d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Dataset shape: (100000, 32)\n" ] }, { "data": { "text/html": [ "
| \n", " | person_id | \n", "age | \n", "gender | \n", "occupation | \n", "bmi | \n", "country | \n", "sleep_duration_hrs | \n", "sleep_quality_score | \n", "rem_percentage | \n", "deep_sleep_percentage | \n", "... | \n", "heart_rate_resting_bpm | \n", "sleep_aid_used | \n", "shift_work | \n", "room_temperature_celsius | \n", "weekend_sleep_diff_hrs | \n", "season | \n", "day_type | \n", "cognitive_performance_score | \n", "sleep_disorder_risk | \n", "felt_rested | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "1 | \n", "29 | \n", "Female | \n", "Driver | \n", "25.7 | \n", "Japan | \n", "6.19 | \n", "6.6 | \n", "22.5 | \n", "19.3 | \n", "... | \n", "63 | \n", "0 | \n", "0 | \n", "20.1 | \n", "1.84 | \n", "Autumn | \n", "Weekday | \n", "73.4 | \n", "Healthy | \n", "0 | \n", "
| 1 | \n", "2 | \n", "55 | \n", "Female | \n", "Software Engineer | \n", "22.0 | \n", "USA | \n", "8.32 | \n", "6.9 | \n", "26.9 | \n", "14.9 | \n", "... | \n", "52 | \n", "1 | \n", "0 | \n", "18.0 | \n", "0.13 | \n", "Winter | \n", "Weekend | \n", "99.4 | \n", "Healthy | \n", "1 | \n", "
| 2 | \n", "3 | \n", "42 | \n", "Male | \n", "Nurse | \n", "25.0 | \n", "India | \n", "3.74 | \n", "1.0 | \n", "20.2 | \n", "16.2 | \n", "... | \n", "72 | \n", "0 | \n", "1 | \n", "17.9 | \n", "1.67 | \n", "Spring | \n", "Weekend | \n", "2.5 | \n", "Severe | \n", "0 | \n", "
| 3 | \n", "4 | \n", "37 | \n", "Female | \n", "Student | \n", "29.5 | \n", "India | \n", "6.79 | \n", "6.4 | \n", "17.7 | \n", "17.7 | \n", "... | \n", "71 | \n", "0 | \n", "0 | \n", "19.1 | \n", "2.37 | \n", "Summer | \n", "Weekend | \n", "67.8 | \n", "Healthy | \n", "0 | \n", "
| 4 | \n", "5 | \n", "23 | \n", "Male | \n", "Lawyer | \n", "23.6 | \n", "Spain | \n", "5.02 | \n", "3.2 | \n", "23.3 | \n", "18.3 | \n", "... | \n", "71 | \n", "0 | \n", "0 | \n", "19.7 | \n", "1.26 | \n", "Summer | \n", "Weekday | \n", "38.1 | \n", "Mild | \n", "0 | \n", "
5 rows × 32 columns
\n", "| \n", " | Metric | \n", "Value | \n", "
|---|---|---|
| 0 | \n", "Accuracy | \n", "0.952500 | \n", "
| 1 | \n", "Weighted Precision | \n", "0.951070 | \n", "
| 2 | \n", "Weighted Recall | \n", "0.952500 | \n", "
| 3 | \n", "Weighted F1 Score | \n", "0.951443 | \n", "
| 4 | \n", "Weighted ROC AUC (OvR) | \n", "0.996892 | \n", "
| 5 | \n", "Log Loss | \n", "0.140831 | \n", "