Árboles de decisión en aprendizaje automático: funciones, clasificación, pros y contras

Publicado: 2020-05-14

Toda persona tiene que tomar decisiones en su vida. Estas decisiones dependen de la situación. Tomar la decisión correcta ayuda a enfrentar una situación de la mejor manera, resolviendo el problema de la manera más directa. En la infancia, la mayoría de tus decisiones girarían en torno a lo que comes y cosas relacionadas con tu escuela.

A medida que creces, tus decisiones comienzan a tener una implicación más seria no solo en tu vida sino también en la de los demás. En algún momento de su vida, tomará decisiones relacionadas con su carrera o negocio. Esta analogía es para presentarle el concepto de un árbol de decisiones en el aprendizaje automático.

Tabla de contenido

¿Qué es un árbol de decisión?

Para empezar, déjanos decirte que un árbol de decisiones es un modelo o herramienta predictiva que apoya las decisiones. Se sabe que ofrece inferencias precisas mediante el uso de diseños, modelos de diseño o representaciones que siguen una estructura similar a un árbol. El objetivo principal de este modelo o modelo de aprendizaje automático es considerar ciertos atributos de un objetivo y luego tomar decisiones sobre la base de esos atributos.

La mayoría de las decisiones en un árbol de decisiones siguen declaraciones condicionales: si y si no. Para que un modelo de árbol de decisión sea mejor que otros, tendrá una estructura más profunda y reglas más complejas que lo rijan. Es uno de los modelos de aprendizaje supervisado preferidos en el aprendizaje automático y se utiliza en varias áreas. Podría parecer un diagrama de flujo diseñado teniendo en cuenta técnicas algorítmicas para garantizar que la división se realice de acuerdo con las condiciones.

La estructura de este diagrama de flujo es bastante simple. Tiene un nodo raíz que sirve como base para la construcción del modelo. Luego, algunos nodos internos y ramas muestran características o pruebas y resultados de las pruebas, respectivamente. El nodo hoja representa un grupo con valores que son similares a los valores que se logran cuando se toman decisiones sobre atributos relacionados.

Los árboles de decisiones encuentran principalmente sus usos en problemas de clasificación y regresión. Se utilizan para crear modelos predictivos automatizados que sirven a más de unas pocas aplicaciones no solo en aplicaciones de algoritmos de aprendizaje automático, sino también en estadísticas, ciencia de datos y minería de datos, entre otras áreas. Estas estructuras basadas en árboles ofrecen algunos de los modelos predictivos más precisos que son fáciles de interpretar y más estables que la mayoría de los otros modelos predictivos.

A diferencia de los modelos lineales que solo son buenos para una cierta cantidad de problemas, los modelos basados ​​en árboles de decisión también se pueden usar para mapear relaciones no lineales. No es de extrañar que los árboles de decisión sean tan populares. Una razón muy importante para esto es lo fácil que es entender el modelo de árbol de decisión final. Puede describir con bastante claridad lo que había detrás de una predicción. También son la base de los métodos colaborativos o de conjuntos más avanzados, que incluyen el aumento de gradiente, el embolsado y los bosques aleatorios, entre otros.

¿Cómo se define un árbol de decisión?

Ahora que hemos desarrollado una comprensión básica del concepto, permítanos definirlo para usted. Un árbol de decisión es un algoritmo de aprendizaje automático supervisado que se puede utilizar para resolver problemas basados ​​en clasificación y regresión. Veamos cómo se utiliza para la clasificación.

Supongamos que hay un conjunto de datos en el que estamos trabajando actualmente. Creamos un plano 2D que se puede dividir en diferentes áreas de modo que los puntos en cada área se designen a la misma clase. Las divisiones o escisiones se denotan con un carácter único. Este es un árbol binario en el que estamos trabajando aquí.

Ahora, hay diferentes cosas de este árbol de decisión que no tienen una representación previa pero que se crean utilizando los datos de entrenamiento que nos proporcionan. Estas cosas incluyen la cantidad de nodos que tendrá este árbol, su posición de borde y su estructura. No vamos a crear el árbol desde cero aquí. Solo estaremos avanzando, considerando que nuestro árbol ya está allí.

