fishy.models.classic.opls_da

Classes

class fishy.models.classic.opls_da.OPLS_DA(n_components: int = 1)[source]

Bases: BaseEstimator, ClassifierMixin

Orthogonal Partial Least Squares Discriminant Analysis (OPLS-DA) classifier.

This model combines OPLS for dimensionality reduction and LDA for classification. It requires the pyopls package.

n_components

Number of orthogonal components.

Type:

int

opls

The fitted OPLS transformer.

Type:

OPLS

lda

The fitted LDA classifier.

Type:

LinearDiscriminantAnalysis

scaler

Scaler for input features.

Type:

StandardScaler

__init__(n_components: int = 1)[source]

Initializes the OPLS-DA classifier.

Parameters:

n_components (int, optional) – Number of orthogonal components. Defaults to 1.

fit(X: ndarray, y: ndarray) OPLS_DA[source]

Fits the OPLS-DA model.

Parameters:
  • X (np.ndarray) – Training features.

  • y (np.ndarray) – Target labels.

Returns:

The fitted estimator.

Return type:

OPLS_DA

Raises:

ImportError – If pyopls is not installed.

predict(X: ndarray) ndarray[source]

Predicts class labels.

Parameters:

X (np.ndarray) – Input features.

Returns:

Predicted labels.

Return type:

np.ndarray

predict_proba(X: ndarray) ndarray[source]

Predicts class probabilities.

Parameters:

X (np.ndarray) – Input features.

Returns:

Class probabilities.

Return type:

np.ndarray

set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') OPLS_DA[source]

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

transform(X: ndarray) ndarray[source]

Projects data into the OPLS space.

Parameters:

X (np.ndarray) – Input features.

Returns:

Projected features.

Return type:

np.ndarray

s