pyriemann.classification.TSclassifier

class pyriemann.classification.TSclassifier(metric='riemann', tsupdate=False, clf=LogisticRegression())

Classification in the tangent space.

Project data in the tangent space and apply a classifier on the projected data. This is a simple helper to pipeline the tangent space projection and a classifier. Default classifier is LogisticRegression

Parameters
metricstring | dict, default=’riemann’

The type of metric used for reference matrix estimation (see mean_covariance for the list of supported metric) and for tangent space map (see tangent_space for the list of supported metric). The metric could be a dict with two keys, mean and map in order to pass different metrics for the reference matrix estimation and the tangent space mapping.

tsupdatebool, default=False

Activate tangent space update for covariate shift correction between training and test, as described in [2]. This is not compatible with online implementation. Performance are better when the number of matrices for prediction is higher.

clfsklearn classifier, default=LogisticRegression()

The classifier to apply in the tangent space.

See also

TangentSpace

Notes

New in version 0.2.4.

Attributes
classes_ndarray, shape (n_classes,)

Labels for each class.

__init__(metric='riemann', tsupdate=False, clf=LogisticRegression())

Init.

fit(X, y, sample_weight=None)

Fit TSclassifier.

Parameters
Xndarray, shape (n_matrices, n_channels, n_channels)

Set of SPD matrices.

yndarray, shape (n_matrices,)

Labels for each matrix.

sample_weightNone | ndarray, shape (n_matrices,), default=None

Weights for each matrix. If None, it uses equal weights.

Returns
selfTSclassifier instance

The TSclassifier instance.

get_params(deep=True)

Get parameters for this estimator.

Parameters
deepbool, default=True

If True, will return the parameters for this estimator and contained subobjects that are estimators.

Returns
paramsdict

Parameter names mapped to their values.

predict(X)

Get the predictions.

Parameters
Xndarray, shape (n_matrices, n_channels, n_channels)

Set of SPD matrices.

Returns
predndarray of int, shape (n_matrices,)

Predictions for each matrix according to the closest centroid.

predict_proba(X)

Get the probability.

Parameters
Xndarray, shape (n_matrices, n_channels, n_channels)

Set of SPD matrices.

Returns
predndarray of ifloat, shape (n_matrices, n_classes)

Predictions for each matrix according to the closest centroid.

score(X, y, sample_weight=None)

Return the mean accuracy on the given test data and labels.

In multi-label classification, this is the subset accuracy which is a harsh metric since you require for each sample that each label set be correctly predicted.

Parameters
Xarray-like of shape (n_samples, n_features)

Test samples.

yarray-like of shape (n_samples,) or (n_samples, n_outputs)

True labels for X.

sample_weightarray-like of shape (n_samples,), default=None

Sample weights.

Returns
scorefloat

Mean accuracy of self.predict(X) wrt. y.

set_params(**params)

Set the parameters of this estimator.

The method works on simple estimators as well as on nested objects (such as Pipeline). The latter have parameters of the form <component>__<parameter> so that it’s possible to update each component of a nested object.

Parameters
**paramsdict

Estimator parameters.

Returns
selfestimator instance

Estimator instance.