2012-09-03 37 views
5

Recientemente comencé a usar weka y trato de clasificar los tweets en positivos o negativos usando Naive Bayes. Así que tengo un conjunto de entrenamiento con tweets para los que di la etiqueta y un conjunto de pruebas con tweets que tienen la etiqueta "positiva". Cuando me encontré Naive Bayes, consigo los siguientes resultados:Significado de instancias correctamente clasificadas weka

instancias correctamente clasificados: 69 92% casos incorrectamente clasificadas: 6 8%

Entonces si cambio de las etiquetas de los tweets en la prueba ajustado a " negativo" y corrió otra vez Naive Bayes, los resultados son invertidas:

casos clasificados correctamente: 6 8% casos incorrectamente clasificadas: 69 92%

pensé que los casos clasificados correctamente muestran la exactitud de Naive Bayes y que debería ser el mismo no importa las etiquetas de los tweets en el conjunto de prueba. ¿Hay algún problema con mis datos o no entiendo correctamente el significado de las instancias correctamente clasificadas?

Muchas gracias por su tiempo,

Nantia

Respuesta

5

Las etiquetas en el conjunto de prueba se supone que es la correcta clasificación real. El rendimiento se calcula pidiendo al clasificador que dé su mejor estimación sobre la clasificación de cada instancia en el conjunto de prueba. Luego, las clasificaciones predichas se comparan con las clasificaciones reales para determinar la precisión. Por lo tanto, si voltea los valores 'correctos' que le da, los resultados se invertirán también.

+0

Muchas gracias @Junnux & Antimony por las respuestas rápidas! El conjunto de pruebas se crea de esta manera: doy un término de búsqueda a mi programa, twitter api arroja tweets que incluyen este término, estos tweets componen mi conjunto de pruebas y luego se ejecuta Naive Bayes. Por lo tanto, no puedo agregar las etiquetas correctas para el conjunto de prueba. Si te entendí bien, en este caso podré obtener las respuestas del clasificador para las etiquetas del conjunto de pruebas, pero no podré evaluar la precisión. ¿Lo entendí bien? – nadia

+0

Tiene razón, suponiendo que tenga etiquetas para el conjunto de entrenamiento al menos. Si ni siquiera tienes eso, entonces estás tomando el enfoque equivocado. Naive Bayes es un algoritmo para el aprendizaje supervisado. Si no tiene etiquetas, entonces lo que está buscando es __unsupervised__ learning, que requiere un conjunto diferente de algoritmos, y en general da resultados mucho peores. Sugeriría encontrar una forma de etiquetar sus datos o google para el aprendizaje no supervisado. – Antimony

+0

Sí, mi propósito es el aprendizaje supervisado, así que tengo etiquetas para mi conjunto de entrenamiento. ¡Muchas gracias de nuevo! Realmente me ayudaste a resolver algunas cosas. :) – nadia

1

De acuerdo con su conjunto de entrenamiento, el 69.92% de sus instancias se clasifican como positivas. Si las etiquetas para el conjunto de prueba, es decir las respuestas correctas, indican que todas son positivas, entonces eso hace 69.92% correcto. Si el conjunto de pruebas (y, por lo tanto, la clasificación) es el mismo, pero cambia las respuestas correctas, entonces, por supuesto, el porcentaje correcto también será el opuesto.

Tenga en cuenta que para evaluar un clasificador, necesita las etiquetas verdaderas del conjunto de prueba. De lo contrario, no puede comparar las respuestas del clasificador con las respuestas verdaderas. Me parece que podrías haber entendido mal esto. Puede obtener las etiquetas de datos no vistos, si eso es lo que desea, pero en ese caso no puede evaluar la precisión del clasificador.

Cuestiones relacionadas