Yerrapragada-Kaushik's picture
Add comprehensive README
65b0414 verified

A newer version of the Gradio SDK is available: 6.14.0

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