sklearn.ensemble.AdaBoostClassifier

class sklearn.ensemble.AdaBoostClassifier

Un clasificador AdaBoost.

Un clasificador de AdaBoost [1] es un metaestimador que comienza por ajustar un clasificador en el conjunto de datos original y luego ajusta copias adicionales del clasificador en el mismo conjunto de datos, pero donde las ponderaciones de las instancias mal clasificadas se ajustan de tal manera que los clasificadores posteriores se centran más en casos difíciles.

Esta clase implementa el algoritmo conocido como AdaBoost-SAMME [2].

Más información en el Manual de usuario.

Nuevo en la versión 0.14.

Parámetros
base_estimatorobjecto, default=None

El estimador base desde el cual se construye el ensemble potenciado. Se requiere soporte para la ponderación de la muestra, así como los atributos apropiados classes_ y n_classes_. Si None, el estimador base es DecisionTreeClassifier inicializado con max_depth=1.

n_estimatorsint, default=50

El número máximo de estimadores en los que se termina la potenciación. En caso de ajuste perfecto, el procedimiento de aprendizaje se detiene pronto.

learning_rateflotante, default=1.

La tasa de aprendizaje reduce la contribución de cada árbol por learning_rate. Hay una compensación entre learning_rate y n_estimators.

algorithm{“SAMME”, “SAMME.R”}, default=”SAMME.R”

Si es SAMME.R, utiliza el algoritmo potenciador real de SAMME.R. base_estimator debe soportar el cálculo de las probabilidades de clase. Si es «SAMME», utilice el algoritmo potenciador discreto SAMME. El algoritmo SAMME.R suele converger más rápido que SAMME, logrando un menor error de prueba con menos iteraciones potenciadoras.

random_stateentero, instancia de RandomState o None, default=None

Controla la semilla aleatoria dada en cada base_estimator en cada iteración potenciadora. 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
base_estimator_estimador

El estimador base a partir del cual crece el ensemble.

estimators_lista de clasificadores

La colección de sub-estimadores ajustados.

classes_ndarray de forma (n_classes,)

Las etiquetas de clases.

n_classes_int

El número de clases.

estimator_pesos_ndarray de flotantes

Ponderaciones para cada estimador en el ensemble potenciados.

estimator_errors_ndarray de flotantes

Error de clasificación para cada estimador en el ensemble potenciado.

feature_importances_ndarray de forma (n_features,)

Las importancias basadas en la impureza de las características.

Ver también

AdaBoostRegressor

Un regresor de AdaBoost que comienza por ajustar un regresor en el conjunto de datos original y luego ajusta copias adicionales del regresor en el mismo conjunto de datos pero donde los pesos de las instancias se ajustan de acuerdo al error de la predicción actual.

GradientBoostingClassifier

GB construye un modelo aditivo por etapas. Los árboles de regresión se ajustan al gradiente negativo de la función de pérdida de desviación binomial o multinomial. La clasificación binaria es un caso especial en el que sólo se induce un único árbol de regresión.

sklearn.tree.DecisionTreeClassifier

Método de aprendizaje supervisado no paramétrico utilizado para la clasificación. Crea un modelo que predice el valor de una variable objetivo mediante el aprendizaje de reglas de decisión simples inferidas a partir de las características de los datos.

Referencias

1

Y. Freund, R. Schapire, «A Decision-Theoretic Generalization of on-Line Learning and an Application to Boosting», 1995.

2
  1. Zhu, H. Zou, S. Rosset, T. Hastie, «Multi-class AdaBoost», 2009.

Ejemplos

>>> from sklearn.ensemble import AdaBoostClassifier
>>> from sklearn.datasets import make_classification
>>> X, y = make_classification(n_samples=1000, n_features=4,
...                            n_informative=2, n_redundant=0,
...                            random_state=0, shuffle=False)
>>> clf = AdaBoostClassifier(n_estimators=100, random_state=0)
>>> clf.fit(X, y)
AdaBoostClassifier(n_estimators=100, random_state=0)
>>> clf.predict([[0, 0, 0, 0]])
array([1])
>>> clf.score(X, y)
0.983...

Métodos

