ProximityForest

class sktime.classification.distance_based.ProximityForest(random_state=None, n_estimators=100, distance_measure=None, get_distance_measure=None, get_exemplars=<function get_one_exemplar_per_class_proximity>, get_gain=<function gini_gain>, verbosity=0, max_depth=inf, is_leaf=<function pure>, n_jobs=1, n_stump_evaluations=5, find_stump=None, setup_distance_measure_getter=<function setup_all_distance_measure_getter>)[source]

Proximity Forest class to model a decision tree forest which uses distance measures to partition data, see [1].

Parameters
  • random_state (random, default = None) – seed for reproducibility

  • n_estimators (int, default=100) – The number of trees in the forest.

  • distance_measure (default = None) –

  • get_distance_measure (default=None,) – distance measure getters

  • get_exemplars (default=get_one_exemplar_per_class_proximity,) –

  • get_gain (default=gini_gain,) – function to score the quality of a split

  • verbosity (default=0,) – logging verbosity

  • max_depth (default=np.math.inf,) –

  • is_leaf (default=pure,) –

  • n_jobs (default=int, 1,) – number of jobs to run in parallel *across threads”

  • n_stump_evaluations (int, default=5,) –

  • find_stump (default=None,) – function to find the best split of data

  • setup_distance_measure_getter=setup_all_distance_measure_getter

:param : :param setup_distance_measure_getter: :type setup_distance_measure_getter: function to setup the distance

label_encoder[source]
Type

label encoder to change string labels to numeric indices

classes_[source]
Type

unique list of classes

get_exemplars[source]

class value list

Type

function to extract exemplars from a dataframe and

max_depth[source]
Type

max tree depth

X[source]
Type

train data

y[source]
Type

train data labels

trees[source]
Type

list of trees in the forest

Notes

..[1] Ben Lucas et al., “Proximity Forest: an effective and scalable distance-based

classifier for time series”,Data Mining and Knowledge Discovery, 33(3): 607-635, 2019 https://arxiv.org/abs/1808.10594

Java wrapper of authors original https://github.com/uea-machine-learning/tsml/blob/master/src/main/java/tsml/ classifiers/distance_based/ProximityForestWrapper.java Java version https://github.com/uea-machine-learning/tsml/blob/master/src/main/java/tsml/ classifiers/distance_based/proximity/ProximityForest.java

__init__(random_state=None, n_estimators=100, distance_measure=None, get_distance_measure=None, get_exemplars=<function get_one_exemplar_per_class_proximity>, get_gain=<function gini_gain>, verbosity=0, max_depth=inf, is_leaf=<function pure>, n_jobs=1, n_stump_evaluations=5, find_stump=None, setup_distance_measure_getter=<function setup_all_distance_measure_getter>)[source]

build a Proximity Forest object :param random_state: the random state :param get_exemplars: get the exemplars from a given dataframe and list of class labels :param distance_measure: distance measure to use :param get_distance_measure: method to get the distance measure if no already set :param setup_distance_measure_getter: method to setup the distance measures based upon the dataset given :param get_gain: method to find the gain of a data split :param max_depth: maximum depth of the tree :param is_leaf: function to decide when to mark a node as a leaf node :param verbosity: number reflecting the verbosity of logging :param n_jobs: number of parallel threads to use while building :param find_stump: method to find the best split of data / stump at a node :param n_stump_evaluations: number of stump evaluations to do if find_stump method is None :param n_estimators: number of trees to construct