Python package designed for multi-objective Bayesian global optimization (MOBO)
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file multibgolearn-0.1.1.tar.gz.
File metadata
- Download URL: multibgolearn-0.1.1.tar.gz
- Upload date:
- Size: 11.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b42f9d745ffdd2fa243b0344f28a91814b411c56713fa0b7f857ba2d8eb5e30
|
|
| MD5 |
0a0e2796afc6b5b147b5e4dc701cc81c
|
|
| BLAKE2b-256 |
4b4b757a072bb409d670c4d7aeb5bef6cf334426d60327fa58eac462ccee7c0e
|
File details
Details for the file multibgolearn-0.1.1-py3-none-any.whl.
File metadata
- Download URL: multibgolearn-0.1.1-py3-none-any.whl
- Upload date:
- Size: 12.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26ce4ebd3f9eef47cda39bf1f08d5cfcb3b94a110758242271f920593b2eacd2
|
|
| MD5 |
55665c275a2c6d3d813f1a718fd58655
|
|
| BLAKE2b-256 |
4c944ddc60aaba56e1d748d680a83d945737ec3a51d72f913ed2d0aec2f2d1fd
|