Ahora, ¿cómo podemos clasificar nuevos puntos de entrada? Solo tenemos que movernos hacia abajo del árbol para hacerlo. Durante el recorrido, continuaremos planteando una pregunta sobre el punto de datos al llegar a cada nodo. Por ejemplo, cuando hacemos esta pregunta en el nodo raíz, la respuesta nos permitiría bifurcarnos a la derecha o a la izquierda. La regla general es que si la pregunta formulada es verdadera de la condición presentada en la condición se cumple, tenemos que bifurcarnos a la izquierda. Si no es cierto, tenemos que bifurcarnos a la derecha. Si nuestra condición nos lleva a un nodo izquierdo, sabríamos qué clase se le tiene que asignar a un punto de entrada.

Cuando se trata de cómo se demuestra un árbol de decisiones, hay algunas cosas que nunca deben olvidarse. No existe una regla o necesidad que diga que tenemos que alternar entre las dos coordenadas de un árbol de decisión mientras lo recorremos. Podemos elegir ir con una sola característica o dimensión. Debemos tener en cuenta que los árboles de decisión se pueden usar con un conjunto de datos de cualquier dimensión. Hemos tomado datos 2D en nuestro ejemplo, pero eso no significa que los árboles de decisión sean solo para conjuntos de datos de dos dimensiones.

Pago: Tipos de árbol binario

¿Alguna vez has estado involucrado en un concurso de Veinte Preguntas? Es bastante similar a cómo funcionan los árboles de decisión. ¿Averiguamos cómo? El objetivo final del juego de las Veinte Preguntas es descubrir el objeto en el que está pensando la persona que responde las preguntas mientras responde las preguntas. Las preguntas solo pueden responderse con un sí o un no.

A medida que avance en el juego, sabrá por las respuestas anteriores qué preguntas específicas debe hacer para llegar a la respuesta correcta antes de que termine el juego. Un árbol de decisiones es su serie de preguntas que lo ayuda a obtener la respuesta final al guiarlo para que haga preguntas más relevantes.

¿Recuerdas cómo te dirigen a la persona con la que quieres hablar en una empresa por buzón de voz? Primero habla con el asistente computarizado y luego presiona una serie de botones en sus teléfonos e ingresa algunos detalles sobre su cuenta antes de llegar a la persona con la que quería hablar en primer lugar. Esta podría ser una experiencia problemática para usted, pero así es como la mayoría de las empresas utilizan árboles de decisión para ayudar a sus clientes a llegar al departamento correcto o hablar con la persona adecuada. Lea también 6 tipos de aprendizaje supervisado que debe conocer.

¿Cómo funciona un árbol de decisión?

¿Pensando en cómo crear un árbol de decisión perfecto? Como mencionamos anteriormente, los árboles de decisión son una clase de algoritmos que se utilizan para resolver problemas de aprendizaje automático que pertenecen a los tipos de clasificación y regresión. Se puede utilizar tanto para variables categóricas como continuas.

Este algoritmo tiene una forma simple de avanzar: divide el conjunto de datos o los datos de muestra en diferentes conjuntos de datos y cada conjunto de datos se agrupa y comparte los mismos atributos. Los árboles de decisión emplean una serie de algoritmos para diferentes propósitos: identificar la división, las variables más importantes y el mejor valor de resultado que puede producir más subdivisiones y avanzar más.

Por lo general, el flujo de trabajo de un árbol de decisión implica la división de datos en conjuntos de datos de entrenamiento y prueba, la aplicación de algoritmos y la evaluación del rendimiento del modelo. Entendamos cómo funciona con un ejemplo muy simple. Supongamos que queremos comprobar si una persona es adecuada para un trabajo o no. Esta será la raíz del árbol.

Ahora pasamos a las características o atributos del árbol, que constituirán los nodos internos. Con base en esos atributos, se tomarán decisiones: la formación de ramas del árbol. Hagamos otra suposición aquí. El parámetro para una persona considerada idónea para el puesto es su experiencia de 5 años o más. La primera división se realizará sobre este parámetro que acabamos de configurar.

Necesitamos más conjuntos de parámetros para una mayor división. Estos parámetros pueden ser si pertenecen o no a un determinado grupo de edad, si tienen una determinada titulación o no, etc. Los resultados están representados por las hojas del árbol, además de las raíces y las ramas. Las hojas nunca se parten y representan las decisiones. Este árbol lo ayudará a decidir si un candidato es adecuado para el trabajo o no.

