package sklearn

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Cross_decomposition.PLSCanonicalSource

Sourcetype tag = [
  1. | `PLSCanonical
]
Sourcetype t = [ `BaseEstimator | `MultiOutputMixin | `Object | `PLSCanonical | `RegressorMixin | `TransformerMixin ] Obj.t
Sourceval of_pyobject : Py.Object.t -> t
Sourceval to_pyobject : [> tag ] Obj.t -> Py.Object.t
Sourceval as_transformer : t -> [ `TransformerMixin ] Obj.t
Sourceval as_estimator : t -> [ `BaseEstimator ] Obj.t
Sourceval as_regressor : t -> [ `RegressorMixin ] Obj.t
Sourceval as_multi_output : t -> [ `MultiOutputMixin ] Obj.t
Sourceval create : ?n_components:int -> ?scale:bool -> ?algorithm:[ `Svd | `Nipals ] -> ?max_iter:int -> ?tol:float -> ?copy:bool -> unit -> t

PLSCanonical implements the 2 blocks canonical PLS of the original Wold algorithm Tenenhaus 1998 p.204, referred as PLS-C2A in Wegelin 2000.

This class inherits from PLS with mode='A' and deflation_mode='canonical', norm_y_weights=True and algorithm='nipals', but svd should provide similar results up to numerical errors.

Read more in the :ref:`User Guide <cross_decomposition>`.

.. versionadded:: 0.8

Parameters ---------- n_components : int, (default 2). Number of components to keep

scale : boolean, (default True) Option to scale data

algorithm : string, 'nipals' or 'svd' The algorithm used to estimate the weights. It will be called n_components times, i.e. once for each iteration of the outer loop.

max_iter : an integer, (default 500) the maximum number of iterations of the NIPALS inner loop (used only if algorithm='nipals')

tol : non-negative real, default 1e-06 the tolerance used in the iterative algorithm

copy : boolean, default True Whether the deflation should be done on a copy. Let the default value to True unless you don't care about side effect

Attributes ---------- x_weights_ : array, shape = p, n_components X block weights vectors.

y_weights_ : array, shape = q, n_components Y block weights vectors.

x_loadings_ : array, shape = p, n_components X block loadings vectors.

y_loadings_ : array, shape = q, n_components Y block loadings vectors.

x_scores_ : array, shape = n_samples, n_components X scores.

y_scores_ : array, shape = n_samples, n_components Y scores.

x_rotations_ : array, shape = p, n_components X block to latents rotations.

y_rotations_ : array, shape = q, n_components Y block to latents rotations.

coef_ : array of shape (p, q) The coefficients of the linear model: ``Y = X coef_ + Err``

n_iter_ : array-like Number of iterations of the NIPALS inner loop for each component. Not useful if the algorithm provided is 'svd'.

Notes ----- Matrices::

T: x_scores_ U: y_scores_ W: x_weights_ C: y_weights_ P: x_loadings_ Q: y_loadings__

Are computed such that::

X = T P.T + Err and Y = U Q.T + Err T:, k = Xk W:, k for k in range(n_components) U:, k = Yk C:, k for k in range(n_components) x_rotations_ = W (P.T W)^(-1) y_rotations_ = C (Q.T C)^(-1)

where Xk and Yk are residual matrices at iteration k.

`Slides explaining PLS <http://www.eigenvector.com/Docs/Wise_pls_properties.pdf>`_

For each component k, find weights u, v that optimize::

max corr(Xk u, Yk v) * std(Xk u) std(Yk u), such that ``|u| = |v| = 1``

Note that it maximizes both the correlations between the scores and the intra-block variances.

The residual matrix of X (Xk+1) block is obtained by the deflation on the current X score: x_score.

The residual matrix of Y (Yk+1) block is obtained by deflation on the current Y score. This performs a canonical symmetric version of the PLS regression. But slightly different than the CCA. This is mostly used for modeling.

This implementation provides the same results that the 'plspm' package provided in the R language (R-project), using the function plsca(X, Y). Results are equal or collinear with the function ``pls(..., mode = 'canonical')`` of the 'mixOmics' package. The difference relies in the fact that mixOmics implementation does not exactly implement the Wold algorithm since it does not normalize y_weights to one.

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

References ----------

Jacob A. Wegelin. A survey of Partial Least Squares (PLS) methods, with emphasis on the two-block case. Technical Report 371, Department of Statistics, University of Washington, Seattle, 2000.

Tenenhaus, M. (1998). La regression PLS: theorie et pratique. Paris: Editions Technic.

See also -------- CCA PLSSVD

Sourceval fit : x:[> `ArrayLike ] Np.Obj.t -> y:[> `ArrayLike ] Np.Obj.t -> [> tag ] Obj.t -> t

Fit model to data.

Parameters ---------- X : array-like of 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 of shape (n_samples, n_targets) Target vectors, where n_samples is the number of samples and n_targets is the number of response variables.

Sourceval fit_transform : ?y:[> `ArrayLike ] Np.Obj.t -> x:[> `ArrayLike ] Np.Obj.t -> [> tag ] Obj.t -> [> `ArrayLike ] Np.Obj.t

Learn and apply the dimension reduction on the train data.

Parameters ---------- X : array-like of 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 of 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.

Sourceval get_params : ?deep:bool -> [> tag ] Obj.t -> Dict.t

Get parameters for this estimator.

Parameters ---------- deep : bool, default=True If True, will return the parameters for this estimator and contained subobjects that are estimators.

Returns ------- params : mapping of string to any Parameter names mapped to their values.

Sourceval inverse_transform : x:[> `ArrayLike ] Np.Obj.t -> [> tag ] Obj.t -> [> `ArrayLike ] Np.Obj.t

Transform data back to its original space.

Parameters ---------- X : array-like of shape (n_samples, n_components) New data, where n_samples is the number of samples and n_components is the number of pls components.

Returns ------- x_reconstructed : array-like of shape (n_samples, n_features)

Notes ----- This transformation will only be exact if n_components=n_features

Sourceval predict : ?copy:bool -> x:[> `ArrayLike ] Np.Obj.t -> [> tag ] Obj.t -> [> `ArrayLike ] Np.Obj.t

Apply the dimension reduction learned on the train data.

Parameters ---------- X : array-like of shape (n_samples, n_features) Training vectors, where n_samples is the number of samples and n_features is the number of predictors.

copy : boolean, default True Whether to copy X and Y, or perform in-place normalization.

Notes ----- This call requires the estimation of a p x q matrix, which may be an issue in high dimensional space.

Sourceval score : ?sample_weight:[> `ArrayLike ] Np.Obj.t -> x:[> `ArrayLike ] Np.Obj.t -> y:[> `ArrayLike ] Np.Obj.t -> [> tag ] Obj.t -> float

Return the coefficient of determination R^2 of the prediction.

The coefficient R^2 is defined as (1 - u/v), where u is the residual sum of squares ((y_true - y_pred) ** 2).sum() and v is the total sum of squares ((y_true - y_true.mean()) ** 2).sum(). The best possible score is 1.0 and it can be negative (because the model can be arbitrarily worse). A constant model that always predicts the expected value of y, disregarding the input features, would get a R^2 score of 0.0.

Parameters ---------- X : array-like of shape (n_samples, n_features) Test samples. For some estimators this may be a precomputed kernel matrix or a list of generic objects instead, shape = (n_samples, n_samples_fitted), where n_samples_fitted is the number of samples used in the fitting for the estimator.

y : array-like of shape (n_samples,) or (n_samples, n_outputs) True values for X.

sample_weight : array-like of shape (n_samples,), default=None Sample weights.

Returns ------- score : float R^2 of self.predict(X) wrt. y.

Notes ----- The R2 score used when calling ``score`` on a regressor uses ``multioutput='uniform_average'`` from version 0.23 to keep consistent with default value of :func:`~sklearn.metrics.r2_score`. This influences the ``score`` method of all the multioutput regressors (except for :class:`~sklearn.multioutput.MultiOutputRegressor`).

Sourceval set_params : ?params:(string * Py.Object.t) list -> [> tag ] Obj.t -> t

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.

Parameters ---------- **params : dict Estimator parameters.

Returns ------- self : object Estimator instance.

Sourceval transform : ?y:[> `ArrayLike ] Np.Obj.t -> ?copy:bool -> x:[> `ArrayLike ] Np.Obj.t -> [> tag ] Obj.t -> [> `ArrayLike ] Np.Obj.t

Apply the dimension reduction learned on the train data.

Parameters ---------- X : array-like of 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 of shape (n_samples, n_targets) Target vectors, where n_samples is the number of samples and n_targets is the number of response variables.

copy : boolean, default True Whether to copy X and Y, or perform in-place normalization.

Returns ------- x_scores if Y is not given, (x_scores, y_scores) otherwise.

Sourceval x_weights_ : t -> [> `ArrayLike ] Np.Obj.t

Attribute x_weights_: get value or raise Not_found if None.

Sourceval x_weights_opt : t -> [> `ArrayLike ] Np.Obj.t option

Attribute x_weights_: get value as an option.

Sourceval y_weights_ : t -> [> `ArrayLike ] Np.Obj.t

Attribute y_weights_: get value or raise Not_found if None.

Sourceval y_weights_opt : t -> [> `ArrayLike ] Np.Obj.t option

Attribute y_weights_: get value as an option.

Sourceval x_loadings_ : t -> [> `ArrayLike ] Np.Obj.t

Attribute x_loadings_: get value or raise Not_found if None.

Sourceval x_loadings_opt : t -> [> `ArrayLike ] Np.Obj.t option

Attribute x_loadings_: get value as an option.

Sourceval y_loadings_ : t -> [> `ArrayLike ] Np.Obj.t

Attribute y_loadings_: get value or raise Not_found if None.

Sourceval y_loadings_opt : t -> [> `ArrayLike ] Np.Obj.t option

Attribute y_loadings_: get value as an option.

Sourceval x_scores_ : t -> [> `ArrayLike ] Np.Obj.t

Attribute x_scores_: get value or raise Not_found if None.

Sourceval x_scores_opt : t -> [> `ArrayLike ] Np.Obj.t option

Attribute x_scores_: get value as an option.

Sourceval y_scores_ : t -> [> `ArrayLike ] Np.Obj.t

Attribute y_scores_: get value or raise Not_found if None.

Sourceval y_scores_opt : t -> [> `ArrayLike ] Np.Obj.t option

Attribute y_scores_: get value as an option.

Sourceval x_rotations_ : t -> [> `ArrayLike ] Np.Obj.t

Attribute x_rotations_: get value or raise Not_found if None.

Sourceval x_rotations_opt : t -> [> `ArrayLike ] Np.Obj.t option

Attribute x_rotations_: get value as an option.

Sourceval y_rotations_ : t -> [> `ArrayLike ] Np.Obj.t

Attribute y_rotations_: get value or raise Not_found if None.

Sourceval y_rotations_opt : t -> [> `ArrayLike ] Np.Obj.t option

Attribute y_rotations_: get value as an option.

Sourceval coef_ : t -> [> `ArrayLike ] Np.Obj.t

Attribute coef_: get value or raise Not_found if None.

Sourceval coef_opt : t -> [> `ArrayLike ] Np.Obj.t option

Attribute coef_: get value as an option.

Sourceval n_iter_ : t -> [> `ArrayLike ] Np.Obj.t

Attribute n_iter_: get value or raise Not_found if None.

Sourceval n_iter_opt : t -> [> `ArrayLike ] Np.Obj.t option

Attribute n_iter_: get value as an option.

Sourceval to_string : t -> string

Print the object to a human-readable representation.

Sourceval show : t -> string

Print the object to a human-readable representation.

Sourceval pp : Format.formatter -> t -> unit

Pretty-print the object to a formatter.

OCaml

Innovation. Community. Security.