v3.0.0
A New Major Version of PHYSBO!
Major Changes
PHYSBO v3 introduces three major changes:
- Cython code moved to external package: Code written with Cython has been moved to the external package physbo-core-cython [#77]
- This simplifies the installation process of PHYSBO, particularly on Windows
- The performance (speed) of PHYSBO is slightly reduced compared to PHYSBO v2
- Users can achieve the original performance by installing the physbo-core-cython package
- Class names capitalized according to PEP8: Many class names have been capitalized to follow PEP8 (Python code style guide) [#73]
- For example, the
physbo.search.discrete.policyclass becomesphysbo.search.discrete.Policy - The old names are marked as deprecated, so users can still use them with warnings
- For example, the
- NumPy2 support: Full support for NumPy2 has been added [#70]
- While PHYSBO v2 code worked with NumPy2, the required NumPy version was capped
New Features
- New permutation importance (PI) calculation methods [#72]
- PI helps identify which features (parameters) are most influential for the objective functions
- New policy classes:
physbo.search.range.Policyandrange_multi.Policy[#76]- These policies perform Bayesian optimization directly in continuous parameter spaces
- Since optimizing the acquisition function in continuous space is more challenging than in discrete space, we recommend using discrete optimization when possible
Other Updates
- Tutorial notebooks: Jupyter notebooks used as tutorials have been uploaded to ISSP datarepo [#75]
- See the
data/tutorialdirectory
- See the
Full Changelog: v2.2.0...v3.0.0