# ddmo Documentation
Data-Driven Models for Optimization
Cheap surrogates for expensive functions

ddmo fits least-squares, radial basis function, kriging and ensemble surrogates to sampled data, with analytic gradients, uncertainty estimates and a dashboard for comparing models.

Get started → Theory & algorithms API reference
LSRBFKrigingWeightedEnsembleCollinearityFilter
→
User guide Install the package, fit your first surrogate and pick the right model family.
∑
Theory & algorithms The mathematics behind each surrogate, with typeset pseudocode for the training algorithms.
⚙
Backend Data ingestion, train/test splitting, ranking strategies and model export contracts.
✎
Tutorials Compare models, screen features, export trained models and drive optimizers with gradients.
▦
Benchmarks 4080 fits on seven engineering problems: pass rates, learning curves, cost and robustness.
```{toctree} :maxdepth: 2 :caption: Contents :hidden: guide theory backend tutorials api ``` ```{toctree} :maxdepth: 2 :caption: Benchmarks :hidden: benchmark_setup benchmark_results ``` ## Highlights - Unified fit/predict/score interface for all surrogate models. - Analytic gradients for optimization workflows. - Mathematical definitions for least-squares, radial basis functions, kriging, and weighted ensembles. - Backend service documentation for data ingestion, train/test splitting, ranking, and model export. - Step-by-step tutorials and typeset, cross-referenceable algorithm listings. ## Scope The core package lives in `src/ddmo`, the dashboard backend logic in `src/ddmo_backend`, and the Dash frontend in `src/ddmo_frontend`. The backend pages document the numerical contracts, ranking logic, and persistence conventions that govern those layers. ## Build locally Install the documentation dependencies and build the HTML site: ```bash pip install -e ".[docs,ui,test]" sphinx-build -b html docs docs/_build/html ``` Open `docs/_build/html/index.html` in a browser after a successful build.