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
XyY.- 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, dondeucorresponde al vector singular izquierdo.- copybool, default=True
Si se copian
XyYen 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
Yse 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_sampleses el número de muestras yn_featureses el número de predictores.- Yarray-like de forma (n_samples,) o (n_samples, n_targets)
Vectores objetivo, donde
n_sampleses el número de muestras yn_targetses 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_sampleses el número de muestras yn_componentses 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
XyY, 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_fittedes 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
scoreen 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étodoscorede 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
XyY, o se realiza la normalización en el lugar.
- Devuelve
x_scoressiYno está dado,(x_scores, y_scores)de lo contrario.