Skip to content

Isolation Forest follow-up work #8420

Description

@csadorf

Tracks deferred robustness, scalability, interoperability, API-parity, and cuml.accel work following #8226.

C++ API robustness

Sampling quality and scalability

Python interoperability and persistence

  • Support conversion of fitted models between cuML and scikit-learn, or document any representations that cannot be transferred. Isolation Forest Implementation  #8226 (comment)
  • Investigate using nvforest for inference, and dropping the C++ model entirely
  • Preserve fitted model behavior across pickle round trips, potentially using the serialized Treelite model and nvForest inference path, and remove the check_estimators_pickle xfail.
  • Raise NotFittedError from unfitted estimator methods and remove the corresponding common-estimator-check xfail.
  • Implement or deprecate the unsupported sample_weight argument
  • Implement or deprecate the unsupported warm_start argument
  • Support estimator_, estimators_, estimators_features_, and estimators_samples_ attributes

cuml.accel support

  • Add cuml.accel support for IsolationForest.

Treelite usage

  • Set task_type=kIsolationForest in the Treelite representation
  • Use the built-in postprocessor exponential_standard_ratio in Treelite/nvForest; remove the transform s(x) = 2^(-E[h(x)] / c(n)) from the Python layer.

Follow-up to #8226.
Related to #6096.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions