Esta es una pregunta interesante y compleja.
Tan pronto como comience a usar algoritmos más “complicados” como el bosque aleatorio, perderá la capacidad de comprender directamente lo que está sucediendo. No puede simplemente mirar los parámetros como con una regresión lineal para averiguar qué variable influye en las predicciones positiva o negativamente.
Si es un bosque aleatorio pequeño (~ 10 árboles), puede obtener una idea al observar las divisiones en los diferentes árboles y tener una idea de cómo se comporta la variable dependiente en función de la entrada. Pero esto rara vez es muy útil y no tiene sentido para los bosques más grandes.
- ¿Debo ir al análisis de datos o al aprendizaje automático?
- ¿Por qué hay tantos enfoques generativos en la clasificación de escenas, mientras que el enfoque discriminatorio es el principal en el reconocimiento / detección de objetos?
- ¿Qué se debe considerar al decidir entre usar un algoritmo de filtrado colaborativo basado en el usuario y en el elemento?
- Cómo analizar un algoritmo de repetición selectiva
- ¿Hay alguna conexión entre el aprendizaje de kernel múltiple (MLK) y el aprendizaje profundo?
Para tener una idea de cómo se comporta un modelo globalmente, puede ver cuántas veces se elige una variable particular para una división en cualquiera de los árboles para determinar si contiene mucha información sobre el objetivo. Un método para calcular esto está presente en la mayoría de las implementaciones principales de bosque aleatorio. Sin embargo, tenga en cuenta que las variables con alta cardinalidad tenderán a elegirse con más frecuencia, lo que provocará un sesgo.
Finalmente, hay algunos algoritmos, como LIME, que pueden brindarle una mejor interpretación (y funciona en teoría para cualquier tipo de modelo, también en imágenes y texto). Funciona mirando cada predicción y generando perturbaciones alrededor del vector de entrada (lo que lleva a 5000 vectores para una predicción, por defecto en la implementación de Python). Luego se ajusta un modelo lineal en esta matriz y sus predicciones, y puede observar esos parámetros para comprender por qué el modelo genera esta predicción en particular. Como puede imaginar, es bastante costoso computacionalmente, y tampoco es una solución perfecta, pero esta es probablemente la más profunda que puede obtener para comprender su modelo.