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
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
de la predicción.El coeficiente
está definido como , donde es la suma residual de cuadrados((y_true - y_pred) ** 2).sum()
y 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 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
deself.predict(X)
con respecto ay
.
Notas
La puntuación
usada al llamarscore
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.