Estimates left ventricular ejection fraction (LVEF) from apical echocardiography videos using a 3D CNN trained on EchoNet-Dynamic (10,030 videos), with reduced-EF screening thresholds and 3D Grad-CAM explainability. Research prototype, not for clinical use. PyTorch; Streamlit app.
VIEW PROJECT
Two-stage ML system on 10,000 industrial sensor readings (AI4I 2020 dataset): an XGBoost model flags failure risk (PR-AUC 0.91), then a Random Forest model predicts the likely root cause among 5 failure modes (cross-validated macro-F1 0.95). SHAP-explainable. Streamlit app, deployed on GCP Cloud Run.
VIEW PROJECT
Predicts loan-applicant default probability on the Kaggle Home Credit dataset (307K applicants, 7 linked tables). Aggregating the 5 auxiliary tables into about 150 features and stacking XGBoost, LightGBM and CatBoost lifted ROC-AUC from 0.66-0.73 (coursework baseline) to 0.788; the riskiest 10% of applicants contain 37.9% of defaulters. Gradio app on Google Cloud Run. Demo model, not a lending tool.
VIEW PROJECT
Predicts residential property prices across six Indian metros (Mumbai, Delhi, Kolkata, Chennai, Hyderabad, Bengaluru) from real 2022 data. A separate grid-search-tuned XGBoost model per city, with locality as a feature. Multi-page Flask app on Google Cloud Run.
VIEW PROJECT
A multi-agent system that answers natural-language stock questions using deterministic fundamental and technical analysis. Missing tickers are fetched on demand and cached as structured micro-indexes. Python 3.11, Alpha Vantage, RSI/SMA/EMA rules, Gradio UI.
VIEW PROJECT
Classifies a whole parking-lot camera frame from the PKLot benchmark as mostly occupied or mostly empty (not a per-space detector). Fine-tuned ViT-B/16 reaches about 99% accuracy on days held out of training (split by calendar day to avoid near-duplicate time-lapse leakage), versus about 99% for a small CNN at the default threshold but with a weaker empty-lot recall. Generalisation to unseen lots is untested. Gradio app on Google Cloud Run.
VIEW PROJECT