Project idea lists

Machine Learning Projects for Final Year: 11 Ideas With Datasets and Metrics

Satvik ParamkushamUpdated October 5, 202613 min read

Quick answer

Good machine learning projects for final year use a real Kaggle or UCI dataset, compare a simple baseline with a stronger model, and report the right metric for the problem. Strong picks include credit card fraud detection, heart disease prediction, AQI forecasting, network intrusion detection, plant disease classification and pneumonia detection from chest X-rays.

Machine learning projects are still the backbone of most final-year submissions in CSE, IT and AI and data science branches, and for good reason. The datasets are public, the methods are well documented, and the results can be measured precisely. What separates a top project from an average one is rarely the model. It is the experiment design: a baseline, a fair comparison, the right metric and an honest error analysis.

This page covers 11 project ideas: six classical ML projects on tabular and time-series data, and five deep learning projects on images and video. Every dataset named here exists on Kaggle, the UCI Machine Learning Repository or an official research page. For each idea we list the metric examiners expect and one upgrade that adds depth.

Looking for generative AI, RAG or agent ideas instead? Those are on our AI projects for final year students page, so this one stays focused on models you train yourself.

Should you choose machine learning or deep learning for a final-year project?

Choose classical machine learning for tabular data such as transactions, patient records or sensor readings, and deep learning for images, audio, video and raw signals. Matching the method to the data type is the first design choice examiners check.

  • Classical ML (logistic regression, random forest, XGBoost, LightGBM) usually wins on tables, trains in minutes on a laptop, and is easier to explain with feature importance and SHAP values.
  • Deep learning (CNNs, LSTMs, pretrained vision models) wins on unstructured data but needs a GPU for training. Free Google Colab or Kaggle notebook GPUs are enough for every project below.

The strongest final-year projects often use both: a classical baseline and a deep model on the same task, with a fair comparison. If you need a refresher on how these fit together, read AI vs ML vs deep learning and what a neural network is.

Where can you find datasets for machine learning final-year projects?

The four most reliable sources are Kaggle, the UCI Machine Learning Repository, Hugging Face Datasets and India's Open Government Data platform (data.gov.in). Each dataset in the list below names its source so you can find it directly.

When you pick a dataset, check four things before committing:

  1. Licence: can you use it for an academic project?
  2. Size: enough rows or images for a train, validation and test split.
  3. Label quality: read 50 samples and see whether the labels look right.
  4. Prior work: popular datasets have public notebooks you can compare against, which gives you a ready-made baseline to beat or match.

Avoid toy datasets such as Iris as your main dataset. They are fine for learning, but too small and too solved for a final-year project.

Which metrics should you report in a machine learning project?

Report the metric that matches your problem type and the cost of mistakes, not just accuracy. Accuracy misleads whenever classes are unbalanced, which is most real problems.

Problem typeMetrics to reportWatch out for
Balanced classificationAccuracy, macro F1, confusion matrixPer-class errors hidden by the average
Unbalanced classification (fraud, disease, intrusion)Precision, recall, F1, PR-AUCAccuracy looks high even for a useless model
Regression and forecastingMAE, RMSE, and a naive baselineErrors that are large only at peaks
Object detectionmAP at an IoU threshold, FPSSpeed matters if you claim real time

Always report the same metric for your baseline and your best model, on the same held-out test set.

11 machine learning and deep learning projects for final year

