Uso de algoritmos de aprendizaje automático de Ensemble en Weka

Algoritmos de conjunto son una clase poderosa de algoritmo de aprendizaje automático que combina las predicciones de varios modelos. Un beneficio de usar Weka para el aprendizaje automático es la disponibilidad de tantos algoritmos de aprendizaje automático de conjuntos diferentes.

Descripción general de los algoritmos de conjuntos

Vamos a hacer un recorrido por los 5 principales conjuntos de algoritmos de aprendizaje automático en Weka. Cada algoritmo que se cubrirá se describirá brevemente en términos de cómo funciona y se resaltarán los parámetros clave del algoritmo, así como el algoritmo en sí se demostrará en la interfaz de Weka Explorer.

Los 5 algoritmos que que veremos son:

  1. Embolsado
  2. Bosque aleatorio
  3. AdaBoost
  4. Votación
  5. Apilamiento

Se utilizará un problema de clasificación de aprendizaje automático estándar para demostrar cada algoritmo. Específicamente, el problema de clasificación binaria de la ionosfera. Este es un buen conjunto de datos para demostrar algoritmos de clasificación porque las variables de entrada son numéricas y todas tienen la misma escala, el problema solo tiene dos clases para discriminar.

Cada instancia describe las propiedades de los retornos de radar desde la atmósfera y el La tarea consiste en predecir si hay o no estructura en la ionosfera. Hay 34 variables de entrada numéricas que generalmente tienen la misma escala. Puede obtener más información sobre este conjunto de datos en el Repositorio de aprendizaje automático de UCI . Los mejores resultados tienen una precisión del 98%.

Inicie Weka Explorer:

  1. Abra Weka GUI Chooser.
  2. Haga clic en «Explorer «Para abrir el Explorador de Weka.
  3. Cargue el conjunto de datos de ionosfera desde el archivo data / ionosphere.arff
  4. Haga clic en» Clasificar «para abrir la pestaña Clasificar .

1. Bagging

Bootstrap Aggregation o Bagging para abreviar es un algoritmo de conjunto que se puede utilizar para clasificación o regresión. Bootstrap es una técnica de estimación estadística en la que una cantidad estadística como una media se estima a partir de múltiples muestras aleatorias de sus datos (con reemplazo). Es una técnica útil cuando tiene una cantidad limitada de datos y está interesado en una estimación más sólida de una cantidad estadística.

Este principio de muestra se puede utilizar con modelos de aprendizaje automático. Se extraen varias muestras aleatorias de sus datos de entrenamiento con reemplazo y se utilizan para entrenar múltiples modelos de aprendizaje automático diferentes. Luego, cada modelo se usa para hacer una predicción y los resultados se promedian para brindar una predicción más sólida.

Se usa mejor con modelos que tienen un sesgo bajo y una varianza alta, lo que significa que las predicciones que hacen dependen en gran medida de los datos específicos a partir de los cuales fueron capacitados. El algoritmo de ensacado más utilizado que se ajusta a este requisito de alta varianza son los árboles de decisión.

Elija el algoritmo de ensacado:

  1. Haga clic en el botón «Elegir» y seleccione «Embolsado» bajo el grupo «meta».
  2. Haga clic en el nombre del algoritmo para revisar la configuración del algoritmo.
Configuración de Weka para el algoritmo de ensacado

Un parámetro de configuración clave en el ensacado es el tipo de modelo que se está ensacando . El valor predeterminado es REPTree, que es la implementación de Weka de un árbol de decisión estándar, también llamado Árbol de clasificación y regresión o CART para abreviar. Esto se especifica en el parámetro clasificador.

El tamaño de cada muestra aleatoria se especifica en «bagSizePercent», que es un tamaño como porcentaje del conjunto de datos de entrenamiento sin procesar. El valor predeterminado es 100%, lo que creará una nueva muestra aleatoria del mismo tamaño que el conjunto de datos de entrenamiento, pero tendrá una composición diferente.

Esto se debe a que la muestra aleatoria se extrae con reemplazo, lo que significa que cada vez una instancia se extrae aleatoriamente del conjunto de datos de entrenamiento y se agrega a la muestra, también se agrega nuevamente al conjunto de datos de entrenamiento, lo que significa que se puede elegir nuevamente y agregar dos o más veces a la muestra.

