| --- |
| 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) |
|
|