sklearn.compose.TransformedTargetRegressor¶
- class sklearn.compose.TransformedTargetRegressor¶
Metaestimador para la regresión de un objetivo transformado.
Útil para aplicar una transformación no lineal al objetivo
yen problemas de regresión. Esta transformación puede ser dada como un Transformador como el QuantileTransformer o como una función y su inversa comologyexp.El cálculo durante
fites:regressor.fit(X, func(y))
o:
regressor.fit(X, transformer.transform(y))
El cálculo durante
predictes:inverse_func(regressor.predict(X))
o:
transformer.inverse_transform(regressor.predict(X))
Más información en el Manual de usuario.
Nuevo en la versión 0.20.
- Parámetros
- regressorobject, default=None
Objeto regressor tal como el derivado de
RegressorMixin. Este regressor sera automáticamente clonado cada vez antes del ajuste. Si el regressor esNone,LinearRegression()is creado y utilizado.- transformerobject, default=None
Objeto de estimador tal como el derivado de
TransformerMixin. No puede establecerse al mismo tiempo quefuncyinverse_func. SitransformeresNoneigual quefuncyinverse_func, el transformador sera un transformador de identidad. Note que el transformador sera clonado durante el ajuste. Además, el transformer esta restringiendoya un array de numpy.- funcfunction, default=None
Función a aplicar a
yantes de pasar afit. No se puede establecer al mismo tiempo quetransformer. La función necesita devolver un array de dos dimensiones. SifuncesNone, la función utilizada será la función de identidad.- inverse_funcfunction, default=None
Función para aplicar a la predicción del regresor. Tampoco se puede establecer al mismo tiempo que
transformer. La función necesita devolver un array de dos dimensiones. La función inversa se utiliza para devolver las predicciones al mismo espacio de las etiquetas de entrenamiento originales.- check_inversebool, default=True
Si comprobar que
transformseguido deinverse_transformofuncseguido deinverse_funcconduce a los objetivos originales.
- Atributos
- regressor_objeto
Regresor ajustado.
- transformer_objeto
Transformador usado en
fitypredict.
Notas
Internamente, el objetivo
ysiempre es convertido a una matriz de 2 dimensiones para ser usada por transformadores de scikit-learn. En el tiempo de la predicción, la salida será remodelada para siempre tener el mismo número de dimensiones quey.Ver examples/compose/plot_transformed_target.py.
Ejemplos
>>> import numpy as np >>> from sklearn.linear_model import LinearRegression >>> from sklearn.compose import TransformedTargetRegressor >>> tt = TransformedTargetRegressor(regressor=LinearRegression(), ... func=np.log, inverse_func=np.exp) >>> X = np.arange(4).reshape(-1, 1) >>> y = np.exp(2 * X).ravel() >>> tt.fit(X, y) TransformedTargetRegressor(...) >>> tt.score(X, y) 1.0 >>> tt.regressor_.coef_ array([2.])
Métodos
Ajusta el modelo de acuerdo a los datos de entrenamiento dados.
Obtiene los parámetros para este estimador.
Predice usando el regresor base, aplicando el inverso.
Devuelve el coeficiente de determinación \(R^2\) de la predicción.
Establece los parámetros de este estimador.
- fit()¶
Ajusta el modelo de acuerdo a los datos de entrenamiento dados.
- Parámetros
- X{array-like, sparse matrix} de forma (n_samples, n_features)
Vector de entrenamiento, donde
n_sampleses el número de muestras yn_featureses el número de características.- yarray-like de forma (n_samples,)
Valores objetivo.
- **fit_paramsdict
Parámetros pasados al método
fitdel regresor subyacente.
- Devoluciones
- selfobjeto
- 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.
- Devoluciones
- paramsdict
Nombres de parámetros asignados a sus valores.
- predict()¶
Predice usando el regresor base, aplicando el inverso.
El regresor se utiliza para predecir y la
ìnverse_func_`oinverse_transformse aplica antes de devolver la predicción.- Parámetros
- X{array-like, sparse matrix} de forma (n_samples, n_features)
Muestras.
- Devoluciones
- y_hatndarray de forma (n_samples,)
Valores predecidos.
- score()¶
Devuelve el coeficiente de determinación \(R^2\) de la predicción.
El coeficiente \(R^2\) está definido 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, recibirí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 esta puede ser una matriz de núcleo precalculada o una lista de objetos genéricos en su lugar con la forma
(n_samples, n_samples_fitted), donden_samples_fittedes el número de muestras usadas en el ajuste del estimador.- yarray-like de la forma (n_samples,) o (n_samples, n_outputs)
Valores reales para
X.- sample_weightarray-like de forma (n_samples,), default=None
Ponderados de muestras.
- Devoluciones
- scorefloat
\(R^2\) de
self.predict(X)con respecto ay.
Notas
La puntuación \(R^2\) usada al llamar
scoreen un regresor utilizamultioutput='uniform_average'desde la versión 0.23 para mantenerse consistente con el valor predeterminado der2_score. Esto influencia el métodoscorede todos los regresores multisalida (exceptoMultiOutputRegressor).
- set_params()¶
Establece los parámetros de este estimador.
El método funciona tanto en estimadores simples como en 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.
- Devoluciones
- selfinstancia de estimador
Instancia del estimador.