Zurück zu den Modellen
Classifier

DrCIF

MultivariatePredict probaTrain estimateContractable

Diverse Representation Canonical Interval Forest Classifier (DrCIF).

Extension of the CIF algorithm using multiple representations. Implementation of the interval based forest making use of the catch22 feature set on randomly selected intervals on the base series, periodogram representation and differences representation described in the HIVE-COTE 2.0 paper Middlehurst et al (2021). [1]

Overview: Input “n” series with “d” dimensions of length “m”. For each tree

  • Sample n_intervals intervals per representation of random position and length

  • Subsample att_subsample_size catch22 or summary statistic attributes randomly

  • Randomly select dimension for each interval

  • Calculate attributes for each interval from its representation, concatenate to form new data set

  • Build decision tree on new data set

Ensemble the trees with averaged probability estimates

Schnellstart

python
from sktime.classification.interval_based import DrCIF

estimator = DrCIF(n_estimators=200, n_intervals=None, att_subsample_size=10, min_interval=4, max_interval=None, base_estimator='CIT', time_limit_in_minutes=0.0, contract_max_n_estimators=500, save_transformed_data=False, n_jobs=1, random_state=None)

Parameter(11)

n_estimatorsint, default=200
Number of estimators to build for the ensemble.
n_intervalsint, length 3 list of int or None, default=None
Number of intervals to extract per representation per tree as an int for all representations or list for individual settings, if None extracts (4 + (sqrt(representation_length) * sqrt(n_dims)) / 3) intervals.
att_subsample_sizeint, default=10
Number of catch22 or summary statistic attributes to subsample per tree.
min_intervalint or length 3 list of int, default=4
Minimum length of an interval per representation as an int for all representations or list for individual settings.
max_intervalint, length 3 list of int or None, default=None
Maximum length of an interval per representation as an int for all representations or list for individual settings, if None set to (representation_length / 2).
base_estimatorBaseEstimator or str, default=”CIT”
Base estimator for the ensemble, can be supplied a sklearn BaseEstimator or a string for suggested options. “DTC” uses the sklearn DecisionTreeClassifier using entropy as a splitting measure (sklearn.tree.DecisionTreeClassifier). “CIT” uses the sktime ContinuousIntervalTree, an implementation of the original tree used with embedded attribute processing for faster predictions (sktime.classification.interval_based.ContinuousIntervalTree). In order to pass parameters to estimators, pass a BaseEstimator instance.
time_limit_in_minutesint, default=0
Time contract to limit build time in minutes, overriding n_estimators. Default of 0 means n_estimators is used.
contract_max_n_estimatorsint, default=500
Max number of estimators when time_limit_in_minutes is set.
save_transformed_databool, default=False
Save the data transformed in fit for use in _get_train_probs.
n_jobsint, default=1

The number of jobs to run in parallel for both fit and predict. -1 means using all processors.

random_stateint or None, default=None
Seed for random number generation.

Beispiele

>>> from sktime.classification.interval_based import DrCIF
>>> from sktime.datasets import load_unit_test
>>> X_train, y_train = load_unit_test (split = "train", return_X_y = True)
>>> X_test, y_test = load_unit_test (split = "test", return_X_y = True)
>>> clf = DrCIF (
... n_estimators = 3, n_intervals = 2, att_subsample_size = 2
... )
>>> clf. fit (X_train, y_train) DrCIF(
... )
>>> y_pred = clf. predict (X_test)

Referenzen

[1]

Middlehurst, Matthew, James Large, Michael Flynn, Jason Lines, Aaron Bostrom, and Anthony Bagnall. “HIVE-COTE 2.0: a new meta ensemble for time series classification.” arXiv preprint arXiv:2104.07551 (2021).