BanditPAM v4.0.3
BanditPAM v4.0.3
contains the following changes:
Organization and Functionality:
- Ensure GHAs don't run on a tag push.
- Automatically upload wheels to TestPyPI on a PR update and PyPI on release in GHAs (fixes #256)
- Add
tests/test_initialization
to the GHAs that build and test the package. - Loss issues are resolved in all versions of BanditPAM
- The clustering results are now identical to
scikit-learn
's implementation. This was achieved by increasing the batch size for accurate estimation of the standard deviation of the arm parameters and by fixing the bug that drops arms whose lower confidence bounds equal the lowest upper confidence bounds (fixes #252). - Add complexity to
scripts/comparison_utils.py
, such as printing cache writes. - Update cache calculations in
src/algorithms/kmedoids_algorithm.cpp
and add an assertion for better error handling. - Turn
VERSION_INFO
into a string insrc/python_bindings/kmedoids_pywrapper.cpp
. - Update
build_confidence
insrc/python/kmedoids_pywrapper.cpp
to avoid stochasticity issue intests/test_larger.py
.
Tests:
- Update assertion in
tests/test_initialization
to match with newbuild_confidence
insrc/python/kmedoids_pywrapper.cpp
. - Use NumPy and Armadillo seeds for reproducibility.
- Update some tests in
tests/test_larger.py
to count the proportion of passing cases instead of immediately failing.
Style:
- Ran
black
,docformatter
,flake8
, andclang-format
.
Documentation:
- Slightly updated the documentation on the CMake build on Windows to clarify how to use
retrieve_windows_cmake_files.sh
.
Full Changelog: v4.0.2...v4.0.3