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_
yn_classes_
. SiNone
, el estimador base esDecisionTreeClassifier
inicializado conmax_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 entrelearning_rate
yn_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 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
- 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
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
Calcula la función de decisión de
X
.Construye un clasificador potenciado del conjunto de entrenamiento (X, y).
Obtiene los parámetros para este estimador.
Predice clases para X.
Predice las probabilidades logarítmicas de clase para X.
Predice las probabilidades de clase para X.
Devuelve la precisión media en los datos de prueba y las etiquetas dados.
Establecer los parámetros de este estimador.
Calcula la función de decisión de
X
para cada iteración potenciadora.Devuelve predicciones escalonadas para X.
Predice las probabilidades de clase para X.
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 contrariok==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 enclasses_
, 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 ay
.
- 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 contrariok==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 enclasses_
, 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