pyriemann.regression.KNearestNeighborRegressor

class pyriemann.regression.KNearestNeighborRegressor(n_neighbors=5, metric='riemann')

Regression by k-nearest-neighbors.

Regression by k-nearest neighbors (k-NN). For each point of the test set, the pairwise distance to each element of the training set is estimated. The value is calculated according to the softmax average w.r.t. distance of the k-nearest neighbors.

DISCLAIMER: This is an unpublished algorithm.

Parameters
n_neighborsint, default=5

Number of neighbors.

metricstring | dict, default=’riemann’

The type of metric used for distance estimation. See distance for the list of supported metric.

Notes

New in version 0.3.

Attributes
values_ndarray, shape (n_matrices,)

Training target values.

covmeans_ndarray, shape (n_matrices, n_channels, n_channels)

Training set of SPD matrices.

__init__(n_neighbors=5, metric='riemann')

Init.

fit(X, y, sample_weight=None)

Fit (store the training data).

Parameters
Xndarray, shape (n_matrices, n_channels, n_channels)

Set of SPD matrices.

yndarray, shape (n_matrices,)

Target values for each matrix.

sample_weightNone

Not used, here for compatibility with sklearn API.

Returns
selfKNearestNeighborRegressor instance

The KNearestNeighborRegressor instance.

fit_predict(X, y)

Fit and predict in one function.

fit_transform(X, y=None, **fit_params)

Fit to data, then transform it.

Fits transformer to X and y with optional parameters fit_params and returns a transformed version of X.

Parameters
Xarray-like of shape (n_samples, n_features)

Input samples.

yarray-like of shape (n_samples,) or (n_samples, n_outputs), default=None

Target values (None for unsupervised transformations).

**fit_paramsdict

Additional fit parameters.

Returns
X_newndarray array of shape (n_samples, n_features_new)

Transformed array.

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, shape (n_matrices,)

Predictions for each matrix according to the closest neighbors.

predict_proba(X)

Predict proba using softmax.

Parameters
Xndarray, shape (n_matrices, n_channels, n_channels)

Set of SPD matrices.

Returns
probndarray, shape (n_matrices, n_classes)

Probabilities for each class.

score(X, y)

Return the coefficient of determination of the prediction.

Parameters
Xndarray, shape (n_matrices, n_channels, n_channels)

Test set of SPD matrices.

yndarray, shape (n_matrices,)

True values for each matrix.

Returns
scorefloat

R2 of self.predict(X) wrt. y.

Notes

New in version 0.4.

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.

transform(X)

Get the distance to each centroid.

Parameters
Xndarray, shape (n_matrices, n_channels, n_channels)

Set of SPD matrices.

Returns
distndarray, shape (n_matrices, n_classes)

The distance to each centroid according to the metric.