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
yY
.- 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 quetol
, dondeu
corresponde al vector singular izquierdo.- copybool, default=True
Si se copian
X
yY
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 comoY = 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
Ajustar el modelo a los datos.
Aprende y aplica la reducción de dimensión en los datos del entrenamiento.
Obtiene los parámetros para este estimador.
Transforma los datos a su espacio original.
Predice los objetivos de las muestras dadas.
Devuelve el coeficiente de determinación \(R^2\) de la predicción.
Establece los parámetros de este estimador.
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 yn_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 yn_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 yn_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
yY
, 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 dey
, 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)
, donden_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 ay
.
Notas
La puntuación \(R^2\) utilizada al llamar a
score
en un regresor utilizamultioutput='uniform_average'
desde la versión 0.23 para mantener la coherencia con el valor predeterminado der2_score`
. Esto influye en el métodoscore
de todos los regresores de salida múltiple (excepto paraMultiOutputRegressor
).
- 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
yY
, o se realiza la normalización en el lugar.
- Devuelve
x_scores
siY
no está dado,(x_scores, y_scores)
de lo contrario.