Yerrapragada-Kaushik's picture
Add comprehensive README
65b0414 verified
---
title: DoE & Bayesian Optimization Dashboard
emoji: πŸ”¬
colorFrom: indigo
colorTo: purple
sdk: gradio
sdk_version: "6.13.0"
app_file: app.py
pinned: true
license: mit
short_description: Design experiments & get AI-guided suggestions
tags:
- bayesian-optimization
- design-of-experiments
- gaussian-process
- machine-learning
- scientific-computing
---
# πŸ”¬ Design of Experiments & Bayesian Optimization Dashboard
A comprehensive tool for experimentalists to plan experiments, fit surrogate models, and get AI-guided suggestions for the next most informative experiments.
## Features
### πŸ“ Design of Experiments
- **Full Factorial** β€” All combinations of factor levels
- **Fractional Factorial (Β½, ΒΌ)** β€” Reduced experiment count for screening
- **Latin Hypercube Sampling (LHS)** β€” Space-filling design for BO initialization
- **Sobol Sequence** β€” Low-discrepancy quasi-random design
- **Central Composite Design (CCD)** β€” Response surface methodology
- **Box-Behnken** β€” Efficient 3+ factor designs
- Flexible factor definition: comma-separated levels or range notation (`10:30:3`)
- Add/remove rows and columns dynamically
- CSV export
### πŸ€– Surrogate Models
- **Gaussian Process** with 5 kernel choices (MatΓ©rn 5/2, MatΓ©rn 3/2, RBF, Rational Quadratic, RBF+MatΓ©rn)
- **Random Forest** with tree-ensemble uncertainty
- **Extra Trees** β€” faster RF variant
- **Gradient Boosting** with staged prediction uncertainty
### 🎯 Acquisition Functions
- **Expected Improvement (EI)** β€” balanced exploration/exploitation
- **Probability of Improvement (PI)** β€” greedy exploitation
- **Upper Confidence Bound (UCB)** β€” tunable exploration weight
- **Thompson Sampling** β€” stochastic batch selection
- Diverse suggestion selection (avoids clustering)
### πŸ“Š 12 Visualization Types (all toggleable)
1. πŸ—ΊοΈ Surrogate Surface (2D contour with mean + uncertainty)
2. πŸ“‰ 1D Parameter Slices (effect of each factor)
3. πŸ”οΈ 3D Response Surface (interactive Plotly)
4. 🎯 Acquisition Function Landscape
5. πŸ“ˆ Convergence Plot (best-so-far trajectory)
6. βš–οΈ Predicted vs Actual (parity plot with RΒ²/RMSE)
7. πŸ“Š Feature Importance (GP lengthscales / RF importances)
8. πŸ“ Residual Analysis (residuals, histogram, Q-Q plot)
9. πŸ”€ Parallel Coordinates (interactive Plotly)
10. 🌑️ Uncertainty Heatmap
11. πŸ”— Correlation Matrix
12. πŸ”˜ Scatter Matrix (pair plot)
## Workflow
1. **Define Factors** β†’ Set experimental parameters and levels
2. **Generate Design** β†’ Choose a design type (factorial, LHS, CCD, etc.)
3. **Run Experiments** β†’ Fill in the Response column with results
4. **Fit Surrogate** β†’ Configure model (GP/RF/ET/GB) and acquisition function
5. **Get Suggestions** β†’ Receive optimized next-experiment recommendations
6. **Iterate** β†’ Add suggestions to table, run them, repeat
## Tech Stack
- Gradio (UI), scikit-learn (GP, RF, ET, GB), scikit-optimize, scipy (LHS, Sobol, acquisition optimization), Plotly + Matplotlib (visualizations)