The objective of this project is to develop a Machine Learning system capable of predicting whether an individual's annual income exceeds $50,000 based on demographic, educational, and occupational characteristics.
The project uses the Adult Income Dataset from the UCI Machine Learning Repository, which contains real-world census information such as age, education level, work class, occupation, marital status, working hours, race, and gender. The task is formulated as a binary classification problem where the target variable represents whether a person's income is greater than $50K per year.
The project follows a complete Machine Learning pipeline. First, the dataset is cleaned and analyzed through Exploratory Data Analysis (EDA) to understand feature distributions, correlations, class imbalance, and potential fairness issues. Then, the data is preprocessed using techniques such as handling missing values, feature encoding, and feature scaling.
Several classification models are trained and compared, including Logistic Regression, Random Forest, and XGBoost. Model selection is performed using cross-validation, while hyperparameter optimization is carried out through GridSearchCV to obtain the best-performing configuration. The final models are evaluated on an unseen test set using metrics such as Accuracy, Precision, Recall, F1-score, and ROC-AUC.
In addition to predictive performance, the project focuses on fairness and explainability. A fairness analysis is conducted to investigate potential disparities across demographic groups such as gender and race. Furthermore, explainability techniques, including feature importance analysis and SHAP values, are used to understand how different features influence the model's predictions.
The final goal is to build a system that is not only accurate in predicting income levels but also transparent, interpretable, and aware of potential fairness concerns in the underlying data.