14 projects, in roughly the order I learned to stop overfitting.

From a first Titanic submission to a deployed fraud detector. Filter by what kind of work it is.

Credit Card Fraud Detection

0.8727 PR-AUC

Phase 7 capstone on 284,807 highly imbalanced transactions (0.17% fraud). Weighted XGBoost beat Random Forest, ensembles, and a Keras NN on PR-AUC; deployed as a Streamlit app with CSV upload.

XGBoostimbalanced-learnStreamlit

Customer Churn Prediction

0.8425 AUC

Phase 6/7 capstone on the Telco dataset. Compared class_weight vs SMOTE for imbalance, tuned via GridSearchCV for recall, and shipped a tuned Random Forest at 0.81 recall.

scikit-learnSMOTEStreamlit

SMS Spam Classifier

98.48% acc

~5,572 texts, BoW vs TF-IDF across Naive Bayes and Logistic Regression. Naive Bayes + BoW won and got deployed; a from-scratch-embedding LSTM was built afterward for comparison and came in lower.

NLTKscikit-learnStreamlit

CNN MNIST Classifier

99.09% acc

A Conv2D + MaxPooling2D + Dense network in Keras, 121,930 parameters, trained from scratch on the classic digit set.

KerasTensorFlowCNN

IPL Analysis & Win Prediction

Z-score outlier analysis on batting stats, plus a win-prediction model that found static pre-match features give near-random predictions — a real finding, not a failed model.

scipyseabornscikit-learn

COVID India Dashboard

Time-series exploration of India's COVID case data with pandas and a set of Matplotlib/Seaborn dashboards.

pandasmatplotlib

Indian Agriculture Analysis

Government agricultural data pulled via API, cleaned in pandas, and queried through a SQLite backend.

pandasSQLite

Titanic Survival Predictor

0.78229

Kaggle competition — full EDA, feature engineering (titles, family size, age/fare bands), and a Random Forest pipeline.

scikit-learnpandasKaggle

House Prices Regression

RMSE 0.1447

Advanced regression on 79 features with log-transformed targets and a full preprocessing ColumnTransformer pipeline.

RandomForestRegressorKaggle

Digit Recognizer

0.965

Kaggle's MNIST-as-CSV competition, solved with a Random Forest on raw pixel values before the later CNN revisit.

scikit-learnKaggle

ML Hyperparameter Tuning

GridSearchCV combined with pipelines on the Breast Cancer dataset to systematically tune model performance.

GridSearchCVscipy

Iris Model Comparison

Head-to-head comparison of five classification algorithms on the classic Iris dataset.

scikit-learnseaborn

Crop Yield Predictor

Linear regression model predicting farm yield from agricultural input data.

scikit-learnpandas

Weather Dashboard

Real-time weather dashboard for Indian cities, built on the Open-Meteo API.

requestsmatplotlib