# 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_components : int, default 2 Number of components to keep. scale : boolean, default True Whether to scale X and Y. copy : boolean, default True Whether to copy X and Y, or perform in-place computations. 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.

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(copy=True, n_components=2, scale=True)
>>> X_c, Y_c = plsca.transform(X, Y)
>>> X_c.shape, Y_c.shape
((4, 2), (4, 2))


Methods

 fit(X, Y) Fit model to data. fit_transform(X[, y]) Learn and apply the dimension reduction on the train data. get_params([deep]) Get parameters for this estimator. set_params(**params) Set the parameters of this estimator. transform(X[, Y]) Apply the dimension reduction learned on the train data.
__init__(n_components=2, scale=True, copy=True)[source]
fit(X, Y)[source]

Fit model to data.

Parameters: X : array-like, shape = [n_samples, n_features] Training vectors, where n_samples is the number of samples and n_features is the number of predictors. Y : array-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(X, y=None)[source]

Learn and apply the dimension reduction on the train data.

Parameters: X : array-like, shape = [n_samples, n_features] Training vectors, where n_samples is the number of samples and n_features is the number of predictors. y : array-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. x_scores if Y is not given, (x_scores, y_scores) otherwise.
get_params(deep=True)[source]

Get parameters for this estimator.

Parameters: deep : boolean, optional If True, will return the parameters for this estimator and contained subobjects that are estimators. params : mapping of string to any Parameter names mapped to their values.
set_params(**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(X, Y=None)[source]

Apply the dimension reduction learned on the train data.

Parameters: X : array-like, shape = [n_samples, n_features] Training vectors, where n_samples is the number of samples and n_features is the number of predictors. Y : array-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.