sklearn.cross_decomposition.PLSSVD

class sklearn.cross_decomposition.PLSSVD(n_components=2, scale=True, copy=True)[source]

Partial Least Square SVD

Simply perform a svd on the crosscovariance matrix: X’Y There are no iterative deflation here.

Read more in the User Guide.

Parameters
n_componentsint, default 2

Number of components to keep.

scaleboolean, default True

Whether to scale X and Y.

copyboolean, default True

Whether to copy X and Y, or perform in-place computations.

Attributes
x_weights_array, [p, n_components]

X block weights vectors.

y_weights_array, [q, n_components]

Y block weights vectors.

x_scores_array, [n_samples, n_components]

X scores.

y_scores_array, [n_samples, n_components]

Y scores.

See also

PLSCanonical
CCA

Examples

>>> import numpy as np
>>> from sklearn.cross_decomposition import PLSSVD
>>> X = np.array([[0., 0., 1.],
...     [1.,0.,0.],
...     [2.,2.,2.],
...     [2.,5.,4.]])
>>> Y = np.array([[0.1, -0.2],
...     [0.9, 1.1],
...     [6.2, 5.9],
...     [11.9, 12.3]])
>>> plsca = PLSSVD(n_components=2)
>>> plsca.fit(X, Y)
PLSSVD()
>>> X_c, Y_c = plsca.transform(X, Y)
>>> X_c.shape, Y_c.shape
((4, 2), (4, 2))

Methods

fit(self, X, Y)

Fit model to data.

fit_transform(self, X[, y])

Learn and apply the dimension reduction on the train data.

get_params(self[, deep])

Get parameters for this estimator.

set_params(self, \*\*params)

Set the parameters of this estimator.

transform(self, X[, Y])

Apply the dimension reduction learned on the train data.

__init__(self, n_components=2, scale=True, copy=True)[source]

Initialize self. See help(type(self)) for accurate signature.

fit(self, X, Y)[source]

Fit model to data.

Parameters
Xarray-like, shape = [n_samples, n_features]

Training vectors, where n_samples is the number of samples and n_features is the number of predictors.

Yarray-like, shape = [n_samples, n_targets]

Target vectors, where n_samples is the number of samples and n_targets is the number of response variables.

fit_transform(self, X, y=None)[source]

Learn and apply the dimension reduction on the train data.

Parameters
Xarray-like, shape = [n_samples, n_features]

Training vectors, where n_samples is the number of samples and n_features is the number of predictors.

yarray-like, shape = [n_samples, n_targets]

Target vectors, where n_samples is the number of samples and n_targets is the number of response variables.

Returns
x_scores if Y is not given, (x_scores, y_scores) otherwise.
get_params(self, deep=True)[source]

Get parameters for this estimator.

Parameters
deepboolean, optional

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

Returns
paramsmapping of string to any

Parameter names mapped to their values.

set_params(self, **params)[source]

Set the parameters of this estimator.

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

Returns
self
transform(self, X, Y=None)[source]

Apply the dimension reduction learned on the train data.

Parameters
Xarray-like, shape = [n_samples, n_features]

Training vectors, where n_samples is the number of samples and n_features is the number of predictors.

Yarray-like, shape = [n_samples, n_targets]

Target vectors, where n_samples is the number of samples and n_targets is the number of response variables.