Clasificación estratificada con bosques aleatorios (u otro clasificador)

12

Entonces, tengo una matriz de aproximadamente 60 x 1000. Lo estoy viendo como 60 objetos con 1000 características; Los 60 objetos se agrupan en 3 clases (a, b, c). 20 objetos en cada clase, y sabemos la verdadera clasificación. Me gustaría hacer un aprendizaje supervisado en este conjunto de 60 ejemplos de capacitación, y estoy interesado tanto en la precisión del clasificador (y las métricas relacionadas) como en la selección de funciones en las 1000 funciones.

Primero, ¿cómo está mi nomenclatura?

Ahora la verdadera pregunta:

Podría arrojar bosques aleatorios sobre él como se indicó, o cualquier número de otros clasificadores. Pero hay una sutileza: realmente solo me importa diferenciar la clase c de las clases a y b. Podría agrupar las clases a y b, pero ¿hay una buena manera de utilizar el conocimiento a priori de que todos los objetos que no son c probablemente forman dos grupos distintos? Prefiero usar bosques aleatorios o una variante de los mismos, ya que se ha demostrado que es efectivo en datos similares a los míos. Pero podría estar convencido de probar otros enfoques.

usuario116293
fuente
No veo ningún problema con tu nomenclatura. ¿Son estos 60 objetos todo lo que tienes? Luego, para calcular una precisión de clasificación, debe dividir su conjunto de datos en conjuntos de tren, prueba (y también validación). Hay varias formas de hacer esto, pero creo que la validación cruzada de pliegues es la más común. k
emrea
1
Sí, solo estos 60. Pero creo que para los bosques aleatorios, cada árbol de decisión se crea con un subconjunto de las muestras, por lo que puede obtener un error de generalización estimado aplicando cada una de las 60 muestras existentes solo a aquellos árboles dentro del bosque que no No veo esa muestra durante la construcción. ( stat.berkeley.edu/~breiman/RandomForests/cc_home.htm#ooberr ) Entonces, tal vez no sea necesaria la validación cruzada típica aquí.
user116293
deberías estar muy preocupado por sobreajustar aquí. Tienes 1000 variables con 60 objetos, me sentiría mucho mejor si fuera el otro qay y todavía diría que deberías preocuparte por el sobreajuste. ¿Hay alguna forma lógica o semántica de redistribuir el número de variables antes de hacer el análisis?
jank

Respuestas:

8

¿hay una buena manera de usar el conocimiento a priori de que todos los objetos que no son c probablemente forman dos grupos distintos?

Si está utilizando un método basado en árbol, no creo que importe, ya que estos clasificadores dividen el espacio de características y luego mire la proporción de muestras en cada clase. Entonces, lo único que importa es la ocurrencia relativa de la clase c en cada nodo terminal.

Sin embargo, si estaba usando algo como una mezcla de normales, LDA, etc., combinar dos grupos sería una mala idea (suponiendo que las clases ayb formen grupos únicos). Aquí debe preservar la estructura de clase para describir con precisión el espacio de características que se asigna a a, byc. Estos modelos suponen que las características para cada clase tienen una distribución Normal diferente. Si combina a y b, forzará una sola distribución Normal para que se ajuste a una mezcla.

En resumen para los árboles, no debería importar mucho si usted:

I. Cree tres clasificadores (1. a vs b, 2. a vs c y 3. b vs c) y luego prediga con un método basado en votación.

II Combinar las clases ayb para formar un problema de dos clases.

III. Predecir las tres clases y luego asignar la predicción a un valor de dos clases (por ejemplo, f (c) = c, f (a) = no c, f (b) = no c).

Sin embargo, si utiliza un método que se ajuste a una distribución para cada clase, evite II. y probar cuál de I. o III. funciona mejor para tu problema

muratoa
fuente
III suena bien, aunque creo que si el clasificador dice que una muestra es .33 a, .33 b, y .34 c, probablemente debería sumar las probabilidades para a y b y, por lo tanto, elegir 'no c'.
user116293
1
Para (I), ¿cuál es un buen procedimiento para un voto dividido (1: a, 2: c, 3: b), o es probable que sea demasiado raro para que realmente importe?
user116293
Para III. Lo que sugieres es correcto. Para I. en datos de 3 clases, no creo que haya ninguna medida para dividir los votos (1 para cada uno) ya que la propiedad transitiva tendría que ser violada. Sin embargo, para 4+ clases, posiblemente pueda tener empates en la parte superior, en cuyo caso podría usar una cantidad numérica en lugar de ganar / perder; es decir, sumar los pesos toman la clase de peso máximo.
muratoa