sklearn.cross_decomposition.PLSRegression

class sklearn.cross_decomposition.PLSRegression

Regresión PLS

PLSRegression también se conoce como PLS2 o PLS1, dependiendo del número de objetivos.

Lee más en la Manual de usuario.

Nuevo en la versión 0.8.

Parámetros
n_componentsint, default=2

Número de componentes a conservar. Debe estar en [1, min(n_samples, n_features, n_targets)].

scalebool, default=True

Si se escala X y Y.

algorithm{“nipals”, “svd”}, default=”nipals”

El algoritmo utilizado para estimar los primeros vectores singulares de la matriz de covarianza cruzada. “nipals” utiliza el método de la potencia mientras que “svd” calculará el SVD completo.

max_iterint, default=500

El número máximo de iteraciones del método de la potencia cuando algoritmo='nipals'. Se ignora en caso contrario.

tolfloat, default=1e-06

La tolerancia utilizada como criterio de convergencia en el método de potencia: el algoritmo se detiene siempre que la norma cuadrada de u_i - u_{i-1} sea menor que tol, donde u corresponde al vector singular izquierdo.

copybool, default=True

Si se copian X y Y en el ajuste antes de aplicar el centrado, y potencialmente el escalado. Si es False, estas operaciones se harán in place, modificando ambas matrices.

Atributos
x_weights_ndarray de forma (n_features, n_components)

Los vectores singulares izquierdos de las matrices de covarianza cruzada de cada iteración.

y_weights_ndarray de forma (n_targets, n_components)

Los vectores singulares derechos de las matrices de covarianza cruzada de cada iteración.

x_loadings_ndarray de forma (n_features, n_components)

Las cargas de X.

y_loadings_ndarray de forma (n_targets, n_components)

Las cargas de Y.

x_scores_ndarray de forma (n_samples, n_components)

Las muestras de entrenamiento transformadas.

y_scores_ndarray de forma (n_samples, n_components)

Los objetivos de entrenamiento transformados.

x_rotations_ndarray de forma (n_features, n_components)

La matriz de proyección utilizada para transformar «X».

y_rotations_ndarray de forma (n_features, n_components)

La matriz de proyección utilizada para transformar «Y».

coef_ndarray de forma (n_features, n_targets)

Los coeficientes del modelo lineal tal que Y se aproxima como Y = X @ coef_.

n_iter_list de forma (n_components,)

Número de iteraciones del método de potencia, para cada componente. Vacío si algoritmo='svd'.

Ejemplos

>>> from sklearn.cross_decomposition import PLSRegression
>>> 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]]
>>> pls2 = PLSRegression(n_components=2)
>>> pls2.fit(X, Y)
PLSRegression()
>>> Y_pred = pls2.predict(X)

Métodos

fit

Ajustar el modelo a los datos.

fit_transform

Aprende y aplica la reducción de dimensión en los datos del entrenamiento.

get_params

Obtiene los parámetros para este estimador.

inverse_transform

Transforma los datos a su espacio original.

predict

Predice los objetivos de las muestras dadas.

score

Devuelve el coeficiente de determinación \(R^2\) de la predicción.

set_params

Establece los parámetros de este estimador.

transform

Aplica la reducción de dimensión.

fit()

Ajustar el modelo a los datos.

Parámetros
Xarray-like de forma (n_samples, n_features)

Vectores de entrenamiento, donde n_samples es el número de muestras y n_features es el número de predictores.

Yarray-like de forma (n_samples,) o (n_samples, n_targets)

Vectores objetivo, donde n_samples es el número de muestras y n_targets es el número de variables de respuesta.

fit_transform()

Aprende y aplica la reducción de dimensión en los datos del entrenamiento.

Parámetros
Xarray-like de forma (n_samples, n_features)

Vectores de entrenamiento, donde n_samples es el número de muestras y n_features es el número de predictores.

yarray-like de forma (n_samples, n_targets), default=None

Vectores objetivo, donde n_samples es el número de muestras y n_targets es el número de variables de respuesta.

Devuelve
x_scores si no se da Y, (x_scores, y_scores) en caso contrario.
get_params()

Obtiene los parámetros para este estimador.

Parámetros
deepbool, default=True

Si es True, devolverá los parámetros para este estimador y los subobjetos contenidos que son estimadores.

Devuelve
parámetrosdict

Los nombres de los parámetros se asignan a sus valores.

inverse_transform()

Transforma los datos a su espacio original.

Parámetros
Xarray-like de forma (n_samples, n_components)

Nuevos datos, donde n_samples es el número de muestras y n_components es el número de componentes pls.

Devuelve
x_reconstructedarray-like de forma (n_samples, n_features)

Notas

Esta transformación solo será exacta si n_components=n_features.

predict()

Predice los objetivos de las muestras dadas.

Parámetros
Xarray-like de forma (n_samples, n_features)

Muestras.

copybool, default=True

Si se copia X y Y, o se realiza la normalización en el lugar.

Notas

Esta llamada requiere la estimación de una matriz de forma (n_features, n_targets), lo que puede ser un problema en un espacio de alta dimensión.

score()

Devuelve el coeficiente de determinación \(R^2\) de la predicción.

El coeficiente \(R^2\) se define como \((1 - \frac{u}{v})\), donde \(u\) es la suma residual de cuadrados ((y_true - y_pred) ** 2).sum() y \(v\) es la suma total de cuadrados ((y_true - y_true.mean()) ** 2).sum(). La mejor puntuación posible es 1,0 y puede ser negativa (porque el modelo puede ser arbitrariamente peor). Un modelo constante que siempre predice el valor esperado de y, sin tener en cuenta las características de entrada, obtendría una puntuación \(R^2\) de 0,0.

Parámetros
Xarray-like de forma (n_samples, n_features)

Muestras de prueba. Para algunos estimadores puede ser una matriz de núcleo precalculada o una lista de objetos genéricos con forma (n_samples, n_samples_fitted), donde n_samples_fitted es el número de muestras utilizadas en el ajuste para el estimador.

yarray-like de forma (n_samples,) o (n_samples, n_outputs)

Valores reales para X.

sample_weightarray-like de forma (n_samples,), default=None

Pesos de la muestra.

Devuelve
scorefloat

\(R^2\) de self.predict(X) con respecto a y.

Notas

La puntuación \(R^2\) utilizada al llamar a score en un regresor utiliza multioutput='uniform_average' desde la versión 0.23 para mantener la coherencia con el valor predeterminado de r2_score`. Esto influye en el método score de todos los regresores de salida múltiple (excepto para MultiOutputRegressor).

set_params()

Establece los parámetros de este estimador.

El método funciona tanto con estimadores simples como con objetos anidados (como Pipeline). Estos últimos tienen parámetros de la forma ``<component>__<parameter>` para que sea posible actualizar cada componente de un objeto anidado.

Parámetros
**paramsdict

Parámetros del estimador.

Devuelve
selfinstancia del estimador

Instancia del estimador.

transform()

Aplica la reducción de dimensión.

Parámetros
Xarray-like de forma (n_samples, n_features)

Muestras a transformar.

Yarray-like de forma (n_samples, n_targets), default=None

Vectores destino.

copybool, default=True

Si se copia X y Y, o se realiza la normalización en el lugar.

Devuelve
x_scores si Y no está dado, (x_scores, y_scores) de lo contrario.