An interactive Streamlit app that showcases popular machine learning algorithms with real-time visualizations and educational content. 🌟📊
-
📌 K-Means
➡️ Centroid-based clustering with customizable number of clusters. -
🧩 DBSCAN
➡️ Density-based clustering that identifies arbitrary-shaped clusters. -
🌳 Hierarchical Clustering
➡️ Tree-based clustering with different linkage methods.
-
🪢 Logistic Regression
➡️ Linear probabilistic classifier. -
🌲 Decision Trees
➡️ Tree-based interpretable classifier. -
🧭 Support Vector Machine (SVM)
➡️ Maximum-margin classifier with kernel tricks. -
👥 K-Nearest Neighbors (KNN)
➡️ Instance-based lazy learning. -
🌳🌲 Random Forest
➡️ Ensemble of decision trees for robust predictions.
-
📉 Linear Regression
➡️ Simple linear relationship modeling. -
📊 Polynomial Regression
➡️ Non-linear relationships with polynomial features. -
🔧 Support Vector Regression (SVR)
➡️ SVM adapted for continuous predictions.
- 🌸 Iris Dataset: Classic flower classification.
- 🍷 Wine Dataset: Wine recognition with chemical analysis.
- 🩺 Breast Cancer Dataset: Medical diagnosis data.
- 🎲 Synthetic Datasets: Generated data to explore algorithms freely.
1️⃣ Install Python 3.8+ (if not already installed).
2️⃣ Clone or download this project to your computer.
3️⃣ Install dependencies:
pip install streamlit numpy pandas scikit-learn plotly4️⃣ Run the application:
streamlit run app.py5️⃣ Open your browser at `http://localhost:8501\` 🎨
Or use the setup script:
python setup_local.py2025-05-27.14-53-42.1.mp4
1️⃣ Select Algorithm Category in the sidebar (Clustering, Classification, or Regression).
2️⃣ Choose Algorithm from the dropdown menu.
3️⃣ Pick a Dataset suitable for your chosen algorithm.
4️⃣ Adjust Parameters using the interactive controls.
5️⃣ Click "Train & Visualize" to see the results!
6️⃣ Explore the algorithm description and pseudocode in the right panel.
Each algorithm includes:
- ✏️ Detailed Description
- ⚙️ Key Features & Limitations
- 🧩 Pseudocode
- 📊 Interactive Visualizations
- 📈 Performance Metrics: Accuracy, clustering scores, and more!
All dependencies are standard Python packages:
- `streamlit` - Web app framework.
- `numpy` - Numerical computing.
- `pandas` - Data manipulation.
- `scikit-learn` - ML algorithms.
- `plotly` - Interactive visualizations.
├── app.py # Main Streamlit application
├── algorithms.py # ML algorithm implementations & descriptions
├── data_loader.py # Dataset loading and preprocessing
├── visualizations.py # Plotting & visualization logic
├── setup_local.py # Local setup script
└── .streamlit/
└── config.toml # Streamlit configurationWe 💛 contributions!
Feel free to:
- ✨ Add new algorithms
- 📊 Include more datasets
- 🎨 Enhance visualizations
- 📚 Expand educational content
This project is open-source and available for educational use. 🌟
💡 Dive in and watch your data come to life with interactive visualizations and hands-on experiments! 🎨✨