Como ya se mencionó, un árbol de decisión tiene su propia representación peculiar que le permite resolver un problema para nosotros. Tiene raíces, nodos internos, ramas y hojas, cada una con un propósito específico o haciendo un trabajo específico. Estos pasos te ayudarán a hacer una representación de árbol:

  1. La raíz del árbol presenta la versión optimizada del mejor atributo
  2. Divida los datos de muestra en subconjuntos usando los atributos apropiados. Asegúrese de que los nuevos subconjuntos o grupos de datos no tengan valores diferentes para el mismo atributo.
  3. Repita los dos pasos anteriores hasta que tenga las hojas para cada rama en su árbol de decisión.

Árbol de clasificación o regresión (CART)

Tomemos un ejemplo. Imagine que se nos asigna la tarea de clasificar a los candidatos para el puesto en función de algunos atributos predefinidos para garantizar que solo se seleccionen los candidatos que lo merecen al final del proceso. La decisión de seleccionar un candidato dependería de un evento en tiempo real o posible. Todo lo que necesitamos es un árbol de decisiones para encontrar los criterios correctos para la clasificación. Los resultados dependerán de cómo se haga la clasificación.

La clasificación, como todos sabemos, consta de dos pasos. El primer paso consiste en construir un modelo aleatorio en el conjunto de datos de muestra. El segundo paso involucra la predicción: el modelo entrenado en el primer paso se implementa para hacer una predicción con respecto a la respuesta para datos dados.

Ahora bien, hay ciertas situaciones en las que la variable objetivo es un número real, o las decisiones se toman sobre datos continuos. Es posible que se le pida que haga una predicción sobre el precio de un artículo en función del costo de la mano de obra. O se le puede pedir que decida el salario de un candidato en función de su salario anterior, conjunto de habilidades, experiencia y otra información relevante.

El valor del valor objetivo en estas situaciones será un valor real o un valor asociado con un conjunto de datos continuo. Usaremos la versión de regresión de un árbol de decisión para resolver estos problemas. Este árbol considerará las observaciones realizadas sobre las características de un objeto y entrenará el modelo para hacer predicciones y proporcionar una salida continua que tenga sentido absoluto.

Hablemos ahora de algunas similitudes y diferencias entre los árboles de decisión de clasificación y regresión. Los árboles de decisión se utilizan como modelos de clasificación en situaciones en las que las variables objetivo son categóricas por naturaleza. El valor que obtiene el conjunto de datos de entrenamiento justo en la culminación de un nodo terminal es igual al valor recibido cuando tomamos una moda de las observaciones para esa sección en particular. En caso de que se agregue alguna observación nueva a esa sección del árbol, la reemplazaremos por el valor de la moda y luego haremos la predicción.

Por otro lado, los árboles de decisión se utilizan como modelos de regresión cuando las variables objetivo forman parte de un conjunto de datos continuo. El valor recibido en el mismo punto que discutimos para los árboles de clasificación, es el valor medio de las observaciones en esa sección cuando se trata de árboles de regresión.

Hay algunas similitudes también. Ambos modelos de árboles de decisión utilizan un enfoque binario recursivo y dividen las variables independientes en regiones que no se superponen entre sí y son definidas. En ambos árboles, la división comienza en la parte superior del árbol y las observaciones se encuentran en una región. Estas observaciones dividen las variables en dos ramas. Esta división es un proceso continuo que da paso a un árbol completamente desarrollado.

Leer: Ideas de proyectos de aprendizaje automático

¿Cómo aprender un modelo CART?

Hay algunas cosas importantes que debe hacer para crear un modelo CART. Estos incluyen la elección de variables de entrada, así como puntos de división de manera que el árbol se construya correctamente. El algoritmo voraz que reduce la función de costo se utiliza para elegir las variables de entrada, así como los puntos de división.

La constricción del árbol se termina con la ayuda del criterio de parada, que se define de antemano. El criterio de parada podría mencionar cualquier cosa, como cuántas instancias de entrenamiento se asignan a los nodos hoja del árbol.

