¿Cuáles son las desventajas de usar el algoritmo clásico de árbol de decisión para grandes conjuntos de datos?

Desde la perspectiva de la eficiencia computacional: es un problema de búsqueda combinatoria, en cada división, desea encontrar las características que “le dan la mejor inversión” (maximizar la ganancia de información). Si lo hace con fuerza “bruta”, su complejidad computacional es O ( m ^ 2) para el número de características m , y O ( n ^ 2) para el número de n casos de entrenamiento (creo que puede ser O ( n log ( n) si tienes suerte).
P.ej,. incluso si piensa en algo simple como el datast Iris (150 flores, 3 clases, 4 características continuas). En cada división, debe reevaluar las 4 características, y para cada característica debe encontrar el valor óptimo para dividir, por ejemplo,. longitud del sépalo <3.4 cm (esto es para una división binaria). Por cierto. La complejidad computacional es también la razón por la cual las personas implementan árboles de decisión binarios la mayor parte del tiempo.

Desde una perspectiva predictiva de rendimiento: si no podas el árbol, es más probable que sufras la maldición de la dimensionalidad y el sobreajuste. Si está interesado en la clasificación del árbol de decisión, probablemente estaría más feliz con los métodos de conjunto:

  • Combine los tocones de árbol de decisión que aprenden de forma iterativa entre sí centrándose en muestras que son difíciles de clasificar (= AdaBoost)
  • Cree un conjunto de árboles de decisión no podados; dibujar muestras de bootstrap, hacer una selección aleatoria de características (= bosques aleatorios)
  • Olvídate del ensacado y usa todas las muestras de entrenamiento como entrada para tus árboles no podados; elija tanto la función de división como el valor de división al azar (= árboles extremadamente aleatorios)

PD: puede estar interesado en la biblioteca “árboles compilados de scikit-learn” si está trabajando con grandes conjuntos de datos: ajtulloch / sklearn-compiledtrees

Uno de los principales problemas es que los árboles de decisión univariantes no pueden aprender con precisión el límite de decisión diagonal. Se llama el problema de representación. Otro es el ajuste excesivo sugerido por Sebastian Raschka.