🤖 Building My AutoML Web App
August 2025 · Python · Streamlit · PyCaret · ETL
🔍 Project Overview
This project involved building a fully interactive AutoML web app using Streamlit and PyCaret. The app allows users to upload datasets (CSV), select the target variable, and automatically trains multiple models, ranks them by accuracy, and visualises key results. I also incorporated automatic Exploratory Data Analysis (EDA) and performance metrics generation.
⚙️ Methodology
- ETL Process: Handled file uploads and used
pandas to clean and pre-process data automatically based on data types (categorical vs numerical).
- EDA: Integrated
Sweetviz and Pandas Profiling to generate EDA reports from uploaded data.
- Model Training: Used PyCaret’s
setup() and compare_models() to quickly evaluate several algorithms like Random Forest, LightGBM, XGBoost.
- Model Insights: Integrated SHAP (SHapley Additive exPlanations) visualisations for interpretability.
💡 Features
- Upload your own CSV dataset
- Select target column dynamically
- Automatic model comparison and leaderboard
- Download model pipeline
- View performance metrics and SHAP visualisations
📉 Errors & Fixes
- File upload caused
UnicodeDecodeError due to non-UTF-8 files – resolved using chardet for encoding detection.
- SHAP plots wouldn’t render in Streamlit – resolved by saving plots as images and displaying with
st.image.
- PyCaret’s dependency conflicts – resolved using isolated virtual environments.
📈 Key Takeaways
- Streamlit is an incredibly effective tool for building lightweight, interactive data apps fast.
- PyCaret provides an accessible way to bring AutoML capabilities without complex tuning.
- User-friendly design and clear error messages matter a lot in data tool usability.
🔗 Repository
GitHub Repo: AutoML Web App
← Back to Blog