El árbol de decisión es un algoritmo relativamente sencillo que, sin embargo, supone la base de algunos de los algoritmos más potentes usados hoy día. Algunas ventajas de los árboles de decisión son:
- Son simples de entender y de interpretar
- Si el árbol no es excesivamente grande, puede visualizarse
- No requiere una preparación de los datos demasiado exigente (aunque la implementación de Scikit-Learn no soporta valores nulos)
- Se puede trabajar tanto con variables cuantitativas como cualitativas
- Utiliza un modelo de caja blanca: la respuesta del algoritmo es fácilmente justificable a partir de la lógica booleana implementada en él
Por otro lado, entre las desventajas podemos destacar las siguientes:
- Los árboles de decisión tienden al sobreentrenamiento, especialmente cuando el número de características predictivas es alto
- Son inestables: cualquier pequeño cambio en los datos de entrada puede suponer un árbol de decisión completamente diferente
- No se puede garantizar que el árbol generado sea el óptimo
- Hay conceptos que no son fácilmente aprendibles, pues los árboles de decisión no son capaces de expresarlos con facilidad (como el operador XOR)
- Si hay clases dominantes es fácil que los árboles se generen sesgados, por lo que se recomienda balancear el conjunto de datos antes de entrenar el modelo