Finalmente, el número de bolsas (y el número de clasificadores) se puede especificar en el parámetro «numIterations». El valor predeterminado es 10, aunque es común usar valores de cientos o miles. Continúe aumentando el valor de «numIteraciones» hasta que ya no vea una mejora en el modelo o se quede sin memoria.

  1. Haga clic en «Aceptar» para cerrar la configuración del algoritmo.
  2. Haga clic en el botón «Inicio» para ejecutar el algoritmo en el conjunto de datos de la ionosfera.

Puede ver que con la configuración predeterminada, el ensacado alcanza una precisión del 91%:

Resultados de clasificación de Weka para el algoritmo de embolsado

2.Bosque aleatorio

Bosque aleatorio es una extensión del agrupamiento de árboles de decisión que se puede utilizar para clasificación o regresión. Un aspecto negativo de los árboles de decisión en bolsas es que los árboles de decisión se construyen utilizando un algoritmo codicioso que selecciona el mejor punto de división en cada paso del proceso de construcción del árbol. Como tal, los árboles resultantes terminan pareciendo muy similares, lo que reduce la variación de las predicciones de todas las bolsas, lo que a su vez perjudica la solidez de las predicciones realizadas.

Random Forest es una mejora de los árboles de decisión empaquetados que interrumpe el codicioso algoritmo de división durante la creación del árbol, de modo que los puntos de división solo se pueden seleccionar de un subconjunto aleatorio de los atributos de entrada. Este simple cambio puede tener un gran efecto al disminuir la similitud entre los árboles empaquetados y, a su vez, las predicciones resultantes.

Elija el algoritmo de bosque aleatorio:

  1. Haga clic en «Elegir» y seleccione «RandomForest» en el grupo «árboles».
  2. Haga clic en el nombre del algoritmo para revisar la configuración del algoritmo.
Configuración de Weka para el algoritmo de bosque aleatorio

Además de los parámetros enumerados anterior para el ensacado, un parámetro clave para el bosque aleatorio es el número de atributos a considerar en cada punto de división. En Weka, esto se puede controlar mediante el atributo «numFeatures», que de forma predeterminada se establece en 0, que selecciona el valor automáticamente según una regla general.

  1. Haga clic en «Aceptar» para cerrar el configuración del algoritmo.
  2. Haga clic en el botón «Inicio» para ejecutar el algoritmo en el conjunto de datos de la ionosfera.

Puede ver que con la configuración predeterminada, los bosques aleatorios logran una precisión del 92%:

Resultados de clasificación de Weka para el algoritmo de bosque aleatorio

3. AdaBoost

AdaBoost es un algoritmo conjunto de aprendizaje automático para problemas de clasificación. Es parte de un grupo de métodos de conjunto llamados impulso, que agregan nuevos modelos de aprendizaje automático en una serie donde los modelos posteriores intentan corregir los errores de predicción cometidos por modelos anteriores. AdaBoost fue la primera implementación exitosa de este tipo de modelo.

Adaboost fue diseñado para usar modelos de árboles de decisión cortos, cada uno con un único punto de decisión. Estos árboles cortos a menudo se denominan tocones de decisión.

El primer modelo se construye según lo normal. Cada instancia del conjunto de datos de entrenamiento se pondera y las ponderaciones se actualizan según la precisión general del modelo y si una instancia se clasificó correctamente o no. Los modelos posteriores se entrenan y agregan hasta que se logre una precisión mínima o no sean posibles más mejoras. Cada modelo se pondera en función de su habilidad y estas ponderaciones se utilizan al combinar las predicciones de todos los modelos en nuevos datos.

Elija el algoritmo AdaBoost:

  1. Haga clic en el Botón «Elegir» y seleccione «AdaBoostM1» en el grupo «meta».
  2. Haga clic en el nombre del algoritmo para revisar la configuración del algoritmo.
Configuración de Weka para el algoritmo AdaBoost

