25 votos

Los cinco mejores clasificadores para probar primero

Además de las características obvias del clasificador como

  • coste computacional,
  • tipos de datos previstos de características/etiquetas y
  • idoneidad para determinados tamaños y dimensiones de conjuntos de datos,

¿Cuáles son los cinco (o 10, 20) mejores clasificadores para probar primero en un nuevo conjunto de datos? uno no sabe mucho todavía (por ejemplo, la semántica y la correlación de los rasgos individuales)? Normalmente pruebo con Naive Bayes, Nearest Neighbor, Decision Tree y SVM, aunque no tengo ninguna razón de peso para esta selección, aparte de que los conozco y comprendo en gran medida su funcionamiento.

Supongo que hay que elegir clasificadores que cubran lo más importante general enfoques de clasificación. ¿Qué selección recomendaría, según ese criterio o por cualquier otra razón?


ACTUALIZACIÓN: Una formulación alternativa para esta pregunta podría ser: "¿Qué enfoques generales de clasificación existen y qué métodos específicos abarcan los más importantes/populares/prometedores?"

0 votos

Creo que esto es un duplicado de ( stats.stackexchange.com/questions/3458/ ). El único valor adicional de la pregunta aquí podría ser "criterios para seleccionar clasificadores" (lo que haría que la pregunta fuera muy genérica). Si es un duplicado, vota por cerrar, sino vota por cw ;)

0 votos

@steffen: Tu pregunta referenciada es útil, sin embargo, creo que no es un duplicado. Efectivamente mi pregunta es bastante genérica. No estoy buscando una solución a un problema en particular, sino razones generales de por qué utilizar qué aprendices - Voy a actualizar mi pregunta en consecuencia.

21voto

ESRogs Puntos 1381

Bosque aleatorio

Rápido, robusto, buena precisión, en la mayoría de los casos no hay que afinar, no requiere normalización, inmune a la colinealidad, genera una aproximación de errores bastante buena y una clasificación de importancia útil como efecto secundario del entrenamiento, trivialmente paralelo, predice en un abrir y cerrar de ojos.

Inconvenientes: es más lento que los métodos triviales como kNN o NB, funciona mejor con clases iguales, peor precisión que SVM para problemas que requieren desesperadamente el truco del kernel, es una caja negra dura, no hace café.

1 votos

@mbq (+1) Sobre el desequilibrio de clases, todavía podemos confiar en el muestreo estratificado durante el bagging.

3 votos

@mbq, ¿no hace café? Eso es algo que rompe el trato.

0 votos

Gracias por la sugerencia de Bosques aleatorios . Pero, ¿probarías sólo con ellos? ¿Y si no estás contento con los resultados? ¿Qué otro clasificador probarías? O, ¿qué responderías si alguien te pregunta "¿Por qué no has probado otros métodos?"

7voto

John Richardson Puntos 1197

Clasificador de procesos gaussianos (sin utilizar la aproximación de Laplace), preferiblemente con marginación en lugar de optimización de los hiperparámetros. ¿Por qué?

  1. porque dan una clasificación probabilística
  2. puede utilizar una función kernel que le permita operar directamente con datos no vectoriales y/o incorporar el conocimiento de los expertos
  3. tratan la incertidumbre en el ajuste del modelo de forma adecuada, y se puede propagar esa incertidumbre a través del proceso de toma de decisiones
  4. En general, el rendimiento predictivo es muy bueno.

Desventajas

  1. lento
  2. requiere mucha memoria
  3. poco práctico para los problemas a gran escala.

Sin embargo, la primera opción sería la regresión logística regularizada o la regresión ridge [sin selección de características]: para la mayoría de los problemas, los algoritmos muy sencillos funcionan bastante bien y es más difícil equivocarse (en la práctica, las diferencias de rendimiento entre los algoritmos son menores que las diferencias de rendimiento entre el operador que los maneja).

1voto

James Puntos 1294

Por mi parte, cuando te acercas a un nuevo conjunto de datos debes empezar a vigilar todo el problema. En primer lugar, obtenga una distribución para las características categóricas y la media y las desviaciones estándar para cada característica continua. A continuación:

  • Eliminar las características con más de un X% de valores perdidos;
  • Elimine las características categóricas cuando un valor concreto obtenga más del 90-95% de la frecuencia relativa;
  • Eliminar las características continuas con CV=std/media<0,1;
  • Obtenga una clasificación de parámetros, por ejemplo ANOVA para continuos y Chi-cuadrado para categóricos;
  • Obtenga un subconjunto significativo de características;

Entonces suelo dividir las técnicas de clasificación en 2 conjuntos: técnica de caja blanca y de caja negra. Si necesitas saber "cómo funciona el clasificador", debes elegir el primer conjunto, por ejemplo, árboles de decisión o clasificadores basados en reglas.

Si necesita clasificar nuevos registros sin construir un modelo debería echar un vistazo a eager learner, por ejemplo KNN.

Después creo que es mejor tener un umbral entre la precisión y la velocidad: las redes neuronales son un poco más lentas que las SVM.

Esta es mi técnica de clasificación de los cinco mejores:

  1. Árbol de decisión;
  2. Clasificadores basados en reglas;
  3. SMO (SVM);
  4. Naive Bayes;
  5. Redes neuronales.

4 votos

-1 Flujo de trabajo absolutamente incorrecto para p grande n pequeño, el sobreajuste de FS está garantizado.

1 votos

¿KNN no es un aprendiz perezoso en lugar de uno ansioso (ya que no hace nada hasta que realmente tiene que hacerlo cuando aparece un patrón para clasificar)? Cualquier preprocesamiento que se haga antes de aplicar el clasificador es probable que tenga un efecto mayor en el rendimiento que la diferencia entre los clasificadores; la selección de características es especialmente difícil (conduce fácilmente a un ajuste excesivo), y métodos como el SVM con regularización suelen funcionar mejor sin la selección de características. Desde luego, yo no recomendaría las redes neuronales, ya que tienen demasiados problemas potenciales.

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