An intelligent web-based dashboard for automated machine learning workflows
Features • Installation • Usage • Screenshots • Demo
AI Auto Machine Learning Dashboard is a comprehensive web application built with Streamlit that automates the entire machine learning pipeline. From data preprocessing to model training and evaluation, this dashboard provides an intuitive interface for both beginners and experienced data scientists.
- 🚀 Fully Automated Pipeline: Upload data and get results in minutes
- 🎯 Multiple ML Tasks: Classification, Regression, and Clustering
- 📊 Interactive Visualizations: Beautiful charts and graphs using Plotly
- 🧹 Smart Preprocessing: Automatic handling of missing values, encoding, and scaling
- 📈 Exploratory Data Analysis: Built-in EDA tools for data insights
- ✅ Missing Values Handling: Automatic imputation for numeric and categorical features
- ✅ Duplicate Removal: Clean your dataset with one click
- ✅ Outlier Detection: Z-score based outlier removal
- ✅ Feature Encoding: Automatic Label Encoding and One-Hot Encoding
- ✅ Feature Scaling: StandardScaler for numeric features
- ✅ Dimensionality Reduction: Automatic PCA when features > 10
- 📈 Correlation Heatmap
- 📊 Histograms
- 📦 Boxplots
- 🔍 Dataset Statistics
- 🎯 Naive Bayes: Gaussian Naive Bayes classifier
- 🌳 Decision Tree: Decision Tree classifier
- 📊 Metrics: Accuracy, Classification Report, Confusion Matrix
- 📐 Linear Regression: Standard linear regression
- 🔢 KNN Regressor: K-Nearest Neighbors regression
- 📊 Metrics: MSE, Actual vs Predicted visualizations
- 🔀 KMeans Clustering: Automatic optimal cluster detection using Elbow Method
- 📊 Visualizations: 2D cluster visualization with PCA
- Python 3.8 or higher
- pip package manager
git clone https://github.com/your-username/ai-auto-ml-dashboard.git
cd ai-auto-ml-dashboardpip install -r requirements.txtIf requirements.txt doesn't exist, install manually:
pip install streamlit pandas numpy plotly seaborn matplotlib scikit-learn kneed scipystreamlit run app.pyThe dashboard will open automatically in your default web browser at http://localhost:8501
-
Upload Your Dataset
- Click on "Upload CSV File" in the sidebar
- Select your CSV file
-
Select Target Column
- Choose the column you want to predict/analyze
-
Data Preprocessing (Automatic)
- The dashboard automatically handles missing values and duplicates
- Optionally remove outliers using the checkbox
-
Choose Analysis Type
- Classification: For categorical target variables
- Regression: For continuous target variables
- Unsupervised: For clustering without a target
-
Select Models
- Choose one or more models to train
- View results and visualizations
-
Explore Results
- Check accuracy/MSE metrics
- View confusion matrices
- Analyze visualizations
ai-auto-ml-dashboard/
│
├── app.py # Main Streamlit application
├── notebook.ipynb # Jupyter notebook for development
├── README.md # This file
│
├── Datasets/ # Sample datasets
│ ├── Breast_cancer_data.csv
│ ├── heart.csv
│ ├── Mall_Customers.csv
│ ├── StudentPerformanceFactors.csv
│ └── Links.txt
│
└── Project Diagram.png # Project architecture diagram
The project includes sample datasets for testing:
-
Student Performance Factors (Regression)
- Predict student performance based on various factors
-
Heart Disease Dataset (Classification)
- Classify heart disease presence
-
Breast Cancer Dataset (Classification)
- Predict breast cancer diagnosis
-
Mall Customers (Unsupervised)
- Customer segmentation using clustering
Dataset links are available in Datasets/Links.txt
- Streamlit: Web application framework
- Pandas: Data manipulation and analysis
- NumPy: Numerical computing
- Scikit-learn: Machine learning algorithms
- Plotly: Interactive visualizations
- Seaborn & Matplotlib: Statistical visualizations
- Kneed: Elbow point detection for clustering
- Detects and handles missing values intelligently
- Removes duplicate rows
- Encodes categorical variables automatically
- Scales numeric features for better model performance
- Applies PCA for high-dimensional data
- Train multiple models simultaneously
- Compare model performance
- Visualize predictions vs actual values
- Generate detailed classification reports
- Real-time charts and graphs
- Interactive Plotly visualizations
- Export-ready figures
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Mohamed Younis
- Yousef Helmy
- Ahmed Abd ElSalam
- ITI (Information Technology Institute) for project guidance
- Streamlit team for the amazing framework
- Scikit-learn community for comprehensive ML tools
Made with ❤️ using Streamlit
⭐ Star this repo if you find it helpful!
