¿Cómo combina un clasificador de conjunto las predicciones de sus clasificadores constituyentes? Tengo dificultades para encontrar una descripción clara. En algunos ejemplos de código que he encontrado, el conjunto solo promedia las predicciones, pero no veo cómo esto podría hacer una "mejor" precisión general.
Considere el siguiente caso. Un clasificador de conjunto está compuesto por 10 clasificadores. Un clasificador tiene una precisión del 100% del tiempo en el subconjunto de datos X y del 0% en todas las demás ocasiones. Todos los demás clasificadores tienen una precisión del 0% en el subconjunto de datos X y del 100% en todas las demás ocasiones.
Usando una fórmula de promedio, donde se ignora la precisión del clasificador, el clasificador de conjunto tendría, en el mejor de los casos, un 50% de precisión. ¿Es correcto o me falta algo? ¿Cómo puede tomar una predicción promedio de N clasificadores potencialmente desorientados crear una mejor predicción que un clasificador único que sea experto en un dominio específico?
Te estás perdiendo el hecho de que el clasificador "malo" no tiene una precisión del 0%, sino que no es significativamente mejor que una suposición aleatoria.
De esta manera, las buenas predicciones son siempre las mismas y se acumulan (ya que la verdad es solo una), mientras que las malas predicciones son ruidos aleatorios que promedian.
fuente
En el caso de la clasificación, generalmente hay dos formas de ensamblar la predicción. Digamos que es un problema de clasificación de clase binaria y tiene 3 modelos para ensamblar llamados m1, m2 y m3 y el conjunto de datos de entrenamiento se llama tren y el conjunto de datos de prueba llamado prueba. Los modelos ya están construidos en el tren. Entonces, un código de Python será el siguiente.
El primer método es tomar una ronda del promedio
Entonces la salida será un vector de valor 0 y 1
El segundo método consiste en agrupar la probabilidad de predicción de cada clase a partir de estos modelos y ensamblar eso y luego decidir la clase sobre la base de un umbral duro o alguna lógica.
recorra todo el vector pred_proba para encontrar cuál de 0 y cuál 1 es 1 basándose en el umbral duro 0.5
Entonces pred es la predicción final del conjunto.
fuente