¿Es un árbol de decisión solo un nombre elegante para una secuencia de declaraciones if-else-if-else -if-else?

Cuando comprende el concepto de una máquina universal de Turing, se da cuenta de que toda la informática se puede dividir en unas pocas operaciones simples. Entonces, desde esa perspectiva, sí, tienes razón.

Pero los lenguajes de programación, patrones, prácticas y algoritmos se basan en conceptos abstractos en un nivel mucho más alto que este. De esa manera, es posible hablar sobre las colas FIFO, OOP, programación funcional, sombreado de Phong, etc. Estas ideas tienen una base en la práctica y permiten a un programador hablar sobre enfoques generales en lugar de entrar en detalles de implementación.

Debido a que los árboles de decisión involucran decisiones (no sorprende allí), de hecho se basan en la idea de construcciones if-else, ya sea que se les llame así o no. Pero esa no es una forma integral de verlo.

Además, sería una muy mala práctica, en la mayoría de los casos, codificar un árbol de decisiones, por lo que implicaría mucho más que solo operaciones if-else.

De hecho, eso sería como decir que el oro es solo un montón de electrones, protones y neutrones. Bueno, por supuesto que es cierto, pero es cierto para muchas otras cosas además del oro, y no captura la naturaleza del oro.

Hay una broma entre la gente de negocios que dice algo así … Un hombre estaba en un globo aerostático y gritó a un espectador: “Estoy perdido. ¿Sabes dónde estoy?” El hombre grita: “Estás en un globo de aire caliente”. El hombre respondió: “Eres ingeniero, ¿verdad?” Él preguntó: “¿Cómo lo supiste?” El globo respondió: “Lo que me dijiste es técnicamente correcto pero es información inútil para mí”.

Entonces, técnicamente, tiene razón al decir que un árbol de decisión es solo un conjunto de declaraciones if-else.

Los árboles de decisión son bastante similares a las instrucciones anidadas if / else. Pero también hay algunas diferencias.

Similitudes

Ambos:

  • Tomar decisiones.
  • Se puede representar como una estructura de árbol.

Si está preguntando si puede pensar en un árbol de decisión como si realmente fuera un montón de declaraciones anidadas if / else, la respuesta a eso es sí, porque la estructura básica es la misma. Ambos son básicamente una jerarquía de puntos de decisión.

Como ya está familiarizado con las instrucciones anidadas if / else, probablemente encuentre útil esa comparación.

Las diferencias

Sin embargo, los árboles de decisión:

  • Son un modelo conceptual que representa el resultado de posibles decisiones.
  • Fueron inventados fuera de la informática para su uso en la toma de decisiones comerciales.
  • Centrarse en la probabilidad de modelado de resultados y costos de recursos.
  • No tienen efectos secundarios y se utilizan para comparar el valor de varios resultados.

Y declaraciones if / else:

  • Son una representación de un algoritmo, es decir, los pasos para lograr algo.
  • Fueron inventados para su uso dentro de lenguajes de programación.
  • Se utilizan para modelar cualquier tipo de decisión del programa y suelen ser deterministas.
  • Tiene efectos secundarios y no produce un valor para cada rama si / si no se toma.

En el aprendizaje automático

Su pregunta está etiquetada como aprendizaje automático. Eso es apropiado, ya que el aprendizaje automático se usa para aprender automáticamente cómo construir los mejores árboles de decisión para un conjunto de datos dado.

Eso no es cierto para las declaraciones if / else como tales.

Árboles de decisión versus diagramas de flujo

Los árboles de decisión también a veces se comparan con los diagramas de flujo, pero los diagramas de flujo son más generales que las declaraciones if / else o los árboles de decisión. Para obtener más detalles, consulte ¿Cuál es la diferencia entre un árbol de decisión y un diagrama de flujo, aparte de cómo se dibujan?

More Interesting

¿Existen trabajos de Ciencia de datos y Aprendizaje automático para estudiantes de primer año en India?

¿Cómo comenzaría con el cambio de funciones o el desarrollo de indicadores de funciones en mi empresa? Actualmente utilizamos ramificaciones.

¿Qué hace la capa en línea y la capa de línea cercana del sistema Netflix para recomendación?

¿Crees que Robot puede realizar todas las tareas humanas con Deep Learning?

¿Cuál es la motivación de Google para el código abierto del modelo de TensorFlow para problemas ML / NLP como el resumen automático de texto?

¿SSD es realmente mejor que YOLO?

¿En qué debería concentrarme después de aprender el aprendizaje automático si no estoy interesado en el aprendizaje profundo?

¿Por qué tantos geeks de datos se unen a compañías web en lugar de resolver problemas de datos a gran escala en biología?

¿Necesita saber la teoría de la medida para hacer investigación de aprendizaje automático?

¿Cómo funciona KNN?

¿Cuál es la diferencia entre modelos discriminativos y generativos en el contexto de la segmentación de imágenes?

¿Cómo ganan dinero las startups de aprendizaje profundo o aprendizaje automático?

¿Cómo determinaría si el error de cuando ejecuta su algoritmo de aprendizaje automático es de alto sesgo o alta varianza (también conocido como corte o sobreajuste)?

¿Puedo crear un programa de aprendizaje automático en otro idioma que no sea un flujo de tensor o scikit-learn?

¿Cuál es el mejor algoritmo para descubrir características bien correlacionadas?