Mi respuesta está dirigida a CART (las implementaciones de C 4.5 / C 5) aunque no creo que se limiten a eso. Supongo que esto es lo que el OP tiene en mente: generalmente es lo que alguien quiere decir cuando dice "Árbol de decisión".
Limitaciones de los árboles de decisión :
Bajo rendimiento
Por "rendimiento" no me refiero a la resolución, sino a la velocidad de ejecución . La razón por la cual es pobre es que necesita 'volver a dibujar el árbol' cada vez que desea actualizar su modelo CART: datos clasificados por un árbol ya capacitado, que luego desea agregar al árbol (es decir, usar como punto de datos de entrenamiento) requiere que comience desde un exceso: las instancias de entrenamiento no se pueden agregar de forma incremental, como pueden hacerlo para la mayoría de los otros algoritmos de aprendizaje supervisados. Quizás la mejor manera de afirmar esto es que los árboles de decisión no se pueden entrenar en modo en línea, sino solo en modo por lotes. Obviamente, no notará esta limitación si no actualiza su clasificador, pero entonces esperaría que vea una caída en la resolución.
Esto es significativo porque, por ejemplo, para los Perceptrones de múltiples capas, una vez que está entrenado, puede comenzar a clasificar los datos; esos datos también se pueden usar para 'ajustar' el clasificador ya entrenado, aunque con árboles de decisión, debe volver a entrenar con todo el conjunto de datos (datos originales utilizados en el entrenamiento más cualquier instancia nueva).
Mala resolución en datos con relaciones complejas entre las variables
Los árboles de decisión se clasifican por evaluación gradual de un punto de datos de clase desconocida, un nodo a la vez, comenzando en el nodo raíz y terminando con un nodo terminal. Y en cada nodo, solo son posibles dos posibilidades (izquierda-derecha), por lo tanto, hay algunas relaciones variables que los árboles de decisión simplemente no pueden aprender.
Prácticamente limitado a la clasificación
Los árboles de decisión funcionan mejor cuando están capacitados para asignar un punto de datos a una clase, preferiblemente una de las pocas clases posibles. No creo haber tenido éxito utilizando un árbol de decisión en modo de regresión (es decir, producción continua, como el precio o los ingresos esperados de por vida). Esta no es una limitación formal o inherente, sino práctica. La mayoría de las veces, los árboles de decisión se utilizan para predecir factores o resultados discretos.
Mala resolución con variables de expectativa continua
Una vez más, en principio, está bien tener variables independientes como "tiempo de descarga" o "número de días desde la compra en línea anterior": simplemente cambie su criterio de división a variación (generalmente es Entropía de información o Impureza de Gini para variables discretas) pero en mi La experiencia Los árboles de decisión rara vez funcionan bien en estos casos. Las excepciones son casos como la "edad del estudiante" que parece continua pero en la práctica el rango de valores es bastante pequeño (particularmente si se informan como enteros).