pyntbci.gates.DifferenceGate

class pyntbci.gates.DifferenceGate(estimator: ClassifierMixin)[source]

Gate described by classification of difference scores. Difference scores are defined as all differences between all pairs of classes.

Parameters:

estimator (ClassifierMixin) – The estimator used to classify difference scores.

classes_

The classes that can be predicted, taken from the wrapped estimator’s classes_ after fitting it on the difference scores.

Type:

NDArray

estimator_

The fitted clone of estimator. The passed-in estimator is never mutated.

Type:

ClassifierMixin

decision_function(X: NDArray) NDArray[source]

Compute gated scores for X.

Parameters:

X (NDArray) – Score matrix of shape (n_trials, n_classes, n_items).

Returns:

scores – Score matrix of shape (n_trials, n_classes).

Return type:

NDArray

fit(X: NDArray, y: NDArray) ClassifierMixin[source]

Fit a difference scores gate. Note, calibrates the estimator on difference scores.

Parameters:
  • X (NDArray) – Score matrix of shape (n_trials, n_classes, n_items).

  • y (NDArray) – Label vector of shape (n_trials).

Returns:

self – Returns the instance itself.

Return type:

ClassifierMixin

predict(X: NDArray) NDArray[source]

Predict the labels of X.

Parameters:

X (NDArray) – Score matrix of shape (n_trials, n_classes, n_items).

Returns:

y – Predicted label vector of shape (n_trials).

Return type:

NDArray

set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') DifferenceGate

Configure whether metadata should be requested to be passed to the score method.

Note that this method is only relevant when this estimator is used as a sub-estimator within a meta-estimator and metadata routing is enabled with enable_metadata_routing=True (see sklearn.set_config()). Please check the 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.

Added in version 1.3.

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