A guided machine learning pipeline: upload CSV data, understand it, explore with visualizations, engineer features, train multiple models with custom hyperparameters, and compare results side-by-side.
Live Demo: ml-frontend-ky8d.onrender.com
First load may take 30-60 seconds — Render free tier spins down after inactivity.
- Upload — CSV upload with auto type detection
- Understand — head/tail, .info(), .describe(), dtypes
- EDA — missing values, descriptive stats, value counts, interactive plots (histogram, boxplot, scatter, heatmap, etc.)
- Feature Engineering — correlation, covariance, VIF (multicollinearity), feature importance, scaling, encoding, log/polynomial transforms, create/delete columns
- Modeling — select multiple models, tune hyperparameters per model, train, compare metrics, diagnostic plots, best model highlight
Regression: Linear, Ridge, Lasso, Decision Tree, Random Forest, KNN, SVR, XGBoost
Classification: Logistic Regression, Decision Tree, Random Forest, KNN, SVC, XGBoost, Naive Bayes
Each model exposes tunable hyperparameters with sensible defaults.
- Regression: Residuals vs Predicted, Actual vs Predicted, Residual Distribution
- Classification: Confusion Matrix, ROC Curve, Precision-Recall Curve
- Backend: FastAPI, scikit-learn, XGBoost, pandas, Plotly, statsmodels
- Frontend: Streamlit
- Deployment: Render (2 web services)
| Service | URL |
|---|---|
| Frontend | ml-frontend-ky8d.onrender.com |
| Backend API | ml-backend-xjt5.onrender.com |
Deployed via render.yaml Blueprint — connects to GitHub and auto-deploys on push.
pip install -r requirements.txtTerminal 1 — Backend:
uvicorn backend.main:app --reload --port 8001Terminal 2 — Frontend:
streamlit run frontend/app.py