Smt

Latest version: v2.6.0

Safety actively analyzes 628918 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 7

2.0b1

**Breaking changes**

* Kriging-based surrogates mixed integer existing support (continuous relaxation, gower distance) is reworked (Paul-Saves 379)
* Change `predict_variance_derivatives(x)` for a single `x` to `predict_variance_derivatives(x, kx)` (Paul-Saves and Ines Cardoso 390)
* Drop support for scikit-learn < 1.0.2 (related to PLS used in KPLS surrogates)
* Drop support for Python 3.7

Added:

* Kriging-based surrogates support for mixed integer variables (Paul-Saves 379)
* Kriging-based surrogates support for hierarchical variables (Paul-Saves 406, 400)
* Conditioned Gaussian Process sampling (AlexThv 385): see [tutorial](https://github.com/SMTorg/smt/blob/master/tutorial/SMT_GP_Sampling.ipynb)
* Output derivatives for all correlation kernels, as it was only available for Gaussian kernel before (Paul-Saves 389)
* Derivatives value and variance computation for all correlation kernels (Paul-Saves 389)
* KPLS surrogates (Paul-Saves 379):
* automatic PLS components number determination when setting `eval_n_comp` option
* PLS dimension reduction is available for categorical variables using `cat_kernel_comps` option
* Normalization for QP surrogate model (Paul-Saves 396)
* Documentation and notebooks updates (NatOnera 393, 407)

Fixed:

* Normalization for kriging based models using linear trend (Paul-Saves 389)
* Compatibility with `numpy` 1.24 (Paul-Saves 392)
* Bounds normalization when using Gower distance in kriging-based surrogate models (Paul-Saves 394)
* EGO algorithm when discrete variables are used (Paul-Saves 394)
* LHS to avoid generating the same doe when random state is set (397)

1.3.0

* **Breaking Changes**: MGP is now compliant with the `SurrogateModel` API
* `mgp.predict_values()` method outputs is now a 2d array (fix 375)
* `mgp.predict_variances()` method now takes only one arg and returns only MGP variances (old version call `predict_variances(x, both=False)`)
* `mgp.predict_variances_no_uq()` , specific to MGP, computes variances without hyperparameters uncertainty (second value returned by the old version call `predict_variances(x, both=True)`)
* Cleanup `install_requires`: remove `packaging`, move `numpydoc` and `matplotlib` to `requirements.txt` (370)
* Documentation updates:
* Add new example: [Learning airfoil parameters](https://smt.readthedocs.io/en/latest/_src_docs/examples/airfoil_parameters/learning_airfoil_parameters.html) using GENN surrogate model (#374 thanks raul-rufato)
* Update [MixedInteger Tutorial](https://github.com/SMTorg/smt/blob/72432cf639c32986d30d1251e945f867984882ea/tutorial/SMT_MixedInteger_application.ipynb): add an example of mixed integer surrogate model usage for an hybrid composites problem (#357 thanks raul-rufato)
* Minor fixes in notebooks (377 thanks NatOnera)
* Fix warnings in optimized ESE LHS (350)
* Fix wing weight problem formula (381)
* Use `warnings.warn` instead of `print` in Kriging-based surrogates (367 thanks zhoutianxun)

1.2.0

* Add EGO optimization with GEKPLS model (340, 346, thanks Laurentww)
* **Breaking change**: Remove scikit-learn < 0.22 support for KPLS surrogates family
* Remove Python 3.6 from CI tests as it has reached its [end-of-life date](https://endoflife.date/python) (#342).
* Fix MOE when test data are specified (347)
* Fix MFK to make it work even with one fidelity (339, 341)
* Fix Kriging based surrogates to allow constant function modeling (338)
* Fix KPLS automatic determination of components number and update notebook (335)

1.1.0

* Mixed integer surrogate enhancements (thanks Paul-Saves)
- Add number of components estimation in KPLS surrogate models (325)
- Add ordered variables management in mixed integer surrogates (326, 327). Deprecation warning: INT type is deprecated and superseded by ORD type.
- Update version for the GOWER distance model. (330)
- Implement generalization of the homoscedastic hypersphere kernel from Pelamatti et al. (330)
- Refactor MixedInteger (328, 330)
* Add `propagate_uncertainty` option in MFK method (320 thanks anfelopera) :
- when True the variances of lower fidelity levels are taken into account.
* Add LHS expansion method (303, 323 thanks rconde1997)
* MOE: Fix computation of errors when choosing expert surrogates (334)
* **Breaking Changes**:
- In EGO SMT, `UCB` criteria mistakenly named regarding the litterature is renamed `LCB`! (321)
- In MixedInteger surrogate: `use_gower_distance=True` option replaced by `categorical_kernel=GOWER`
* Documentation:
- Add collab links in [Tutorial README](https://github.com/SMTorg/smt/blob/master/tutorial/README.md) (#322)
- Add notebook about MFK with noise handling (320)
- Fix typos (320, 321)

1.0.0

It is a good time to release SMT 1.0 (just after 0.9!).

The SMT architecture has shown to be useful and resilient since the 0.2 version presented in [the article](https://hal.archives-ouvertes.fr/hal-02294310/document) (more additions than actual breaking changes since then). Special thanks to bouhlelma and hwangjt and thanks to [all contributors](https://github.com/SMTorg/smt/blob/master/AUTHORS.md).

This is a smooth transition from SMT 0.9, with small additions and bug fixes:

* Add `random_state` option to `NestedLHS` for result reproducibility (296 thanks anfelopera)
* Add `use_gower_distance` option to EGO to use the Gower distance kernel
instead of continuous relaxation in presence of mixed integer variables (299 thanks Paul-Saves )
* Fix kriging based bug to allow `n_start=1` (301)
* Workaround PLS changes in `scikit-learn 0.24` which impact KPLS surrogate model family (306)
* Add documentation about [saving and loading surrogate models](https://smt.readthedocs.io/en/latest/_src_docs/surrogate_models.html#how-to-save-and-load-trained-surrogate-models) (308)

0.9.0

* Mixture of Experts improvements: (282 thanks jbussemaker, 283)
- add variance prediction API (ie. `predict_variances()`) which is enabled when `variances_support` option is set
- add `MOESurrogateModel` class which adapts `MOE` to the `SurrogateModel` interface
- allow selection of experts to be part of the mixture (see `allow`/`deny` options)
- `MOE.AVAILABLE_EXPERTS` lists all possible experts
- `enabled_experts` property of an MOE instance lists possible experts wrt `derivatives/variances_support`
and `allow/deny` options.
* Sampling Method interface refactoring: (284 thanks LDAP)
- create an intermediate `ScaledSamplingMethod` class to be the base class for sampling methods
which generate samples in the [0, 1] hypercube
- allow future implementation of sampling methods generating samples direcly in the input space (i.e. within xlimits)
* Use of Gower distance in kriging based mixed integer surrogate: (289 thanks raul-rufato )
- add `use_gower_distance` option to `MixedIntegerSurrogate`
- add `gower` correlation model to kriging based surrogate
- see [MixedInteger notebook](https://github.com/SMTorg/smt/blob/master/tutorial/SMT_MixedInteger_application.ipynb) for usage
* Improve kriging based surrogates with multistart method (293 thanks Paul-Saves )
- run several hyperparameter optimizations taking the best result
- number of optimization is controlled by `n_start` new option (default 10)
* Update documentation for MOE and SamplingMethod (285)
* Fixes (279, 281)

Page 3 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.