1. Algoritmo codicioso : el espacio de entrada debe dividirse correctamente para construir un árbol binario. La división binaria recursiva es el algoritmo codicioso utilizado para este propósito. Es un método numérico que consiste en alinear diferentes valores. Luego se usa una función de costo para probar y probar varios puntos de división. Se elige el punto de división con el costo mínimo. Este método se utiliza para evaluar todos los puntos de división, así como las variables de entrada.

2. Poda de árboles : el criterio de parada mejora el rendimiento de su árbol de decisión. Para hacerlo aún mejor, puedes intentar podar el árbol después de aprender. El número de divisiones que tiene un árbol de decisión dice mucho sobre cuán complejo es. Todo el mundo prefiere árboles que son más simples que otros. No sobreajustan los datos y son fácilmente descifrables.

La mejor manera de podar un árbol es mirar cada nodo de la hoja y averiguar cómo afectará el árbol al eliminarlo. La eliminación de los nodos hoja se lleva a cabo cuando esta acción justifica una caída en la función de costo. Cuando crea que no hay forma de mejorar aún más el rendimiento, puede detener este proceso de eliminación. Los métodos de poda que puede utilizar incluyen

3. Criterio de detención : el método de división codicioso mencionado anteriormente debe tener un comando o condición de detención para saber cuándo detenerse. Un criterio común es tomar el número de instancias que se le han asignado a cada nodo hoja. Si se alcanza ese número, no se realizará la división y ese nodo se considerará el final.

Por ejemplo, supongamos que el criterio de parada predefinido se menciona como cinco instancias. Este número también dice mucho sobre la exactitud del árbol según los datos de entrenamiento. Si es demasiado preciso o exacto, dará como resultado un ajuste excesivo, lo que significa un rendimiento deficiente.

¿Cómo evitar el sobreajuste en un árbol de decisión?

La mayoría de los árboles de decisión están expuestos a sobreajuste. Podemos construir un árbol de decisión que sea capaz de clasificar los datos de manera ideal, o podemos tener una situación en la que no tengamos ningún atributo para la división. Esto no funcionará muy bien con el conjunto de datos de prueba; sin embargo, sería adecuado para el conjunto de datos de entrenamiento. Puedes seguir cualquiera de los dos enfoques que vamos a mencionar para evitar esta situación.

Puede podar el árbol si es demasiado grande o detener su crecimiento antes de que alcance ese estado de sobreajuste. En la mayoría de los casos, hay un límite definido para controlar el crecimiento del mechón que menciona la profundidad, el número de capas y otras cosas que puede tener. El conjunto de datos sobre el que se debe entrenar el árbol se dividirá en un conjunto de datos de prueba y un conjunto de datos de entrenamiento. Ambos conjuntos de datos tendrán profundidades máximas sobre la base del conjunto de datos de entrenamiento y se probarán con el conjunto de datos de prueba. También puede utilizar la validación cruzada junto con este enfoque.

Cuando elige podar el árbol, prueba las ediciones podadas del árbol con la versión original. Si al árbol podado le va mejor que a su versión cuando se trata de realizar pruebas con el conjunto de datos de prueba, las hojas no estarán disponibles para el árbol mientras persista esta situación.

Saber más sobre: ​​Árbol de Decisión en R

Ventajas del enfoque de árboles de decisión

  1. Se puede utilizar con datos continuos y categóricos.
  2. Puede entregar múltiples salidas
  3. Puede interpretar resultados precisos y puede cuantificar y confiar en la confiabilidad de los árboles.
  4. Con este método, puede explorar datos, encontrar variables importantes y encontrar relaciones entre diferentes variables para fortalecer las variables objetivo y crear nuevas funciones en mucho menos tiempo.
  5. Es fácil de entender y explicar a los demás.
  6. Es útil en la limpieza de datos. En comparación con otros métodos, no toma demasiado tiempo ya que no hay impacto de valores atípicos o faltantes después de cierto punto.
  7. La eficiencia y el rendimiento de los árboles de decisión no se ven afectados por las relaciones no lineales entre las funciones.
  8. No se necesita mucho tiempo para preparar los datos, ya que no es necesario reemplazar el valor faltante, normalizar los datos y más.
  9. Es un enfoque no paramétrico. No tiene nada que ver con el diseño y la disposición espacial de los clasificadores.

