TimeSeriesForestClassifier
TimeSeriesForestClassifier
- class TimeSeriesForestClassifier(min_interval=3, n_estimators=200, inner_series_length: int | None = None, n_jobs=1, random_state=None)[source]
Time series forest classifier.
A time series forest is an ensemble of decision trees built on random intervals. Overview: Input n series length m. For each tree
sample sqrt(m) intervals,
find mean, std and slope for each interval, concatenate to form new
data set, if inner series length is set, then intervals are sampled within bins of length inner_series_length. - build decision tree on new data set.
Ensemble the trees with averaged probability estimates.
This implementation deviates from the original in minor ways. It samples intervals with replacement and does not use the splitting criteria tiny refinement described in [1].
This classifier is intentionally written with low configurability, for performance reasons.
for a more configurable tree based ensemble, use
sktime.classification.ensemble.ComposableTimeSeriesForestClassifier, which also allows switching the base estimator.to build a a time series forest with configurable ensembling, base estimator, and/or feature extraction, fully from composable blocks, combine
sktime.classification.ensemble.BaggingClassifierwith any classifier pipeline, e.g., pipelining anysklearnclassifier with any time series feature extraction, e.g.,Summarizer
- Parameters:
- n_estimatorsint, default=200
Number of estimators to build for the ensemble.
- min_intervalint, default=3
Minimum length of an interval.
- n_jobsint, default=1
The number of jobs to run in parallel for both
fitandpredict.-1means using all processors.- inner_series_length: int, default=None
The maximum length of unique segments within X from which we extract intervals is determined. This helps prevent the extraction of intervals that span across distinct inner series.
- random_stateint or None, default=None
Seed for random number generation.
- Attributes:
- n_classes_int
The number of classes.
- classes_list
The classes labels.
feature_importances_pandas Dataframe of shape (series_length, 3)Return the temporal feature importances.
Notes
For the Java version, see `TSML <https://github.com/uea-machine-learning/tsml/blob/master/src/main/
java/tsml/classifiers/interval_based/TSF.java>`_.
References
[1]H.Deng, G.Runger, E.Tuv and M.Vladimir, “A time series forest for classification and feature extraction”,Information Sciences, 239, 2013
Examples
>>> from sktime.classification.interval_based import TimeSeriesForestClassifier >>> 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 = TimeSeriesForestClassifier(n_estimators=5) >>> clf.fit(X_train, y_train) TimeSeriesForestClassifier(n_estimators=5) >>> y_pred = clf.predict(X_test)
Methods
apply(X)Apply trees in the forest to X, return leaf indices.
check_is_fitted([method_name])Check if the estimator has been fitted.
clone()Obtain a clone of the object with same hyper-parameters and config.
clone_tags(estimator[, tag_names])Clone tags from another object as dynamic override.
create_test_instance([parameter_set])Construct an instance of the class, using first test parameter set.
create_test_instances_and_names([parameter_set])Create list of all test instances and a list of names for them.
decision_path(X)Return the decision path in the forest.
fit(X, y, **kwargs)Wrap fit to call BaseClassifier.fit.
fit_predict(X, y[, cv, change_state])Fit and predict labels for sequences in X.
fit_predict_proba(X, y[, cv, change_state])Fit and predict labels probabilities for sequences in X.
get_class_tag(tag_name[, tag_value_default])Get class tag value from class, with tag level inheritance from parents.
get_class_tags()Get class tags from class, with tag level inheritance from parent classes.
get_config()Get config flags for self.
get_fitted_params([deep])Get fitted parameters.
get_metadata_routing()Get metadata routing of this object.
get_param_defaults()Get object's parameter defaults.
get_param_names([sort])Get object's parameter names.
get_params([deep])Get parameters for this estimator.
get_tag(tag_name[, tag_value_default, ...])Get tag value from instance, with tag level inheritance and overrides.
get_tags()Get tags from instance, with tag level inheritance and overrides.
get_test_params([parameter_set])Return testing parameter settings for the estimator.
is_composite()Check if the object is composed of other BaseObjects.
load_from_path(serial)Load object from file location.
load_from_serial(serial)Load object from serialized memory container.
predict(X, **kwargs)Wrap predict to call BaseClassifier.predict.
predict_log_proba(X)Predict class log-probabilities for X.
predict_proba(X, **kwargs)Wrap predict_proba to call BaseClassifier.predict_proba.
reset()Reset the object to a clean post-init state.
save([path, serialization_format])Save serialized self to bytes-like object or to (.zip) file.
score(X, y[, sample_weight])Return accuracy on provided data and labels.
set_config(**config_dict)Set config flags to given values.
set_fit_request(*[, sample_weight])Configure whether metadata should be requested to be passed to the
fitmethod.set_params(**params)Set the parameters of this estimator.
set_random_state([random_state, deep, ...])Set random_state pseudo-random seed parameters for self.
set_score_request(*[, sample_weight])Configure whether metadata should be requested to be passed to the
scoremethod.set_tags(**tag_dict)Set instance level tag overrides to given values.

