github yzhao062/pyod v3.6.7

3 hours ago

PyOD 3.6.7

A maintenance release with input-validation and estimator-contract fixes, plus a new contribution process. No new detector or dependency is introduced.

Bug Fixes

  • ABOD: cast non-float numeric input (integer lists and DataFrames, bool, float16) to float64 before the Numba angle kernel, which previously raised a TypingError. Scores for float32 and float64 input are unchanged. #766; the crash was reported earlier in #290 and #450.
  • XGBOD: keep estimator_list and standardization_flag_list as given and store the resolved detectors in estimator_list_ and standardization_flag_list_, so get_params() and clone() round-trip. #767, fixes #755.
  • Sampling and KPCA: store random_state as given and resolve it in fit, so repeated fits with an integer seed are reproducible. #753, fixes #750.
  • INNE: call BaseDetector.__init__, so an out-of-range contamination raises ValueError like every other detector. #759, fixes #752.
  • HBOS and LODA: get_optimal_n_bins accepts 1 to 3 training samples and rejects empty input with a clear message. #763, fixes #762.
  • k-Shape: negate the SBD lag when aligning cluster members, so refinement moves members onto the centroid. #734.

Contribution Process

  • Add CONTRIBUTING.md. A pull request needs an open issue labelled accepted and assigned to its author. The document also lists exclusions, evidence requirements, and AI-disclosure rules.
  • Replace the outdated pull request template (CircleCI, Travis, AppVeyor, Coveralls) with linked-issue, evidence, checklist, and disclosure fields.
  • Point the FAQ and README contribution links at CONTRIBUTING.md.

The accepted-issue requirement takes effect when this release reaches master. Earlier pull requests are exempt.

Tests

  • XGBOD refits one instance from 60 to 35 samples.
  • The KPCA refit-determinism test compares non-trivial decision_function scores with n_components=3.
  • A k-Shape test runs _kshape on shifted copies of one shape and fails if the sign fix is reverted.

Behavior Notes

k-Shape cluster centroids and time-series scores can change. Same-seed KPCA results can change when the eigen solver is stochastic. With an integer seed, a Sampling refit now reproduces its first fit; RandomState instances and None keep their advancing-generator behavior. Explicitly supplied XGBOD detector objects are still fitted in place.

Contributors

Thanks to @AHMETHAKANBEZIR1, @suhani125, @owgreen-dev, @Souptik96, and @AlejandroCoronadoN.

Full changelog: v3.6.6...v3.6.7

Don't miss a new pyod release

NewReleases is sending notifications on new releases.