algorithm - mineria - metodo chaid de arboles de decision
Ayuda Comprensión de validación cruzada y árboles de decisión (5)
El punto principal de usar la validación cruzada es que le da una mejor estimación del rendimiento de su modelo entrenado cuando se usa en datos diferentes.
¿Qué árbol eliges? Una opción sería que haces bulid un nuevo árbol usando todos tus datos para el conjunto de entrenamiento.
He estado leyendo sobre Decision Trees y Cross Validation, y entiendo ambos conceptos. Sin embargo, tengo problemas para entender la validación cruzada en lo que respecta a los árboles de decisión. Básicamente, la validación cruzada le permite alternar entre capacitación y prueba cuando su conjunto de datos es relativamente pequeño para maximizar su estimación de errores. Un algoritmo muy simple dice algo como esto:
- Decide la cantidad de pliegues que deseas (k)
- Subdivida su conjunto de datos en k pliegues
- Use pliegues k-1 para un conjunto de entrenamiento para construir un árbol.
- Use el conjunto de prueba para estimar las estadísticas sobre el error en su árbol.
- Guarde sus resultados para más tarde
- Repita los pasos 3 a 6 para k veces, dejando un pliegue diferente para su conjunto de prueba.
- Promedia los errores en tus iteraciones para predecir el error general
El problema que no puedo resolver es que al final tendrás k Árboles de decisiones que podrían ser un poco diferentes, ya que podrían no dividirse de la misma manera, etc. ¿Qué árbol eliges? Una idea que tuve fue escoger la que tenía errores mínimos (aunque eso no lo hace óptimo solo porque funcionó mejor en el doblez que se le dio). Tal vez usar estratificación ayudará pero todo lo que he leído dice que solo ayuda un poco. )
Como entiendo la validación cruzada, el punto es calcular en estadísticas de nodos que luego pueden usarse para podar. Entonces, realmente, cada nodo del árbol tendrá estadísticas calculadas para él en función del conjunto de pruebas que se le haya asignado. Lo importante es esto en las estadísticas de nodo, pero si promedia su error. ¿Cómo se combinan estas estadísticas dentro de cada nodo en k árboles cuando cada árbol puede variar en lo que eligen dividir, etc.
¿Cuál es el punto de calcular el error general en cada iteración? Eso no es algo que pueda usarse durante la poda.
Cualquier ayuda con esta pequeña arruga sería muy apreciada.
La validación cruzada no se usa para buliding / podar el árbol de decisión. Se usa para estimar qué tan bueno será el árbol (basado en todos los datos) al simular la llegada de nuevos datos (construyendo el árbol sin algunos elementos tal como lo escribió). Realmente no tiene sentido elegir uno de los árboles generados porque el modelo está restringido por los datos que tiene (y no usarlo todo podría empeorar cuando use el árbol para nuevos datos).
El árbol está construido sobre los datos que usted elige (por lo general, todo). La poda usualmente se hace usando alguna heurística (es decir, el 90% de los elementos en el nodo pertenece a la clase A, así que no vamos más lejos o la ganancia de información es demasiado pequeña).
Para la primera parte, y como han señalado los demás, normalmente usamos todo el conjunto de datos para construir el modelo final, pero utilizamos la validación cruzada (CV) para obtener una mejor estimación del error de generalización en nuevos datos no vistos.
Para la segunda parte, creo que está confundiendo CV con el conjunto de validación , utilizado para evitar sobreajustar el árbol podando un nodo cuando algún valor de función calculado en el conjunto de validación no aumenta antes / después de la división.
Ya se ha mencionado que el propósito de la validación cruzada es calificar el modelo. En otras palabras, la validación cruzada nos proporciona una estimación de errores / precisión del modelo generado con los "parámetros" seleccionados, independientemente de los datos utilizados. El proceso de validación de corss se puede repetir utilizando parámetros deferentes hasta que estemos satisfechos con el rendimiento. Entonces podemos entrenar el modelo con los mejores parámetros en la información completa.
El problema que no puedo resolver es que al final tendrás k Árboles de decisiones que podrían ser un poco diferentes, ya que podrían no dividirse de la misma manera, etc. ¿Qué árbol eliges?
El propósito de la validación cruzada no es ayudar a seleccionar una instancia particular del clasificador (o árbol de decisión, o cualquier aplicación de aprendizaje automático) sino más bien calificar el modelo , es decir, proporcionar métricas como la proporción de errores promedio, la desviación relativa a este promedio, etc., que pueden ser útiles para afirmar el nivel de precisión que uno puede esperar de la aplicación. Una de las cosas que la validación cruzada puede ayudar a afirmar es si los datos de capacitación son lo suficientemente grandes.
Con respecto a la selección de un árbol en particular , en su lugar debe ejecutar otra capacitación sobre el 100% de los datos de capacitación disponibles, ya que esto típicamente producirá un mejor árbol. (La desventaja del enfoque de validación cruzada es que tenemos que dividir la [típicamente pequeña] cantidad de datos de entrenamiento en "pliegues" y cuando insinúas en la pregunta, esto puede llevar a que los árboles sean demasiado aptos o no adecuados para instancias de datos particulares) .
En el caso del árbol de decisiones, no estoy seguro de cuál es su referencia a las estadísticas recopiladas en el nodo y utilizadas para podar el árbol. ¿Tal vez un uso particular de técnicas relacionadas con la validación cruzada? ...