Árbol de decisiones de Weka | Cree un árbol de decisiones con Weka

Contenidos

  • Aprenda a construir un modelo de árbol de decisiones con Weka
  • Este tutorial es perfecto para los recién llegados al aprendizaje automático y los árboles de decisión, y para aquellas personas que no se sienten cómodas con la codificación.

Introducción

«Cuanto mayor es el obstáculo, más gloria se obtiene al superarlo».

– Moliere

El aprendizaje automático puede resultar intimidante para las personas que no tienen conocimientos técnicos. Todos los trabajos de aprendizaje automático parecen requerir una comprensión sana de Python (o R).

Entonces, ¿cómo obtienen los no programadores experiencia en codificación? ¡No es un juego de niños!

interpretable_machine_learning-7519646

Estas son las buenas noticias: existen muchas herramientas que nos permiten realizar tareas de aprendizaje automático sin tener que codificar. Puede crear fácilmente algoritmos como árboles de decisión desde cero en una hermosa interfaz gráfica. ¿No es ese el sueño? Estas herramientas, como Weka, nos ayudan principalmente a lidiar con dos cosas:

  • Cree rápidamente un modelo de aprendizaje automático, como un árbol de decisiones, y comprenda cómo se está desempeñando el algoritmo. Esto puede modificarse más tarde y basarse en
  • Esto es ideal para mostrarle al cliente / su equipo de liderazgo con qué está trabajando

¡Este artículo le mostrará cómo resolver problemas de clasificación y regresión utilizando árboles de decisión en Weka sin ningún conocimiento previo de programación!

Pero si te apasiona ensuciarte las manos con la programación y el aprendizaje automático, te sugiero que sigas los siguientes cursos maravillosamente seleccionados:

Tabla de contenido

  • Clasificación frente a regresión en el aprendizaje automático
  • Comprensión de los árboles de decisión
  • Explorando el conjunto de datos en Weka
  • Clasificación mediante el árbol de decisiones en Weka
  • Parámetros del árbol de decisión en Weka
  • Visualización de un árbol de decisiones en Weka
  • Regresión usando el árbol de decisión en Weka

Clasificación frente a regresión en el aprendizaje automático

Permítanme primero resumir rápidamente qué son la clasificación y la regresión en el contexto de aprendizaje automático. Es importante conocer estos conceptos antes de sumergirse en los árboles de decisiones.

A clasificación problema se trata de enseñarle a su modelo de aprendizaje automático cómo categorizar un valor de datos en una de muchas clases. Lo hace aprendiendo las características de cada tipo de clase. Por ejemplo, para predecir si una imagen es de un gato o un perro, el modelo aprende las características del perro y el gato en los datos de entrenamiento.

A regresión problema se trata de enseñarle a su modelo de aprendizaje automático cómo predecir el valor futuro de una cantidad continua. Lo hace aprendiendo el patrón de la cantidad en el pasado afectada por diferentes variables. Por ejemplo, un modelo que intenta predecir el precio futuro de las acciones de una empresa es un problema de regresión.

Puede encontrar estos dos problemas en abundancia en nuestro Plataforma DataHack.

Ahora, aprendamos sobre un algoritmo que resuelve ambos problemas: ¡árboles de decisión!

Comprensión de los árboles de decisión

Árboles de decisión también se conocen como Árboles de clasificación y regresión (CART). Trabajan aprendiendo respuestas a una jerarquía de preguntas si / si no que conducen a una decisión. Estas preguntas forman una estructura en forma de árbol, y de ahí el nombre.

Por ejemplo, digamos que queremos predecir si una persona pedirá comida o no. Podemos visualizar el siguiente árbol de decisiones para esto:

decision-tree-9507729

Cada nodo del árbol representa una pregunta derivada de las características presentes en su conjunto de datos. Su conjunto de datos se divide en función de estas preguntas hasta que se alcanza la profundidad máxima del árbol. El último nodo no hace una pregunta, sino que representa a qué clase pertenece el valor.

  • El nodo superior del árbol de decisiones se denomina Rnodo oot
  • El nodo más inferior se llama Leaf nodo
  • Un nodo dividido en subnodos se llama Nodo padre. Los subnodos se denominan Nodos secundarios

Si desea comprender los árboles de decisión en detalle, le sugiero que consulte los siguientes recursos:

