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 comolog
yexp
.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 esNone
,LinearRegression()
is creado y utilizado.- transformerobject, default=None
Objeto de estimador tal como el derivado de
TransformerMixin
. No puede establecerse al mismo tiempo quefunc
yinverse_func
. Sitransformer
esNone
igual quefunc
yinverse_func
, el transformador sera un transformador de identidad. Note que el transformador sera clonado durante el ajuste. Además, el transformer esta restringiendoy
a un array de numpy.- funcfunction, default=None
Función a aplicar a
y
antes de pasar afit
. No se puede establecer al mismo tiempo quetransformer
. La función necesita devolver un array de dos dimensiones. Sifunc
esNone
, 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 deinverse_transform
ofunc
seguido deinverse_func
conduce a los objetivos originales.
- Atributos
- regressor_objeto
Regresor ajustado.
- transformer_objeto
Transformador usado en
fit
ypredict
.
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 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_samples
es el número de muestras yn_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_`
oinverse_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 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_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 ay
.
Notas
La puntuación \(R^2\) usada al llamar
score
en un regresor utilizamultioutput='uniform_average'
desde la versión 0.23 para mantenerse consistente con el valor predeterminado der2_score
. Esto influencia el métodoscore
de 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.