4 votos

Cómo generar y uso aleatorio de los árboles?

Tengo la tarea de implementar un azar del árbol de la clasificador en MATLAB.

La lección dice:

Input: observations and lables
While stopping criterion not reached:
1. Node optimization: - several split candidates are randomly generated
   - the best splitting function is chosen according to some quality measure
2. Data splitting: observations are pushed to the left or right branch.
3. Move to next node

Stopping criteria: 
      Quality measure - Number of data points in the current node/leaf

Mi problema ahora es que no entiendo cómo obtener el generado aleatoriamente divididos candidatos? Obtener de los valores de entrada? Pero, a continuación, me gustaría obtener un árbol de decisión (se selecciona un elemento aleatorio y decir >x a la derecha del nodo, < x a la izquierda del nodo.) También no entiendo cuál es la diferencia entre el azar árbol y el árbol de decisión está en la final.

También la conferencia dice:

Choosing the best candidates: according to a quality measures
Out-of-bag error (OOB)  -  Minimize error rate after splitting using a test set
Information gain  -  Maximize information gain after splitting

Pero, ¿qué conjunto de pruebas debo usar? El conjunto de pruebas que ya están en el árbol utilizado para el entrenamiento?

Wikipedia y Google no me ayuda. El código de la punta de MATLAB se puede encontrar aquí: http://pastebin.com/iuzqF8gG

Le agradezco su ayuda.

3voto

jdotjdot Puntos 129

Yo no sé acerca de Matlab, pero en general, se puede utilizar estocástico contexto libre grammers (SCFG); ver, por ejemplo, Weinberg, Nebel (2010).

Idea básica: representan los árboles con una CFG, tren, definir las probabilidades de manera adecuada y generar los árboles de arriba hacia abajo, siguiendo la gramática.

1voto

Pat Notz Puntos 46841

Mi problema ahora es que no entiendo cómo obtener el generado aleatoriamente divididos candidatos? ... Además, yo no entiendo cuál es la diferencia entre el azar árbol y el árbol de decisión está en la final.

Seleccionar aleatoriamente un punto de división y elegir aceptar basado en una medida de calidad como BIC, etc. Se diferencia de un árbol de decisión debido a que el punto de división se genera de forma aleatoria para generar varios árboles de decisión y sólo mantener el más útil (w.r.t algunas métricas).

Pero, ¿qué conjunto de pruebas debo usar? El conjunto de pruebas que ya están en el árbol utilizado para el entrenamiento?

El uso de la validación cruzada (por ejemplo, dejar-uno-fuera-de validación cruzada).

Aquí, se toma el conjunto de datos en forma aleatoria y se dividió en dos conjuntos de datos : una prueba y el conjunto de datos de entrenamiento (por ejemplo, usted tiene 100 puntos de datos y escoger al azar a 50 para el entrenamiento y el resto para las pruebas). Una vez que usted ha entrenado a su árbol en el conjunto de datos de entrenamiento, usted puede probarlo en el conjunto de datos de prueba que le dará una idea sobre qué tan bien sus árboles de realizar con invisibles de datos (prueba de errores).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X