moabb.pipelines.classification.SSVEP_MsetCCA#

class moabb.pipelines.classification.SSVEP_MsetCCA(freqs, n_filters=1, n_jobs=1)[source]#

Classifier based on MsetCCA for SSVEP.

The MsetCCA method learns multiple linear transforms to extract SSVEP common features from multiple sets of EEG data. These are then used to compute the reference signal used in CCA [1].

Parameters:
  • freqs (dict with n_classes keys) – Frequencies corresponding to the SSVEP stimulation frequencies. They are used to identify SSVEP classes presents in the data.

  • n_filters (int) – Number of multisets spatial filters used per sample data. It corresponds to the number of eigen vectors taken the solution of the MAXVAR objective function as formulated in Eq.5 in [1].

References

[1] (1,2)

Zhang, Y.U., Zhou, G., Jin, J., Wang, X. and Cichocki, A. (2014). Frequency recognition in SSVEP-based BCI using multiset canonical correlation analysis. International journal of neural systems, 24(04), p.1450013. https://doi.org/10.1142/S0129065714500130

Notes

New in version 0.5.0.

fit(X, y, sample_weight=None)[source]#

Compute the optimized reference signal at each stimulus frequency.

predict(X)[source]#

Predict is made by taking the maximum correlation coefficient.

predict_proba(X)[source]#

Probability could be computed from the correlation coefficient.

set_fit_request(*, sample_weight: Union[bool, None, str] = '$UNCHANGED$') SSVEP_MsetCCA[source]#

Request metadata passed to the fit method.

Note that this method is only relevant if enable_metadata_routing=True (see sklearn.set_config()). Please see User Guide on how the routing mechanism works.

The options for each parameter are:

  • True: metadata is requested, and passed to fit if provided. The request is ignored if metadata is not provided.

  • False: metadata is not requested and the meta-estimator will not pass it to fit.

  • None: metadata is not requested, and the meta-estimator will raise an error if the user provides it.

  • str: metadata should be passed to the meta-estimator with this given alias instead of the original name.

The default (sklearn.utils.metadata_routing.UNCHANGED) retains the existing request. This allows you to change the request for some parameters and not others.

New in version 1.3.

Note

This method is only relevant if this estimator is used as a sub-estimator of a meta-estimator, e.g. used inside a Pipeline. Otherwise it has no effect.

Parameters:

sample_weight (str, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED) – Metadata routing for sample_weight parameter in fit.

Returns:

self – The updated object.

Return type:

object

set_score_request(*, sample_weight: Union[bool, None, str] = '$UNCHANGED$') SSVEP_MsetCCA[source]#

Request metadata passed to the score method.

Note that this method is only relevant if enable_metadata_routing=True (see sklearn.set_config()). Please see User Guide on how the routing mechanism works.

The options for each parameter are:

  • True: metadata is requested, and passed to score if provided. The request is ignored if metadata is not provided.

  • False: metadata is not requested and the meta-estimator will not pass it to score.

  • None: metadata is not requested, and the meta-estimator will raise an error if the user provides it.

  • str: metadata should be passed to the meta-estimator with this given alias instead of the original name.

The default (sklearn.utils.metadata_routing.UNCHANGED) retains the existing request. This allows you to change the request for some parameters and not others.

New in version 1.3.

Note

This method is only relevant if this estimator is used as a sub-estimator of a meta-estimator, e.g. used inside a Pipeline. Otherwise it has no effect.

Parameters:

sample_weight (str, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED) – Metadata routing for sample_weight parameter in score.

Returns:

self – The updated object.

Return type:

object