This project follows the full machine-learning lifecycle required by the assignment:
-
Dataset Selection & Task Definition
We will choose one dataset (public or provided), describe its context, report statistics, and define a clear predictive task appropriate for the course.
(Examples: classification, regression, ranking, recommendation, etc.) -
Data Cleaning & Exploratory Analysis (EDA)
- Inspect raw data
- Handle missing values, duplicates, and type conversions
- Generate descriptive statistics
- Visualize distributions, correlations, and feature patterns
-
Feature Engineering & Modeling
- Prepare inputs for ML models (numeric, categorical, text, etc.)
- Implement course-relevant baseline models (e.g., Logistic Regression, Naive Bayes, Linear Regression)
- Build improved/advanced models (SVM, Random Forest, XGBoost, Matrix Factorization, etc.)
- Log all model runs to MLflow/DagsHub for experiment tracking
-
Evaluation & Comparison
- Choose evaluation metrics appropriate for the predictive task
- Compare baselines vs. advanced models
- Visualize results (confusion matrices, ROC curves, feature importances, etc.)
- Select best model based on MLflow-tracked metrics
-
Discussion & Related Work
- Review how similar datasets or tasks have been studied in prior work
- Compare our results with published findings when applicable
- Discuss limitations, failure cases, and potential improvements
To maintain reproducibility and manage model experimentation cleanly, we use DagsHub’s built-in MLflow tracking.
Logged information includes:
- Model hyperparameters
- Training/validation metrics
- Feature configurations
- Model artifacts
- Best-performing run for each model type
This allows the group to collaborate across machines (local, Colab, Kaggle, or Linux server) while keeping all experiment artifacts synchronized.