decision_function

Calcula la función de decisión de X.

fit

Construye un clasificador potenciado del conjunto de entrenamiento (X, y).

get_params

Obtiene los parámetros para este estimador.

predict

Predice clases para X.

predict_log_proba

Predice las probabilidades logarítmicas de clase para X.

predict_proba

Predice las probabilidades de clase para X.

score

Devuelve la precisión media en los datos de prueba y las etiquetas dados.

set_params

Establecer los parámetros de este estimador.

staged_decision_function

Calcula la función de decisión de X para cada iteración potenciadora.

staged_predict

Devuelve predicciones escalonadas para X.

staged_predict_proba

Predice las probabilidades de clase para X.

staged_score

Devuelve las puntuaciones escalonadas para X, y.

decision_function()

Calcula la función de decisión de X.

Parámetros
X{array-like, sparse matrix} de forma (n_samples, n_features)

Las muestras de entrada de entrenamiento. La matriz dispersa puede ser CSC, CSR, COO, DOK o LIL. COO, DOK, y LIL se convierten en CSR.

Devuelve
scorendarray de forma de (n_samples, k)

La función de decisión de las muestras de entrada. El orden de salida es igual al del atributo classes_. La clasificación binaria es un caso especial con k == 1, de lo contrario k==n_classes. Para la clasificación binaria, los valores más cercanos a -1 o 1 significan más como la primera o la segunda clase en classes_, respectivamente.

property feature_importances_

Las importancias basadas en la impureza de las características.

Cuanto más alto, más importante sera la característica. La importancia de una característica se calcula como la reducción total (normalizada) del criterio traído por esa función. También se le conoce como la importancia de Gini.

Advertencia: las importancias de características basadas en la impureza pueden ser no representativas para las características de alta cardinalidad (muchos valores únicos). Ver sklearn.inspection.permutation_importance como una alternativa.

Devuelve
feature_importances_ndarray de forma (n_features,)

La importancia de las características.

fit()

Construye un clasificador potenciado del conjunto de entrenamiento (X, y).

Parámetros
X{array-like, sparse matrix} de forma (n_samples, n_features)

Las muestras de entrada de entrenamiento. La matriz dispersa puede ser CSC, CSR, COO, DOK o LIL. COO, DOK, y LIL se convierten en CSR.

yarray-like de forma (n_samples,)

Los valores objetivo (etiquetas de clase).

sample_weightarray-like de forma (n_samples,), default=None

Ponderaciones de muestra. Si es None, las ponderaciones de las muestras se inicializan a 1 / n_samples.

Devuelve
selfobject

Estimador ajustado.

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

Los nombres de los parámetros se asignan a sus valores.

predict()

Predice clases para X.

La clase predicha de una muestra de entrada se calcula como la predicción ponderada de los clasificadores en el conjunto.

Parámetros
X{array-like, sparse matrix} de forma (n_samples, n_features)

Las muestras de entrada de entrenamiento. La matriz dispersa puede ser CSC, CSR, COO, DOK o LIL. COO, DOK, y LIL se convierten en CSR.

Devuelve
yndarray de forma (n_samples,)

Las clases predichas.

predict_log_proba()

Predice las probabilidades logarítmicas de clase para X.

Las probabilidades logarítmicas de clase predichas de una muestra de entrada se calculan como la media ponderada de las probabilidades logarítmicas de clase predichas de los clasificadores del ensemble.

Parámetros
X{array-like, sparse matrix} de forma (n_samples, n_features)

Las muestras de entrada de entrenamiento. La matriz dispersa puede ser CSC, CSR, COO, DOK o LIL. COO, DOK, y LIL se convierten en CSR.

Devuelve
pndarray de forma (n_samples, n_classes)

Las probabilidades de clase de las muestras de entrada. El orden de salida es el mismo que el del atributo classes_.

predict_proba()

Predice las probabilidades de clase para X.

Las probabilidades de clase predichas de una muestra de entrada se calculan como las probabilidades de clase ponderadas predichas de los clasificadores en el ensemble.

Parámetros
X{array-like, sparse matrix} de forma (n_samples, n_features)

