Changes for version 0.5.0 - 2026-07-04

  • Wide-NV perls (-Duselongdouble / -Dusequadmath(maybe? does this even exist? but possibly some idiot on github... but would fix it in this case as well): the pure-Perl tree builder now rounds every value it stores (split points, hyperplane coefficients and offsets, impute fills) to C double precision at the same points the C builder rounds preserving the seed-for-seed bit-identical guarantee across backends. Possible breakages for the tests for extended mode where -Duselongdouble is in play may exist so tests for those systems where it is are skipped for now.
  • Implement Majority Voting Isolation Forest (MVIForest -- Chabchoub, Togbe, Boly & Chiky 2022, IEEE Access, doi:10.1109/ACCESS.2022.3144425) as new(voting => 'majority'): Since this only affects how the trees are walked etc and not build, the voting method can be switched between majority and mean.
    • adjust how iforest info displays tag info

Modules

unsupervised anomaly detection via Isolation Forest or Extended Isolation Forest

Provides

in lib/Algorithm/Classifier/IsolationForest/App.pm
in lib/Algorithm/Classifier/IsolationForest/App/Command.pm
in lib/Algorithm/Classifier/IsolationForest/App/Command/accel.pm
in lib/Algorithm/Classifier/IsolationForest/App/Command/bench.pm
in lib/Algorithm/Classifier/IsolationForest/App/Command/csv2plot.pm
in lib/Algorithm/Classifier/IsolationForest/App/Command/fit.pm
in lib/Algorithm/Classifier/IsolationForest/App/Command/gblob.pm
in lib/Algorithm/Classifier/IsolationForest/App/Command/info.pm
in lib/Algorithm/Classifier/IsolationForest/App/Command/pack.pm
in lib/Algorithm/Classifier/IsolationForest/App/Command/predict.pm
in lib/Algorithm/Classifier/IsolationForest/App/Command/set_voting.pm
in lib/Algorithm/Classifier/IsolationForest.pm
in benchmarking/BenchAccel.pm