¿Qué es Weka? ¿Por qué debería utilizar Weka para el aprendizaje automático?

«Weka es un software gratuito de código abierto con una gama de algoritmos de aprendizaje automático integrados a los que puede acceder a través de una interfaz gráfica de usuario. «

WEKA representa Entorno de Waikato para el análisis del conocimiento y fue desarrollado en la Universidad de Waikato, Nueva Zelanda.

Weka tiene múltiples funciones integradas para implementar una amplia gama de algoritmos de aprendizaje automático, desde la regresión lineal hasta la red neuronal. ¡Esto le permite implementar los algoritmos más complejos en su conjunto de datos con solo hacer clic en un botón! ¡No solo esto, Weka brinda soporte para acceder a algunos de los algoritmos de biblioteca de aprendizaje automático más comunes de Python y R!

Con Weka puede preprocesar los datos, clasificarlos, agruparlos e incluso visualizarlos. Esto lo puede hacer en diferentes formatos de archivos de datos como ARFF, CSV, C4.5 y JSON. Weka incluso le permite agregar filtros a su conjunto de datos a través de los cuales puede normalizar sus datos, estandarizarlos, intercambiar funciones entre valores nominales y numéricos, ¡y mucho más!

Podría continuar sobre la maravilla que es Weka, pero para el alcance de este artículo, intentemos explorar Weka de manera práctica mediante la creación de un árbol de decisiones. Ahora sigue adelante y descarga Weka desde su página web oficial!

weka-logo-3580378

Explorando el conjunto de datos en Weka

Tomaré el conjunto de datos de cáncer de mama del Repositorio de aprendizaje automático de la UCI. Te recomiendo que leas sobre el problema antes de seguir adelante.

dt1-9517445

Primero carguemos el conjunto de datos en Weka. Para hacer eso, siga los pasos a continuación:

  1. Abrir la GUI de Weka
  2. Selecciona el «Explorador» opción.
  3. Seleccione «Abrir documento» y elija su conjunto de datos.

Su ventana de Weka ahora debería verse así:

classification_1-1266739

Puede ver todas las funciones de su conjunto de datos en el lado izquierdo. Weka crea automáticamente gráficos para sus características que notará a medida que navega por sus características.

Incluso puede ver todas las parcelas juntas si hace clic en el «Visualizar todo» botón.

classification_2-6224045

¡Ahora entrenemos nuestro modelo de clasificación!

Clasificación usando Árbol de decisión en Weka

Implementar un árbol de decisiones en Weka es bastante sencillo. Simplemente complete los siguientes pasos:

  1. Clickea en el «Clasificar» pestaña en la parte superior
  2. Haga clic en el «Escoger» botón
  3. En la lista desplegable, seleccione «árboles» que abrirá todos los algoritmos del árbol
  4. Finalmente, seleccione el «RepTree» árbol de decisión

”Árbol de poda de error reducido (RepTree) es un aprendiz de árbol de decisión rápido que construye un árbol de decisión / regresión usando ganancia de información como criterio de división y lo poda utilizando un algoritmo de poda de error reducido «.

Puede leer acerca de la técnica de poda de errores reducidos en este trabajo de investigación.

dt4-3180037

«El árbol de decisión divide los nodos en todas las variables disponibles y luego selecciona la división que da como resultado los subnodos más homogéneos».

La ganancia de información se utiliza para calcular la homogeneidad de la muestra en una división.

Puede seleccionar su función de destino en el menú desplegable justo encima del «Comienzo» botón. Si no lo hace, WEKA selecciona automáticamente la última función como objetivo para usted.

los «División porcentual» especifica la cantidad de datos que desea conservar para entrenar al clasificador. El resto de los datos se utiliza durante la fase de prueba para calcular la precisión del modelo.

Con «Plegado de validación cruzada» puede crear varias muestras (o pliegues) a partir del conjunto de datos de entrenamiento. Si decide crear N pliegues, el modelo se ejecuta iterativamente N veces. Y cada vez que uno de los pliegues se retiene para su validación, mientras que los pliegues N-1 restantes se utilizan para entrenar el modelo. El resultado de todos los pliegues se promedia para obtener el resultado de la validación cruzada.

Cuanto mayor sea el número de pliegues de validación cruzada que utilice, mejor será su modelo. Esto hace que el modelo se entrene con datos seleccionados al azar, lo que lo hace más robusto.

