A Streamlit app to explore classification and anomaly-detection pipelines on synthetic datasets! 🧪

-
Synthetic Data Generators:
make_classification
,make_moons
,make_circles
,make_blobs
,make_gaussian_quantiles
-
Feature Selection: VarianceThreshold, SelectKBest (ANOVA F-test, Mutual Information), tree-based importance
-
Dimensionality Reduction: PCA, Kernel PCA, UMAP
-
Scaling: StandardScaler, MinMaxScaler, RobustScaler
-
Classification & Anomaly Detection:
- Logistic Regression, SVM, k-NN, Decision Trees, Random/Extra Forests, AdaBoost, GradientBoosting, Bagging, GaussianNB, QDA, MLP, SGD, Passive-Aggressive
- IsolationForest, One-Class SVM, Local Outlier Factor
-
Interactive Metrics: Confusion matrix counts (TP, TN, FP, FN), Accuracy, Precision, Recall, F1-score, G-Mean, TPR, TNR, FPR, FNR
-
Decision Boundary Visualizations: 2D plots with fullscreen toggle 📈
-
Clone this repo:
git clone https://github.com/yourusername/ml-explorer.git cd ml-explorer
-
Create a virtual environment (optional but recommended):
python -m venv venv source venv/bin/activate # macOS/Linux venv\Scripts\activate # Windows
-
Install dependencies:
pip install -r requirements.txt
Run the Streamlit app:
streamlit run app.py
- Use the sidebar to select dataset, preprocessing steps, and models
- View performance metrics in an interactive table (sortable)
- Expand each model's section to see its decision boundary plot
- Toggle Fullscreen plots to enlarge charts inside the main view
Feel free to open issues or PRs! ⭐
MIT License © 2025 eldraco