Ideas 1 to 6 are classical ML on tabular and time-series data. Ideas 7 to 11 are deep learning on images and video. Each lists the dataset, the metric to report and an upgrade.

  1. 1. 1. Credit card fraud detection

    Type:
    Classical ML, imbalanced
    Tools:
    scikit-learn, XGBoost, imbalanced-learn
    Metric:
    PR-AUC, recall

    Flag fraudulent card transactions. The Credit Card Fraud Detection dataset on Kaggle (from ULB) has 284,807 transactions of which only 492 are fraud, so it is the classic lesson in imbalanced data. Compare logistic regression, random forest and XGBoost, with and without resampling such as SMOTE from imbalanced-learn. Report precision, recall and PR-AUC, never plain accuracy: a model that predicts "not fraud" every time is over 99 percent accurate. Upgrade: choose the decision threshold from a cost table, where a missed fraud costs far more than a false alarm.

  2. 2. 2. Heart disease risk prediction with explanations

    Type:
    Classical ML, explainable
    Tools:
    scikit-learn, SHAP
    Metric:
    Recall, ROC-AUC

    Predict the presence of heart disease from clinical measurements such as age, cholesterol, resting blood pressure and maximum heart rate. Use the Heart Disease dataset on the UCI repository (the Cleveland subset is the most used). The dataset is small, so use stratified cross-validation rather than a single split. The depth comes from explainability: use SHAP to show which features drive each prediction, and discuss whether those match medical knowledge. Report recall and ROC-AUC, since missing a sick patient is the worse error. Upgrade: test whether the model performs equally well for men and women.

  3. 3. 3. Customer churn prediction

    Type:
    Classical ML, business
    Tools:
    pandas, LightGBM, Streamlit
    Metric:
    F1, lift

    Predict which telecom customers are about to leave. The Telco Customer Churn dataset on Kaggle (an IBM sample) has about 7,000 customers with contract type, tenure, services and charges. Build logistic regression and gradient boosting models, then go beyond the score: segment churners, explain the top drivers, and estimate how many customers a retention team could save if it called the top 10 percent of predicted churners. That business framing makes the project stand out. Report F1 and lift. Upgrade: a small Streamlit dashboard for a retention manager.

  4. 4. 4. Loan default prediction

    Type:
    Classical ML, feature engineering
    Tools:
    pandas, LightGBM
    Metric:
    ROC-AUC

    Predict whether a loan applicant will have trouble repaying. The Home Credit Default Risk competition on Kaggle provides application data plus several related tables such as previous applications and bureau records. The real skill here is feature engineering: aggregating many rows per customer into useful features without leaking future information. Train LightGBM, compare with a logistic regression baseline, and report ROC-AUC, the competition's own metric. Upgrade: add a fairness check on age groups and discuss what a lender should and should not use.

  5. 5. 5. AQI forecasting for Indian cities

    Type:
    Time series
    Tools:
    pandas, XGBoost, PyTorch or Keras
    Metric:
    MAE, RMSE

    Forecast tomorrow's air quality index for a city. The Air Quality Data in India dataset on Kaggle has daily and hourly pollutant readings for many Indian cities from CPCB stations. Start with a naive baseline (tomorrow equals today), then compare XGBoost on lag features with an LSTM. Many student projects skip the naive baseline and claim great results that are no better than it. Report MAE and RMSE overall and separately for high-pollution days. Upgrade: add weather features and test on a city the model never saw.

  6. 6. 6. Network intrusion detection

    Type:
    Classical ML, security
    Tools:
    scikit-learn, XGBoost
    Metric:
    Macro F1, per-class recall

    Classify network connections as normal or as one of several attack types. The NSL-KDD dataset from the Canadian Institute for Cybersecurity is a cleaned version of the older KDD Cup 99 data, with a separate test set that contains attack types absent from training. That twist makes evaluation honest. Compare random forest, XGBoost and a small neural network, and report macro F1 and per-class recall, since rare attack classes matter most. Upgrade: try an anomaly detection model such as Isolation Forest trained only on normal traffic.

  7. 7. 7. Plant disease classification from leaf images

    Type:
    Deep learning, CNN
    Tools:
    PyTorch or Keras, Colab GPU
    Metric:
    Accuracy, macro F1

    Identify crop diseases from photos of leaves. The PlantVillage dataset has tens of thousands of labelled leaf images across many crop and disease classes. Fine-tune a pretrained CNN such as EfficientNet or MobileNet with transfer learning; accuracy on the test split will be very high because the photos have plain backgrounds. The real finding comes next: test on field photos with messy backgrounds and report the drop. Our image classification build covers the training code. Upgrade: convert the model to TensorFlow Lite and run it offline on an Android phone.

  8. 8. 8. Pneumonia detection from chest X-rays

    Type:
    Deep learning, medical imaging
    Tools:
    PyTorch or Keras, Grad-CAM
    Metric:
    Sensitivity, specificity

    Classify chest X-rays as normal or pneumonia. The Chest X-Ray Images (Pneumonia) dataset on Kaggle has about 5,800 paediatric X-rays. Its official validation folder is tiny, so carve out your own validation set from the training data, a detail examiners appreciate. Train a CNN from scratch and a pretrained model, handle class imbalance with class weights, and report sensitivity and specificity. Use Grad-CAM heatmaps to check the model looks at the lungs and not at labels or borders. Upgrade: discuss why this is a research prototype, not a diagnostic tool.

  9. 9. 9. Brain tumour MRI classification

    Type:
    Deep learning, medical imaging
    Tools:
    PyTorch, torchvision
    Metric:
    Macro F1, confusion matrix

    Classify brain MRI scans into glioma, meningioma, pituitary tumour or no tumour. The Brain Tumor MRI Dataset on Kaggle combines several public sources into four classes. Compare a small custom CNN with a fine-tuned ResNet or EfficientNet, and use data augmentation carefully (flips are fine, heavy distortions may not be). Before training, check for near-duplicate images across train and test splits, a known issue in merged medical datasets that inflates scores. Report macro F1 and the confusion matrix. Upgrade: add Grad-CAM and an uncertainty score per prediction.

  10. 10. 10. Driver drowsiness detection

    Type:
    Deep learning, real-time vision
    Tools:
    OpenCV, MediaPipe, Keras
    Metric:
    Accuracy, false alarms per hour

    Warn a driver when their eyes stay closed too long. Combine two approaches: the eye aspect ratio computed from MediaPipe Face Mesh landmarks, and a small CNN trained on the MRL Eye Dataset of open and closed eye images. Compare them on accuracy in low light and with spectacles, two real conditions on Indian roads. Report false alarm rate and detection delay in seconds alongside accuracy, because an alarm that rings constantly gets switched off. Upgrade: add yawn detection from mouth landmarks.

  11. 11. 11. Classical ML versus deep learning comparison study

    Type:
    Research-style study
    Tools:
    scikit-learn, XGBoost, PyTorch
    Metric:
    Mean and std of chosen metric

    Take one problem and compare model families fairly. For example, on the heart disease or churn data, compare logistic regression, random forest, XGBoost and a multilayer perceptron with the same splits, the same tuning budget and the same metric, repeated across five random seeds. Report mean and standard deviation, training time and model size. Comparison studies sound simple, but done carefully they produce a clear, defensible thesis: which model wins, by how much, and at what cost. Upgrade: add an ablation that removes the top features one at a time.