Las muestras de entrada de entrenamiento. La matriz dispersa puede ser CSC, CSR, COO, DOK o LIL. COO, DOK, y LIL se convierten en CSR.

Devuelve
pndarray de forma (n_samples, n_classes)

Las probabilidades de clase de las muestras de entrada. El orden de salida es el mismo que el del atributo classes_.

score()

Devuelve la precisión media en los datos de prueba y las etiquetas dados.

En la clasificación multietiqueta, esta es la precisión del subconjunto, la cual es una métrica rigurosa ya que se requiere para cada muestra que cada conjunto de etiquetas sea predicho correctamente.

Parámetros
Xarray-like de forma (n_samples, n_features)

Muestras de prueba.

yarray-like de forma (n_samples,) o (n_samples, n_outputs)

Etiquetas verdaderas para X.

sample_weightarray-like de forma (n_samples,), default=None

Ponderación de muestras.

Devuelve
scorefloat

Precisión media de self.predict(X) con relación a y.

set_params()

Establecer los parámetros de este estimador.

El método funciona en estimadores simples así 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 del estimador.

staged_decision_function()

Calcula la función de decisión de X para cada iteración potenciadora.

Este método permite el monitoreo (es decir, determinar el error en el conjunto de pruebas) después de cada iteración potenciadora.

Parámetros
X{array-like, sparse matrix} de forma (n_samples, n_features)

Las muestras de entrada de entrenamiento. La matriz dispersa puede ser CSC, CSR, COO, DOK o LIL. COO, DOK, y LIL se convierten en CSR.

Produce
scoregenerador de ndarray de forma (n_samples, k)

La función de decisión de las muestras de entrada. El orden de salida es igual al del atributo classes_. La clasificación binaria es un caso especial con k == 1, de lo contrario k==n_classes. Para la clasificación binaria, los valores más cercanos a -1 o 1 significan más como la primera o la segunda clase en classes_, respectivamente.

staged_predict()

Devuelve predicciones escalonadas para X.

La clase predicha de una muestra de entrada se calcula como la predicción ponderada de los clasificadores en el conjunto.

Este método generador produce la predicción del ensemble después de cada iteración potenciadora y por lo tanto permite el monitoreo, tal como determinar la predicción en un conjunto de pruebas después de cada potenciación.

Parámetros
Xarray-like de forma (n_samples, n_features)

Las muestras de entrada. La matriz dispersa puede ser CSC, CSR, COO, DOK, LIL. COO, DOK, y LIL se convierten en CSR.

Produce
ygenerador de ndarray de forma (n_samples,)

Las clases predichas.

staged_predict_proba()

Predice las probabilidades de clase para X.

Las probabilidades de clase predichas de una muestra de entrada se calculan como las probabilidades de clase ponderadas predichas de los clasificadores en el ensemble.

Este método generador produce las probabilidades de clase predichas del conjunto después de cada iteración de potenciación y por lo tanto permite el monitoreo, tal como determinar las probabilidades de clase predichas en un conjunto de pruebas después de cada potenciación.

Parámetros
X{array-like, sparse matrix} de forma (n_samples, n_features)

Las muestras de entrada de entrenamiento. La matriz dispersa puede ser CSC, CSR, COO, DOK o LIL. COO, DOK, y LIL se convierten en CSR.

Produce
pgenerador de ndarray de forma (n_samples,)

Las probabilidades de clase de las muestras de entrada. El orden de salida es el mismo que el del atributo classes_.

staged_score()

Devuelve las puntuaciones escalonadas para X, y.

Este método generador produce la puntuación del ensemble después de cada iteración potenciadora y por lo tanto permite el monitoreo, tal como determinar la puntuación en un conjunto de pruebas después de cada potenciación.

Parámetros
X{array-like, sparse matrix} de forma (n_samples, n_features)

Las muestras de entrada de entrenamiento. La matriz dispersa puede ser CSC, CSR, COO, DOK o LIL. COO, DOK, y LIL se convierten en CSR.

yarray-like de forma (n_samples,)

Etiquetas para X.

sample_weightarray-like de forma (n_samples,), default=None

Ponderación de muestras.

Produce
zfloat