MultiBgolearn
MultiBgolearn is a Python package for multi-objective Bayesian global optimization (MOBO), with a focus on materials design tasks where several properties must be optimized at the same time.
The package extends the idea of Bgolearn from single-objective optimization to multi-objective optimization. It is suitable for candidate recommendation problems that require balancing competing objectives, such as maximizing one material property while minimizing or constraining another.
Features
- Multi-objective Bayesian global optimization workflow.
- Support for common acquisition strategies, including
EHVI,PI,UCB, andqNEHVI. - Automatic model comparison using leave-one-out cross-validation.
- Surrogate models based on scikit-learn regressors.
- Candidate recommendation from a virtual search space.
- Prediction result export and model-performance visualization.
Basic Usage
from MultiBgolearn.bgo import fit
recommended_data, improvements, index = fit(
dataset="./data/dataset.csv",
VSdataset="./data/virtual_space.csv",
object_num=3,
max_search=True,
method="EHVI",
bootstrap=5,
)
Input Data
dataset should be a .csv, .xlsx, or .xls file. Feature columns should
come first, followed by the objective columns. The number of objective columns is
specified by object_num.
VSdataset should contain the candidate virtual search space. If the candidate
space contains more than 20,000 rows, MultiBgolearn samples 20,000 candidates
with a fixed random seed before recommendation.
Main Parameters
dataset: path to the observed training dataset.VSdataset: path to the virtual search-space dataset.object_num: number of objective columns indataset.max_search:Truefor maximization andFalsefor minimization.method: acquisition method, such asEHVI,PI,UCB, orqNEHVI.assign_model: optional model name. If not provided, MultiBgolearn evaluates available models and recommends the best one.bootstrap: number of bootstrap rounds for uncertainty estimation.batch_size: number of candidates selected for batch acquisition methods.noise_std: observation-noise standard deviation forqNEHVI.
Author
Dr. Bin Cao
Personal homepage: https://bin-cao.github.io/
GitHub: https://github.com/Bin-Cao/MultiBgolearn
Email: bcao686@connect.hkust-gz.edu.cn
For questions, issues, or suggestions, please open an issue on GitHub or contact the author by email.
Metadata
Release files for MultiBgolearn 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| multibgolearn-0.1.1.tar.gz | 11.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| multibgolearn-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.7 kB
Release files / multibgolearn-0.1.1.tar.gz
| Download URL | multibgolearn-0.1.1.tar.gz |
|---|---|
| Size | 11.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8b42f9d745ffdd2fa243b0344f28a91814b411c56713fa0b7f857ba2d8eb5e30
|
|
BLAKE2b-256 checksum How to use checksums |
4b4b757a072bb409d670c4d7aeb5bef6cf334426d60327fa58eac462ccee7c0e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.19
|
Release files / multibgolearn-0.1.1-py3-none-any.whl
| Download URL | multibgolearn-0.1.1-py3-none-any.whl |
|---|---|
| Size | 12.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
26ce4ebd3f9eef47cda39bf1f08d5cfcb3b94a110758242271f920593b2eacd2
|
|
BLAKE2b-256 checksum How to use checksums |
4c944ddc60aaba56e1d748d680a83d945737ec3a51d72f913ed2d0aec2f2d1fd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.19
|