classification model
1. Data Loading & Inspection
Load the CSV with pandas.
Inspect shape, dtypes, missing values, duplicates, and summary statistics (head, info, describe, nunique, isnull().sum(), duplicated().sum()).
2. Feature Selection
Dropped the following columns before training:
user_id — unique identifier, no predictive value.
country, gender, income_level — excluded from the feature set.
addiction_score, addiction_severity, toxic_chat_reports, burnout_probability, subscription_status, churn_probability, behavioral_cluster — excluded as they are derived from or highly correlated with the target, to avoid data leakage.
3. Handling Missing Values
depression_indicator and gpa_or_performance_score had missing values, filled with the column mean.
4. Exploratory Data Analysis (EDA)
Histograms (sns.histplot) for numerical columns to inspect distributions.
Count plots (sns.countplot) for categorical columns to inspect category frequencies.
Correlation of all numerical features against the target (addiction_binary) to identify the strongest predictors.
5. Encoding & Scaling
Categorical columns (occupation, preferred_genre, platform, device_type, rank_tier, relationship_status) encoded with LabelEncoder, fitted on the training split only and reused on the test split.
Numerical features scaled with StandardScaler, fitted on the training split only.
6. Train/Test Split
80/20 split via train_test_split with random_state=42 for reproducibility.