TimeSeriesBinaryClassifier#
- class TimeSeriesBinaryClassifier(feature_extractor: BaseTimeSeriesFeatureExtractor, classifier: ClassifierMixin, threshold: float = 0.5)[source]#
Bases:
BaseMixin
,PickleSerializable
Class for holding time series binary classification.
Note
This class requires
classification
extension to be installed. Read more about this at installation page.Init TimeSeriesClassifier with given parameters.
- Parameters:
feature_extractor (BaseTimeSeriesFeatureExtractor) – Instance of time series feature extractor.
classifier (ClassifierMixin) – Instance of classifier with sklearn interface.
threshold (float) – Positive class probability threshold.
Methods
dump
(path, *args, **kwargs)Save the object.
fit
(x, y)Fit the classifier.
load
(path, *args, **kwargs)Load the object.
masked_crossval_score
(x, y, mask)Calculate classification metrics on cross-validation.
predict
(x)Predict classes with threshold.
Predict probabilities of the positive class.
set_params
(**params)Return new object instance with modified parameters.
to_dict
()Collect all information about etna object in dict.
Attributes
This class stores its
__init__
parameters as attributes.NEGATIVE_CLASS
POSITIVE_CLASS
- fit(x: List[ndarray], y: ndarray) TimeSeriesBinaryClassifier [source]#
Fit the classifier.
- Parameters:
- Returns:
Fitted instance of classifier.
- Return type:
- masked_crossval_score(x: List[ndarray], y: ndarray, mask: ndarray) Dict[str, list] [source]#
Calculate classification metrics on cross-validation.
- set_params(**params: dict) Self [source]#
Return new object instance with modified parameters.
Method also allows to change parameters of nested objects within the current object. For example, it is possible to change parameters of a
model
in aPipeline
.Nested parameters are expected to be in a
<component_1>.<...>.<parameter>
form, where components are separated by a dot.- Parameters:
**params (dict) – Estimator parameters
- Returns:
New instance with changed parameters
- Return type:
Self
Examples
>>> from etna.pipeline import Pipeline >>> from etna.models import NaiveModel >>> from etna.transforms import AddConstTransform >>> model = model=NaiveModel(lag=1) >>> transforms = [AddConstTransform(in_column="target", value=1)] >>> pipeline = Pipeline(model, transforms=transforms, horizon=3) >>> pipeline.set_params(**{"model.lag": 3, "transforms.0.value": 2}) Pipeline(model = NaiveModel(lag = 3, ), transforms = [AddConstTransform(in_column = 'target', value = 2, inplace = True, out_column = None, )], horizon = 3, )