2010-09-06 16 views
5

Empiezo a usar clasificador NaiveBayes/Simple para la clasificación (Weka), sin embargo, tengo algunos problemas para entender mientras entreno los datos. El conjunto de datos que estoy usando es weather.nominal.arff.interpretando los resultados Naive Bayes

alt text

Mientras que yo uso el uso de pruebas de formación de las opciones, el resultado es clasificador:

Correctly Classified Instances 13 - 92.8571 %  
Incorrectly Classified Instances 1 - 7.1429 % 

a b classified as 
9 0 a =yes 
1 4 b = no 

Mi primera pregunta ¿qué debo entender a partir de los casos de anuncios incorrectos? ¿Por qué ocurrió tal problema? ¿Qué colección de atributos se clasifica como incorrecta? hay alguna manera de entender esto?

En segundo lugar, cuando intento la validación cruzada de 10 veces, ¿por qué obtengo instancias diferentes (menos) correctamente clasificadas?

Los resultados son los siguientes:

Correctly Classified Instances   8    57.1429 % 
Incorrectly Classified Instances   6    42.8571 % 

a b <-- classified as 
7 2 | a = yes 
4 1 | b = no 

Respuesta

8

Puede obtener las predicciones individuales para cada instancia por la elección de esta opción de:

Más Opciones ...>> predicciones de salida de texto plano

Lo que le dará, además de las métricas de evaluación, lo siguiente:

=== Predictions on training set === 

inst#  actual predicted error prediction 
    1  2:no  2:no  0.704 
    2  2:no  2:no  0.847 
    3  1:yes  1:yes  0.737 
    4  1:yes  1:yes  0.554 
    5  1:yes  1:yes  0.867 
    6  2:no  1:yes + 0.737 
    7  1:yes  1:yes  0.913 
    8  2:no  2:no  0.588 
    9  1:yes  1:yes  0.786 
    10  1:yes  1:yes  0.845 
    11  1:yes  1:yes  0.568 
    12  1:yes  1:yes  0.667 
    13  1:yes  1:yes  0.925 
    14  2:no  2:no  0.652 

que indica que la sexta instancia se clasificó erróneamente. Tenga en cuenta que incluso si entrena y prueba en las mismas instancias, pueden producirse clasificaciones erróneas debido a incoherencias en los datos (el ejemplo más simple es tener dos instancias con las mismas características pero con una etiqueta de clase diferente).

Tenga en cuenta que la forma anterior de prueba es parcial (es un poco trampa ya que puede ver las respuestas a las preguntas). Por lo tanto, generalmente estamos interesados ​​en obtener una estimación más realista del error del modelo en datos no vistos. Cross-validation es una de esas técnicas, donde divide los datos en 10 pliegues estratificados, realizando la prueba en un pliegue, mientras entrena en los otros nueve, finalmente informa la precisión promedio en las diez carreras.

+0

gracias por la respuesta clara y weka tip + 1. el punto confuso es parcial, ¿qué quieres decir? ¿Debo usar siempre la validación cruzada para todos mis diferentes algoritmos de clasificación? – berkay

+4

piénsalo, quieres aprender una red Naive Bayes que modele tus datos, y luego quieres probar su precisión de predicción. Si entrena el modelo y lo prueba en el mismo conjunto de instancias, entonces está sobreestimando su precisión (ha visto que esos ejemplos particulares funcionan bien con ellos), pero probablemente tendrá menos éxito con los datos nuevos. El punto clave aquí es ** generalización **: queremos generalizar más allá de las instancias que se han proporcionado en el "tiempo de capacitación" a nuevos ejemplos no vistos. – Amro

+0

Amro gracias por respuestas claras. Estoy publicando aquí para hacer una pregunta sobre el recuerdo y la precisión de los resultados de la validación cruzada. recall (7/(2 + 7)) = 0778 y la precisión es (1/(1 + 4)) = 0.2, sin embargo weka dice para precisión = 0.636? alguna idea sobre esto? – berkay

Cuestiones relacionadas