Finalmente, presione el «Comienzo» ¡Botón para que el clasificador haga su magia!

classification_3-3413977

Nuestro clasificador tiene una precisión del 92,4%. Weka incluso imprime el Matriz de confusión para ti, lo que ofrece diferentes métricas. Puede estudiar en detalle la matriz de confusión y otras métricas aquí.

Parámetros del árbol de decisión en Weka

Los árboles de decisión tienen muchos parámetros. Podemos ajustarlos para mejorar el rendimiento general de nuestro modelo. Aquí es donde el conocimiento práctico de los árboles de decisión realmente juega un papel crucial.

Puede acceder a estos parámetros haciendo clic en el algoritmo de su árbol de decisiones en la parte superior:

classification_4-7543783

Hablemos brevemente de los principales parámetros:

  • máxima profundidad ­– Determina la profundidad máxima de su árbol de decisiones. De forma predeterminada, es -1, lo que significa que el algoritmo controlará automáticamente la profundidad. Pero puede modificar manualmente este valor para obtener los mejores resultados en sus datos.
  • no poda – Poda significa reducir automáticamente un nodo de hoja que no contiene mucha información. Esto hace que el árbol de decisiones sea simple y fácil de interpretar.
  • numFolds – El número especificado de pliegues de datos se utilizará para podar el árbol de decisiones. El resto se utilizará para hacer crecer las reglas.
  • minNum – Número mínimo de instancias por hoja. Si no se menciona, el árbol seguirá dividiéndose hasta que todos los nodos hoja tengan solo una clase asociada.

Siempre puede experimentar con diferentes valores para estos parámetros para obtener la mejor precisión en su conjunto de datos.

Visualización de su árbol de decisiones en Weka

Weka incluso le permite visualizar fácilmente el árbol de decisiones construido en su conjunto de datos:

  1. Ve a la «Lista de resultados» sección y haga clic derecho en su algoritmo entrenado
  2. Elegir el «Visualizar árbol» opción

classification_7-6047348

Su árbol de decisiones se verá a continuación:

classification_6-4660370

Interpretar estos valores puede ser un poco intimidante, pero en realidad es bastante fácil una vez que lo dominas.

  • Los valores de las líneas que unen los nodos representan los criterios de división basados ​​en los valores de la función del nodo principal.
  • En el nodo hoja:
    • El valor antes del paréntesis denota el valor de clasificación.
    • El primer valor en el primer paréntesis es el número total de instancias del conjunto de entrenamiento en esa hoja. El segundo valor es el número de instancias clasificadas incorrectamente en esa hoja.
    • El primer valor en el segundo paréntesis es el número total de instancias del conjunto de poda en esa hoja. El segundo valor es el número de instancias clasificadas incorrectamente en esa hoja.

Regresión usando el árbol de decisión en Weka

Como dije antes, los árboles de decisión son tan versátiles que pueden funcionar tanto en la clasificación como en los problemas de regresión. Para esto, usaré el «Predecir el número de votos a favor«Problema de Plataforma DataHack de DataPeaker.

Aquí, necesitamos predecir la calificación de una pregunta hecha por un usuario en una plataforma de preguntas y respuestas.

Como de costumbre, comenzaremos cargando el archivo de datos. Pero esta vez, los datos también contienen un «IDENTIFICACIÓN» columna para cada usuario en el conjunto de datos. Esto no sería útil en la predicción. Entonces, eliminaremos esta columna seleccionando el «Eliminar» opción debajo de los nombres de las columnas:

dt9-6919311

Podemos hacer predicciones sobre el conjunto de datos como lo hicimos para el Problema de cáncer de mama. RepTree detectará automáticamente el problema de regresión:

dt10-7672339

La métrica de evaluación proporcionada en el hackathon es la puntuación RMSE. Podemos ver que el modelo tiene un RMSE muy pobre sin ninguna ingeniería de características. Aquí es donde interviene: ¡adelante, experimente y mejore el modelo final!

Notas finales

Y así, ¡ha creado un modelo de árbol de decisión sin tener que hacer ninguna programación! Esto será de gran ayuda en su búsqueda para dominar el funcionamiento de los modelos de aprendizaje automático.

Si desea aprender y explorar la parte de programación del aprendizaje automático, le sugiero que siga estos cursos maravillosamente seleccionados sobre el Analítica Vidhya sitio web:

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.