Adaboost en Sklearn

Adaboost en Sklearn
“Adaboost es una técnica de impulso de gradiente que se utiliza para convertir los alumnos débiles a fuertes. Se utiliza ampliamente en varias plataformas de aprendizaje automático competitivos. Este artículo discutirá el algoritmo Adaboost, sus usos y su implementación en Sklearn."

¿Qué es el aprendizaje del conjunto??

Al combinar muchos modelos, el aprendizaje de conjunto mejora los resultados del aprendizaje automático. En comparación con el uso de un solo modelo, esta estrategia permite la generación de un mayor rendimiento de predicción. Para reducir la varianza (bolsas), reducir el sesgo (impulso) y mejorar las predicciones, los enfoques de conjunto combinan múltiples técnicas de aprendizaje automático en un modelo predictivo (apilamiento).

¿Qué es ADABOOST??

Adaboost es un ejemplo de "aprendizaje conjunto", que implica el uso de muchos alumnos para crear un algoritmo de aprendizaje más efectivo. Adaboost opera seleccionando un algoritmo básico (como árboles de decisión) y mejorando incrementalmente considerando las muestras clasificadas incorrectamente en el conjunto de capacitación. Seleccionamos un método básico y le damos a cada ejemplo de entrenamiento el mismo peso. El conjunto de entrenamiento está sujeto al algoritmo base en cada iteración, y los pesos de los casos que se clasificaron erróneamente aumentan. Aplicamos el alumno base al conjunto de capacitación con pesos actualizados cada vez que repitemos "n" veces. El promedio ponderado de los alumnos "n" constituye el modelo final.

¿Por qué usamos Adaboost??

Dado que los parámetros de entrada en el algoritmo Adaboost no están optimizados simultáneamente, se ve menos afectado por el sobreajuste. Al aplicar Adaboost, se puede aumentar la precisión de los clasificadores débiles. En lugar de problemas de clasificación binaria, Adaboost también se utiliza para resolver problemas de clasificación de texto e imágenes. Adaboost también se emplea con frecuencia en problemas desafiantes de aprendizaje automático.

Implementación de Adaboost en Sklearn

Importación de bibliotecas
de Sklearn.ENEMBLE DE IMPORTA ADABOOSTCLASIFICADOR
de Sklearn.DataSets Import Make_Classification
Creando el conjunto de datos
X, y = make_classification (n_samples = 500, n_feature = 4, n_informative = 2, n_redundant = 0, random_state = 0, shuffle = false)
Imprimir ("Los datos de la función son", x)
imprimir ("Los datos de la etiqueta son", y)

Producción

Los datos de características son [[0.44229321 0.08089276 0.54077359 -1.81807763]
[1.34699113 1.48361993 -0.04932407 0.2390336]
[-0.54639809 -1.1629494 -1.00033035 1.67398571]

[0.8903941 1.08980087 -1.53292105 -1.71197016]
[0.73135482 1.25041511 0.04613506 -0.95837448]
[0.26852399 1.70213738 -0.08081161 -0.70385904]]
Los datos de la etiqueta son [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]

Crear el modelo y hacer predicciones

clf = adaboostClassifier (n_estimators = 100, random_state = 0)
CLF.Fit (x, y)
imprimir ("La etiqueta de salida es", CLF.predecir ([[1.5, 1, 0.5, -0.5]]))
Imprimir ("El puntaje de clasificación es", CLF.puntaje (x, y))

Producción

La etiqueta de salida es [1]
El puntaje de clasificación es 0.94

Conclusión

Discutimos el algoritmo Adaboost en el aprendizaje automático, incluido el aprendizaje del conjunto, sus ventajas e implementación en Sklearn. Este es un algoritmo útil, ya que utiliza un conjunto de modelos para decidir la salida en lugar de una y también convierte a los alumnos débiles en alumnos fuertes. Sklearn proporciona implementación de AdaBoost en la clase "Ensemble", donde proporcionamos parámetros personalizados para el modelo.