Desventajas de los árboles de decisión

  1. Algunos usuarios pueden construir árboles de decisión que son demasiado complejos, incluso para su propio gusto. Estos árboles no generalizan los datos como lo hacen los árboles más simples.
  2. Los árboles sesgados a menudo se crean debido a la dominación de ciertas clases. Por eso es muy importante equilibrar los datos de la muestra antes de utilizarlos.
  3. A veces estos árboles no son demasiado estables. Las variaciones de datos pueden resultar en la creación de un árbol que no se ajusta a la ley. Esta anomalía se conoce como varianza. Se puede tratar mediante el uso de refuerzo y embolsado.
  4. No puede esperar obtener el mejor árbol de decisión con algoritmos codiciosos. Para acabar con este problema, puede entrenar varios árboles.

Conclusión

Este blog analiza todas las cosas importantes que un alumno debe saber sobre los árboles de decisión. Después de leer este blog, comprenderá mejor el concepto y estará en una mejor posición para implementarlo en la vida real.

Si está interesado en obtener más información sobre el aprendizaje automático y la IA, consulte el Diploma PG en aprendizaje automático e IA de IIIT-B y upGrad, que está diseñado para profesionales que trabajan y ofrece más de 450 horas de capacitación rigurosa, más de 30 estudios de casos y asignaciones, Estado de ex alumnos de IIIT-B, más de 5 proyectos prácticos finales y asistencia laboral con las mejores empresas.

¿Para qué se utiliza el algoritmo del árbol de decisión?

Como parte de la familia de algoritmos de aprendizaje supervisado, los árboles de decisión son uno de los algoritmos de clasificación más utilizados. Es muy fácil de entender e interpretar, lo que explica su popularidad. Los árboles de decisión se pueden emplear para desarrollar modelos de entrenamiento que pueden predecir valores de variables objetivo en función de instrucciones de decisión simples derivadas de datos de entrenamiento históricos. Lo mejor del algoritmo de árboles de decisión es que se puede usar de manera eficiente para resolver problemas de clasificación y regresión, a los que no se pueden aplicar otros algoritmos de aprendizaje supervisado. Se pueden utilizar diferentes tipos de árboles de decisión en función del tipo de variable objetivo.

Como parte de la familia de algoritmos de aprendizaje supervisado, los árboles de decisión son uno de los algoritmos de clasificación más utilizados. Es muy fácil de entender e interpretar, lo que explica su popularidad. Los árboles de decisión se pueden emplear para desarrollar modelos de entrenamiento que pueden predecir valores de variables objetivo en función de instrucciones de decisión simples derivadas de datos de entrenamiento históricos. Lo mejor del algoritmo de árboles de decisión es que se puede usar de manera eficiente para resolver problemas de clasificación y regresión, a los que no se pueden aplicar otros algoritmos de aprendizaje supervisado. Se pueden utilizar diferentes tipos de árboles de decisión en función del tipo de variable objetivo.

En AI, el algoritmo de árboles de decisión viene con una amplia gama de aplicaciones. Algunas de las aplicaciones más interesantes de los árboles de decisión incluyen la evaluación de oportunidades de crecimiento potencial para las empresas sobre la base de datos históricos. Para esto, los datos históricos de ventas pueden ayudar a que los árboles de decisión indiquen posibles rutas para una mayor expansión y crecimiento del negocio. Los árboles de decisión también se pueden utilizar para encontrar clientes potenciales utilizando información demográfica. Además, las instituciones financieras también pueden aplicar árboles de decisión para crear modelos predictivos para evaluar la solvencia de los clientes y morosos en los préstamos.

¿Qué otros algoritmos se utilizan en Inteligencia Artificial?

Los algoritmos utilizados en la inteligencia artificial se pueden clasificar ampliamente en tres partes: algoritmos de regresión, algoritmos de clasificación y algoritmos de agrupamiento. Los algoritmos de clasificación se utilizan para clasificar conjuntos de datos de una manera particular. Los algoritmos de agrupamiento se aplican a conjuntos completos de datos para encontrar diferencias y similitudes entre puntos de datos específicos. Se puede utilizar para señalar personas de la misma edad entre un gran grupo de clientes. Los algoritmos de regresión son útiles para pronosticar resultados futuros según los datos de entrada. Por ejemplo, los algoritmos de regresión se pueden usar para diseñar modelos para predecir el clima.