Repository navigation
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_listandstandardization_flag_listas given and store the resolved detectors inestimator_list_andstandardization_flag_list_, soget_params()andclone()round-trip. #767, fixes #755. - Sampling and KPCA: store
random_stateas given and resolve it infit, so repeated fits with an integer seed are reproducible. #753, fixes #750. - INNE: call
BaseDetector.__init__, so an out-of-rangecontaminationraisesValueErrorlike every other detector. #759, fixes #752. - HBOS and LODA:
get_optimal_n_binsaccepts 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 labelledacceptedand 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_functionscores withn_components=3. - A k-Shape test runs
_kshapeon 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