Machine Learning Project Topics with Datasets and Metrics
A machine learning topic is only ready when you know what data it needs and how success will be measured. Every topic here states both, so you can judge its feasibility before you commit.
Last updated 30 October 2026 · By the Road2Tech team
How to use this list
Dataset types are described rather than named, since availability and licences change. Search public repositories such as Kaggle, the UCI Machine Learning Repository, Hugging Face and government open data portals for the type described, then read the documentation to see how the data was collected.
The metric matters as much as the model. On a dataset where only a tiny share of cases are positive, a model that always predicts negative scores high on accuracy while being useless. Choosing a suitable metric, and explaining why, is one of the easiest ways to show real understanding.
Tabular data
-
Customer churn with cost-sensitive decisions
— LightGBM, scikit-learn Choose the alert threshold from the cost of a missed churner versus an unnecessary offer. Data: subscriber records with usage and tenure. Metrics: PR-AUC, expected cost.
-
Loan default prediction with a fairness audit
— XGBoost, Fairlearn Compare approval errors across demographic groups, then test a mitigation. Data: anonymised credit applications. Metrics: ROC-AUC, equal opportunity difference.
-
Hospital readmission with missing values
— scikit-learn, CatBoost Compare imputation methods, since gaps in records may themselves carry signal. Data: de-identified patient encounters. Metrics: PR-AUC, Brier score for calibration.
-
Property price estimation with spatial validation
— Random Forest, GeoPandas Random splits leak neighbourhood information, so hold out entire localities. Data: listings with location and area. Metrics: MAE, MAPE.
-
Card fraud under extreme class imbalance
— imbalanced-learn, XGBoost Test whether resampling really beats class weights when the split respects time order. Data: transaction records with anonymised features. Metrics: PR-AUC, precision at top k.
-
Network intrusion detection across datasets
— Random Forest, PyTorch Train on one capture and test on another to expose overfitting to a lab setup. Data: labelled network flow records. Metrics: macro F1, false positive rate.
Time series and sensor data
-
Electricity demand forecasting
— LightGBM, statsmodels Combine calendar and weather features and compare against a same-hour-last-week baseline. Data: smart meter or grid load readings. Metrics: MASE, sMAPE with rolling-origin validation.
-
Urban air quality prediction
— LSTM, Temporal Fusion Transformer Forecast particulate levels at several horizons and watch where accuracy decays. Data: monitoring station readings plus weather. Metrics: RMSE and MAE per horizon.
-
Stock volatility forecasting
— arch, PyTorch Volatility is more predictable than price direction, which makes this a more defensible topic. Data: daily price histories. Metrics: QLIKE, RMSE against a GARCH baseline.
-
Remaining useful life of machinery
— 1D CNN, GRU Late predictions are worse than early ones, so use an asymmetric score. Data: run-to-failure sensor logs. Metrics: RMSE, asymmetric penalty score.
-
ECG arrhythmia classification
— ResNet1D, WFDB Split by patient, not by heartbeat, otherwise results are inflated. Data: annotated ECG recordings. Metrics: macro F1, per-class sensitivity.
Text data
-
Aspect-based sentiment on product reviews
— BERT, Transformers Find what buyers think about battery, delivery or price, rather than one overall score. Data: reviews with aspect annotations. Metrics: macro F1 per aspect.
-
Hate speech detection in code-mixed posts
— Multilingual BERT Measure whether posts mentioning certain groups get flagged unfairly often. Data: annotated social media text. Metrics: macro F1, false positive rate per group.
-
Phishing email detection under drift
— TF-IDF, DistilBERT Train on older mail and test on newer mail to measure how quickly the model ages. Data: dated email corpora. Metrics: F1 per time window.
-
Text classification with very few labels
— SetFit, modAL Plot performance as labels grow from a few dozen to a few thousand, comparing active learning with random labelling. Data: news or ticket text. Metrics: accuracy against label count.
Image data
-
Satellite land-cover segmentation
— U-Net, Rasterio Label every pixel as water, built-up or vegetation, and test on a region absent from training. Data: multispectral tiles with masks. Metrics: mean IoU, per-class IoU.
-
Uncertainty-aware image classification
— Deep ensembles, PyTorch Make a classifier admit when an input is outside its training domain, then study its confidence. Data: any labelled image set plus unrelated images. Metrics: ECE, out-of-distribution AUROC.
-
Model compression for mobile deployment
— PyTorch, ONNX Runtime Apply pruning, quantisation and knowledge distillation, then chart the trade-offs. Data: a medium-sized image classification set. Metrics: accuracy, model size, latency on a phone.
Recommendation, graph and unsupervised learning
-
Recommender with a time-based split
— LightFM, implicit Compare matrix factorisation against popularity, predicting future interactions from past ones. Data: user-item ratings or clicks with timestamps. Metrics: NDCG at k, recall at k, catalogue coverage.
-
Node classification on a graph
— PyTorch Geometric Test whether connections add predictive value by comparing a graph network with a model that sees features alone. Data: citation or transaction graphs. Metrics: macro F1.
-
Customer segmentation with stability testing
— K-Means, HDBSCAN Clusters are easy to produce but hard to trust. Re-run on resampled data to check whether they persist. Data: retail purchase logs. Metrics: silhouette, adjusted Rand index across runs.
A results protocol that holds up to questioning
- Start with a baseline such as the majority class, last observed value or logistic regression. Your model has to beat it to justify its complexity.
- Split according to how the model will be used: by time for forecasts, by patient for medical data, by location for spatial data.
- Fit scaling, imputation and feature selection on training data only. Doing it on the full dataset is a common form of leakage.
- Keep the test set untouched until the end. Tune on a validation set or with cross-validation.
- Report variation across several random seeds or folds rather than the single best run.
- Read your errors. Sample misclassified cases by hand and describe any patterns; this often makes the most interesting part of the report.
Frequently asked questions
Related guides
Need help shaping your ML topic?
Road2Tech in Pune mentors students on topic selection, reference papers, IEEE paper support and runnable source code with explanation, so you can defend your methods and results with confidence.
Talk to Road2Tech