Oooh nadie ha respondido esto todavía!
Aquí están mis dos centavos:
- ¿Quieres implementar árboles de decisión? Si no, considere usar una biblioteca DT preexistente que contenga submuestreo variable durante las divisiones de nodo.
- Más allá de los árboles de decisión, ¿realmente necesita comprender el algoritmo a través de la implementación? Yo diría ‘no’ por bosque aleatorio. Lo que quiero decir es, para algo como SVMs o Neural Nets, donde se puede obtener mucho de su implementación porque hay muchos detalles complicados que pasamos por alto al describirlos teóricamente … Los bosques aleatorios realmente no son tan malos.
No hay muchas opciones de diseño en la parte superior del árbol de decisiones:
- ¿Qué conocimiento debo tener antes de aprender el aprendizaje automático?
- ¿Cómo funcionan los aceleradores de procesador?
- ¿Cuáles son los tres problemas principales en el pronóstico de energía eólica y solar que requieren atención urgente utilizando algoritmos de aprendizaje automático?
- ¿Por qué algunos sistemas de recomendación, como Netflix, dejan de funcionar con demasiadas calificaciones?
- ¿Dónde entran en juego las funciones de activación en una red neuronal de convolución?
- Decide sobre los # árboles que deseas.
- Proporción de características a la submuestra,
- Datos de submuestra (o potencialmente bootstrap) para cada árbol de decisión,
- Pase algunas opciones sobre qué tan grande desea que sean sus árboles de decisión (es decir, un máximo de # nodos o una profundidad máxima) y luego recupere el voto de predicción de cada árbol.
Si suena como un proyecto divertido, ¡adelante! Recomiendo usar una biblioteca de árbol de decisión preexistente para llevarlo directamente al objeto de curiosidad: el conjunto.