sklearn.multioutput
.RegressorChain¶
- class sklearn.multioutput.RegressorChain¶
Un modelo de multietiqueta que organiza regresiones en una cadena.
Cada modelo realiza una predicción en el orden especificado por la cadena utilizando todas las características disponibles proporcionadas al modelo, más las predicciones de los modelos que están antes en la cadena.
Más información en el Manual de usuario.
Nuevo en la versión 0.20.
- Parámetros
- base_estimatorestimador
El estimador base a partir del cual se construye la cadena de clasificación.
- orderarray-like de forma (n_outputs,) o “random “, default=None
Si es None, el orden será determinado por el orden de las columnas en la matriz de etiquetas Y.:
order = [0, 1, 2, ..., Y.shape[1] - 1]
El orden de la cadena puede establecerse explícitamente proporcionando una lista de enteros. Por ejemplo, para una cadena de longitud 5.:
order = [1, 3, 2, 4, 0]
significa que el primer modelo de la cadena hará predicciones para la columna 1 de la matriz Y, el segundo modelo hará predicciones para la columna 3, etc.
Si el orden es “random” se usará un orden aleatorio.
- cventero, generador de validación cruzada o un iterable, default=None
Determina si se utilizan predicciones validadas de forma cruzada o etiquetas verdaderas para los resultados de los estimadores anteriores en la cadena. Las entradas posibles para cv son:
None, para usar etiquetas verdaderas cuando se haga el ajuste,
entero, para especificar el número de pliegues en un (Stratified)KFold,
Un iterable que produce divisiones (train, test) como arreglos de índices.
- random_stateentero, instancia de RandomState o None, opcional (default=None)
Si
order='random'
, determina la generación de números aleatorios para el orden de la cadena. Además, controla la semilla aleatoria dada en cadabase_estimator
en cada iteración de encadenamiento. Por lo tanto, sólo se utiliza cuandobase_estimator
expone unrandom_state
. Pasa un int para una salida reproducible a través de múltiples llamadas a la función. Ver Glosario.
- Atributos
- estimators_lista
Una lista de clones de base_estimator.
- order_lista
El orden de las etiquetas en la cadena de clasificadores.
Ver también
ClassifierChain
Equivalente para la clasificación.
MultioutputRegressor
Aprende cada salida de forma independiente en lugar de encadenarla.
Ejemplos
>>> from sklearn.multioutput import RegressorChain >>> from sklearn.linear_model import LogisticRegression >>> logreg = LogisticRegression(solver='lbfgs',multi_class='multinomial') >>> X, Y = [[1, 0], [0, 1], [1, 1]], [[0, 2], [1, 1], [2, 0]] >>> chain = RegressorChain(base_estimator=logreg, order=[0, 1]).fit(X, Y) >>> chain.predict(X) array([[0., 2.], [1., 1.], [2., 0.]])
Métodos
Ajusta el modelo a la matriz de datos X y a los objetivos Y.
Obtiene los parámetros para este estimador.
Predecir sobre la matriz de datos X utilizando el modelo ClassifierChain.
Devuelve el coeficiente de determinación \(R^2\) de la predicción.
Establece los parámetros de este estimador.
- fit()¶
Ajusta el modelo a la matriz de datos X y a los objetivos Y.
- Parámetros
- X{array-like, sparse matrix} de forma (n_samples, n_features)
Los datos de entrada.
- Yarray-like de forma (n_samples, n_classes)
Valores objetivo.
- **fit_paramsdict de str -> object
Parámetros pasados al método
fit
en cada paso de la cadena de regresores.Nuevo en la versión 0.23.
- Devuelve
- selfobject
- get_params()¶
Obtiene los parámetros para este estimador.
- Parámetros
- deepbooleano, default=True
Si es True, devolverá los parámetros para este estimador y los sub objetos contenidos que son estimadores.
- Devuelve
- paramsdict
Nombres de parámetros mapeados a sus valores.
- predict()¶
Predecir sobre la matriz de datos X utilizando el modelo ClassifierChain.
- Parámetros
- X{array-like, sparse matrix} de forma (n_samples, n_features)
Los datos de entrada.
- Devuelve
- Y_predarray-like de forma (n_samples, n_classes)
Valores predichos.
- 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 de cuadrados de los residuos
((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 núcleo precalculada o una lista de objetos genéricos en su lugar con forma
(n_samples, n_samples_fitted)
, donden_samples_fitted
es el número de muestras utilizadas en el ajuste para el estimador.- yarray-like de forma (n_samples,) o (n_samples, n_outputs)
Valores True para X`.
- sample_weightarray-like de forma (n_samples,), default=None
Ponderaciones de la muestra.
- Devuelve
- scorefloat
\(R^2\) de
self.predict(X)
con respecto ay
.
Notas
El valor \(R^2\) utilizado al invocar a
score
en un regresor utilizamultioutput='uniform_average'
desde la versión 0.23 para mantener la consistencia con el valor predeterminado der2_score
. Esto influye en el métodoscore
de 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 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.
- Devuelve
- selfinstancia del estimador
Instancia de estimador.