El alumno débil dentro el modelo AdaBoost se puede especificar mediante el parámetro clasificador. El predeterminado es el algoritmo de decisión, pero se pueden utilizar otros algoritmos. un parámetro clave además del alumno débil es el número de modelos que se deben crear y agregar en serie. Esto se puede especificar en el parámetro «numIterations» y el valor predeterminado es 10.

  1. Haga clic en «Aceptar» para cerrar la configuración del algoritmo.
  2. Haga clic en el botón «Inicio» para ejecutar el algoritmo en el conjunto de datos de la ionosfera.

Puede ver que con la configuración predeterminada AdaBoost logra una precisión del 90%:

Resultados de la clasificación de Weka para el algoritmo AdaBoost

4. Votar

Votar es quizás el algoritmo de conjunto más simple y, a menudo, es muy efectivo. Puede utilizarse para problemas de clasificación o regresión. La votación funciona creando dos o más submodelos. Cada submodelo hace predicciones que se combinan de alguna manera, como tomando la media o la moda de las predicciones, lo que permite que cada submodelo vote sobre cuál debería ser el resultado.

Elija el voto algoritmo:

  1. Haga clic en el botón «Elegir» y seleccione «Votar» en el grupo «meta».
  2. Haga clic en el nombre del algoritmo para revisar la configuración del algoritmo.
Configuración de Weka para el algoritmo del conjunto de votaciones

El parámetro clave de un conjunto de votación es la selección de submodelos. Los modelos se pueden especificar en Weka en el parámetro «clasificadores».Hacer clic en este parámetro le permite agregar varios clasificadores:

Selección del algoritmo Weka para el algoritmo del conjunto de votaciones

Hacer clic en el botón «Editar» con un clasificador seleccionado le permite configurar los detalles de ese clasificador. Un objetivo al seleccionar submodelos es seleccionar modelos que hagan predicciones bastante diferentes (predicciones no correlacionadas). Como tal, es una buena regla para seleccionar tipos de modelos muy diferentes, como árboles, métodos basados ​​en instancias, funciones, etc.

Otro parámetro clave para configurar para la votación es cómo las predicciones del se combinan submodelos. Esto está controlado por el parámetro «combinaciónRule» que está configurado para tomar el promedio de las probabilidades de forma predeterminada.

  1. Haga clic en «Aceptar» para cerrar la configuración del algoritmo.
  2. Haga clic en el botón «Inicio» para ejecutar el algoritmo en el conjunto de datos de la ionosfera.

Puede ver que con la configuración predeterminada, Vote logra una precisión del 64%. Obviamente, esta técnica logró malos resultados porque solo se seleccionó el submodelo ZeroR.

5. Stacking

Stacked Generalization o Stacking para abreviar es una extensión simple de los conjuntos de votación que se puede utilizar para problemas de clasificación y regresión.

Además de seleccionar varios submodelos, apilar le permite para especificar otro modelo para aprender cómo combinar mejor las predicciones de los submodelos. Debido a que un metamodelo se usa para combinar mejor las predicciones de submodelos, esta técnica a veces se llama combinación, como en la combinación de predicciones.

Elija el algoritmo de apilamiento:

  1. Haga clic en el botón «Elegir» y seleccione «Apilamiento» en el grupo «meta».
  2. Haga clic en el nombre del algoritmo para revisar la configuración del algoritmo.
Configuración de Weka para el algoritmo de conjunto de apilamiento

Al igual que con el clasificador Vote, puede especificar los submodelos en el parámetro clasificadores. El modelo que se entrenará para aprender cómo combinar mejor las predicciones del submodelo se puede especificar en el parámetro «metaClassifier», que se establece en ZeroR de forma predeterminada. Es común utilizar un algoritmo lineal como regresión lineal o regresión logística para problemas de regresión y clasificación, respectivamente. Esto es para lograr una salida que sea una combinación lineal simple de las predicciones de los submodelos.

  1. Haga clic en «Aceptar» para cerrar la configuración del algoritmo.
  2. Haga clic en el Botón «Inicio» para ejecutar el algoritmo en el conjunto de datos de la ionosfera.

Puede ver que con la configuración predeterminada, el apilamiento logra una precisión del 64%:

Resultados de la clasificación de Weka para el algoritmo de conjunto de apilamiento

De nuevo , al igual que la votación, Stacking logró malos resultados porque solo se seleccionó el submodelo ZeroR.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *