Precisión vs medida F
En primer lugar, cuando usas una métrica debes saber cómo jugarla. La precisión mide la proporción de instancias clasificadas correctamente en todas las clases. Eso significa que si una clase ocurre con más frecuencia que otra, entonces la precisión resultante está claramente dominada por la precisión de la clase dominante. En su caso, si uno construye un Modelo M que solo predice "neutral" para cada instancia, la precisión resultante será
unc c = n e u t r a l( n e u t r a l + p o s i t i v e + n e ga t i v e )= 0.9188
Bien, pero inútil.
Por lo tanto, la adición de características mejoró claramente el poder de NB para diferenciar las clases, pero al predecir "positivo" y "negativo" uno clasifica erróneamente los neutrales y, por lo tanto, la precisión disminuye (en términos generales). Este comportamiento es independiente de NB.
¿Más o menos características?
En general, no es mejor usar más funciones, sino usar las funciones correctas. Más características es mejor en la medida en que un algoritmo de selección de características tiene más opciones para encontrar el subconjunto óptimo (sugiero explorar: selección de características de validación cruzada ). Cuando se trata de NB, un enfoque rápido y sólido (pero menos que óptimo) es usar InformationGain (Ratio) para ordenar las características en orden decreciente y seleccionar la k superior.
De nuevo, este consejo (excepto InformationGain) es independiente del algoritmo de clasificación.
EDITAR 27.11.11
Ha habido mucha confusión con respecto al sesgo y la varianza para seleccionar la cantidad correcta de características. Por lo tanto, recomiendo leer las primeras páginas de este tutorial: Bias-Variance tradeoff . La esencia clave es:
- Alto sesgo significa que el modelo es menos que óptimo, es decir, el error de prueba es alto (falta de ajuste, como dice Simone)
- Alta variación significa que el modelo es muy sensible a la muestra utilizada para construir el modelo . Eso significa que el error depende en gran medida del conjunto de entrenamiento utilizado y, por lo tanto, la varianza del error (evaluada en diferentes pliegues de validación cruzada) será extremadamente diferente. (sobreajuste)
Las curvas de aprendizaje trazadas sí indican el sesgo, ya que se traza el error. Sin embargo, lo que no puede ver es la varianza, ya que el intervalo de confianza del error no se traza en absoluto.
Ejemplo: Al realizar una validación cruzada de 3 veces 6 veces (sí, se recomienda la repetición con diferentes particiones de datos, Kohavi sugiere 6 repeticiones), obtendrá 18 valores. Ahora esperaría que ...
- Con un pequeño número de características, el error promedio (sesgo) será menor, sin embargo, la varianza del error (de los 18 valores) será mayor.
- con una gran cantidad de características, el error promedio (sesgo) será mayor, pero la varianza del error (de los 18 valores) menor.
Este comportamiento del error / sesgo es exactamente lo que vemos en sus tramas. No podemos hacer una declaración sobre la varianza. El hecho de que las curvas estén cercanas entre sí puede ser una indicación de que el conjunto de prueba es lo suficientemente grande como para mostrar las mismas características que el conjunto de entrenamiento y, por lo tanto, que el error medido puede ser confiable, pero esto es (al menos hasta donde yo entendí it) no es suficiente para hacer una declaración sobre la varianza (del error!).
Al agregar más y más ejemplos de capacitación (manteniendo fijo el tamaño del conjunto de pruebas), esperaría que la variación de ambos enfoques (número pequeño y alto de características) disminuya.
¡Ah, y no olvide calcular la ganancia de información para la selección de funciones utilizando solo los datos de la muestra de entrenamiento! Uno está tentado a usar los datos completos para la selección de características y luego realizar la partición de datos y aplicar la validación cruzada, pero esto conducirá a un sobreajuste. No sé lo que hiciste, esto es solo una advertencia que uno nunca debe olvidar.