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,

  • separador de CV,

  • 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 cada base_estimator en cada iteración de encadenamiento. Por lo tanto, sólo se utiliza cuando base_estimator expone un random_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

fit

Ajusta el modelo a la matriz de datos X y a los objetivos Y.

get_params

Obtiene los parámetros para este estimador.

predict

Predecir sobre la matriz de datos X utilizando el modelo ClassifierChain.

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 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 de y, 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), donde n_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 a y.

Notas

El valor \(R^2\) utilizado al invocar a score en un regresor utiliza multioutput='uniform_average' desde la versión 0.23 para mantener la consistencia con el valor predeterminado de r2_score. Esto influye en el método score de todos los regresores de salida múltiple (excepto para MultiOutputRegressor).

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.