How should you design experiments for an ML final-year project?

Design every experiment as baseline, then improvement, then ablation, all on a test set you touch only once at the end. That structure answers the question every examiner asks: "better than what?"

  1. Split first. Create train, validation and test splits before any preprocessing, so scaling and encoding never see test data.
  2. Baseline. A simple model (logistic regression, a naive forecast) with default settings.
  3. Improve. Better features, a stronger model, tuning on the validation set only.
  4. Ablate. Remove one change at a time to show which one actually helped.
  5. Test once. Report final numbers on the untouched test set.

Track each run's settings and scores in a spreadsheet or a tool such as MLflow, and keep an eye on overfitting: a large gap between training and validation scores is the warning sign.

How do you present ML results in a final-year report?

Present results as one main comparison table, one or two charts, and a short error analysis with real examples. Numbers without context, or charts without numbers, both lose marks.

Include these in your results chapter:

  • A table of every model with the same metrics on the same test set, best value in bold.
  • A confusion matrix for classification, or predicted versus actual plots for regression.
  • Training and validation curves per epoch for deep learning models.
  • Five to ten misclassified examples with your explanation of each.
  • A limitations paragraph: dataset size, bias, distribution shift.

What machine learning viva questions should you prepare for?

Expect questions on your data, your metric choice, your model choice and your failures. The most common ones:

  • Why did you choose this metric and not accuracy?
  • How did you split the data, and how did you prevent data leakage?
  • What is the bias and variance trade-off in your model?
  • Why random forest or XGBoost and not a neural network (or the other way round)?
  • How did you handle class imbalance or missing values?
  • What does this confusion matrix tell you?
  • Would your model work on data from a different hospital, city or bank?

Our machine learning interview questions page has model answers to most of these, and they double as viva practice.

What mistakes do students make in ML final-year projects?

The same five mistakes appear in project after project:

  1. Data leakage: scaling or oversampling before the split, or features that contain the answer.
  2. Accuracy on imbalanced data: reporting 99 percent on fraud detection without precision and recall.
  3. Tuning on the test set: picking hyperparameters by test score makes the final number meaningless.
  4. One random seed: a single run can be lucky. Repeat with three to five seeds.
  5. No baseline: without one, nobody can tell whether your deep model is worth its cost.

Fix these and your project will be more rigorous than most, even with a simple model.

Frequently asked questions

Which machine learning project is best for final year?

Pick a project with a real dataset, an unbalanced or messy aspect, and a clear metric. Credit card fraud detection, AQI forecasting for Indian cities and plant disease classification tested on field photos are strong choices because each lets you show baselines, proper metrics and honest error analysis.

Is deep learning better than machine learning for a final-year project?

Not automatically. Deep learning suits images, audio and video, while classical models such as XGBoost often beat neural networks on tabular data. The best projects pick the method that fits the data and show a fair comparison with a simpler baseline.

Where can I get machine learning projects for final year with source code?

Kaggle notebooks on each dataset, official tutorials from scikit-learn, Keras and PyTorch, and our step-by-step builds all include code. Use them as a starting point, then add your own experiments, evaluation and upgrade so the final contribution is clearly yours.

Do I need a GPU for deep learning final-year projects?

You need a GPU for training image models, but not your own. Google Colab and Kaggle notebooks offer free GPU time with usage limits, which is enough for fine-tuning pretrained CNNs on datasets like PlantVillage or chest X-rays. Classical ML projects run fine on any laptop.

How many models should I compare in an ML project?

Three to four is a good number: one simple baseline, one or two strong classical models and, where it fits, one deep learning model. Compare them on the same splits and metric, ideally across several random seeds, and explain why the winner wins.

References