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 y en problemas de regresión. Esta transformación puede ser dada como un Transformador como el QuantileTransformer o como una función y su inversa como log y exp.

El cálculo durante fit es:

regressor.fit(X, func(y))

o:

regressor.fit(X, transformer.transform(y))

El cálculo durante predict es:

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 es None, LinearRegression() is creado y utilizado.

transformerobject, default=None

Objeto de estimador tal como el derivado de TransformerMixin. No puede establecerse al mismo tiempo que func y inverse_func. Si transformer es None igual que func y inverse_func, el transformador sera un transformador de identidad. Note que el transformador sera clonado durante el ajuste. Además, el transformer esta restringiendo y a un array de numpy.

funcfunction, default=None

Función a aplicar a y antes de pasar a fit. No se puede establecer al mismo tiempo que transformer. La función necesita devolver un array de dos dimensiones. Si func es None, 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 transform seguido de inverse_transform o func seguido de inverse_func conduce a los objetivos originales.

Atributos
regressor_objeto

Regresor ajustado.

transformer_objeto

Transformador usado en fit y predict.

Notas

Internamente, el objetivo y siempre 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 que y.

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

fit

Ajusta el modelo de acuerdo a los datos de entrenamiento dados.

get_params

Obtiene los parámetros para este estimador.

predict

Predice usando el regresor base, aplicando el inverso.

score

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

set_params

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_samples es el número de muestras y n_features es el número de características.

yarray-like de forma (n_samples,)

Valores objetivo.

**fit_paramsdict

Parámetros pasados al método fit del 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_` o inverse_transform se 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 de y, 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), donde n_samples_fitted es 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 a y.

Notas

La puntuación \(R^2\) usada al llamar score en un regresor utiliza multioutput='uniform_average' desde la versión 0.23 para mantenerse consistente con el valor predeterminado de r2_score. Esto influencia el método score de todos los regresores multisalida (excepto MultiOutputRegressor).

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.

Ejemplos usando sklearn.compose.TransformedTargetRegressor