Tracks deferred robustness, scalability, interoperability, API-parity, and cuml.accel work following #8226.
C++ API robustness
Sampling quality and scalability
Python interoperability and persistence
cuml.accel support
Treelite usage
Follow-up to #8226.
Related to #6096.
Tracks deferred robustness, scalability, interoperability, API-parity, and
cuml.accelwork following #8226.C++ API robustness
n_rows == 0in the public C++ scoring path before launching a zero-block CUDA kernel, and use checked launch-dimension casts. Isolation Forest Implementation #8226 (comment)Sampling quality and scalability
max_samplesormax_features. Consider a fast path whenmax_samples == n_rowsand a scalable sampling strategy. Isolation Forest Implementation #8226 (comment)Python interoperability and persistence
NotFittedErrorfrom unfitted estimator methods and remove the corresponding common-estimator-check xfail. RaiseNotFittedErrorfrom unfittedIsolationForestmethods #8546sample_weightandwarm_startarguments. FIX Remove spuriousIsolationForestarguments #8486estimator_,estimators_, andestimators_features_on the nativecuml.ensemble.IsolationForest. These are currently available only after scikit-learn conversion andcuml.accelsynchronization through Support fitted IsolationForest conversion to scikit-learn #8483.estimators_samples_on native and converted estimators.as_sklearntests fail against nightly scikit-learn #8548cuml.accelsupportcuml.accelsupport for IsolationForest #8468Treelite usage
task_type=kIsolationForestin the Treelite representation.exponential_standard_ratiopostprocessor in Treelite/nvForest, and remove the transforms(x) = 2^(-E[h(x)] / c(n))from the Python layer.n_node_samplesin exported isolation forest #8488data_countanddata_count_present, then remove the local_invert_average_path_lengthand_recover_node_sample_countsworkaround. Upstream support landed in Export more metadata fromexport_model()dmlc/treelite#684.Follow-up to #8226.
Related to #6096.