62

How can we interpret the classification result in weka using naive bayes?

How is mean, std deviation, weight sum and precision calculated?

How is kappa statistic, mean absolute error, root mean squared error etc calculated?

What is the interpretation of the confusion matrix?

Vishrant
  • 15,456
  • 11
  • 71
  • 120
user349821
  • 629
  • 1
  • 6
  • 4
  • @Atilla Ozgur: I got confused after reading that this question belongs to `computer-vision` tag, could you please elaborate your edit for that tag. – Vishrant Nov 05 '17 at 22:42
  • 1
    @Vishrant original owner of question though that this question should have computer-vision, not me. I did not change any tags. – Atilla Ozgur Nov 06 '17 at 11:10

4 Answers4

93

Below is some sample output for a naive Bayes classifier, using 10-fold cross-validation. There's a lot of information there, and what you should focus on depends on your application. I'll explain some of the results below, to get you started.

=== Stratified cross-validation ===
=== Summary ===

Correctly Classified Instances          71               71      %
Incorrectly Classified Instances        29               29      %
Kappa statistic                          0.3108
Mean absolute error                      0.3333
Root mean squared error                  0.4662
Relative absolute error                 69.9453 %
Root relative squared error             95.5466 %
Total Number of Instances              100     

=== Detailed Accuracy By Class ===

               TP Rate   FP Rate   Precision   Recall  F-Measure   ROC Area  Class
                 0.967     0.692      0.686     0.967     0.803      0.709    0
                 0.308     0.033      0.857     0.308     0.453      0.708    1
Weighted Avg.    0.71      0.435      0.753     0.71      0.666      0.709

=== Confusion Matrix ===

  a  b   <-- classified as
 59  2 |  a = 0
 27 12 |  b = 1

The correctly and incorrectly classified instances show the percentage of test instances that were correctly and incorrectly classified. The raw numbers are shown in the confusion matrix, with a and b representing the class labels. Here there were 100 instances, so the percentages and raw numbers add up, aa + bb = 59 + 12 = 71, ab + ba = 27 + 2 = 29.

The percentage of correctly classified instances is often called accuracy or sample accuracy. It has some disadvantages as a performance estimate (not chance corrected, not sensitive to class distribution), so you'll probably want to look at some of the other numbers. ROC Area, or area under the ROC curve, is my preferred measure.

Kappa is a chance-corrected measure of agreement between the classifications and the true classes. It's calculated by taking the agreement expected by chance away from the observed agreement and dividing by the maximum possible agreement. A value greater than 0 means that your classifier is doing better than chance (it really should be!).

The error rates are used for numeric prediction rather than classification. In numeric prediction, predictions aren't just right or wrong, the error has a magnitude, and these measures reflect that.

Hopefully that will get you started.

Vishrant
  • 15,456
  • 11
  • 71
  • 120
michaeltwofish
  • 4,096
  • 3
  • 28
  • 32
  • 2
    Kappa is not really a chance-corrected measure of agreement. See [this](http://www.john-uebersax.com/stat/kappa.htm) and [this](http://www.john-uebersax.com/stat/kappa2.htm) – Lior Kogan May 10 '16 at 17:45
33

To elaborate on michaeltwofish's answer, some notes on the remaining values:

  • TP Rate: rate of true positives (instances correctly classified as a given class)

  • FP Rate: rate of false positives (instances falsely classified as a given class)

  • Precision: proportion of instances that are truly of a class divided by the total instances classified as that class

  • Recall: proportion of instances classified as a given class divided by the actual total in that class (equivalent to TP rate)

  • F-Measure: A combined measure for precision and recall calculated as 2 * Precision * Recall / (Precision + Recall)

As for the ROC area measurement, I agree with michaeltwofish that this is one of the most important values output by Weka. An "optimal" classifier will have ROC area values approaching 1, with 0.5 being comparable to "random guessing" (similar to a Kappa statistic of 0).

It should be noted that the "balance" of the data set needs to be taken into account when interpreting results. Unbalanced data sets in which a disproportionately large amount of instances belong to a certain class may lead to high accuracy rates even though the classifier may not necessarily be particularly good.

Further reading:

else42.de
  • 465
  • 5
  • 23
Hybrid System
  • 798
  • 12
  • 25
2

What is Naive Bayes?

This explanation might help clarify what Naive Bayes means; it assumes independence of variables. To make this concrete, say we want to predict whether someone has walked through Prospect Park in Brooklyn. We have data on whether they

a) live in New York City

b) live in a city

Naive Bayes would assume those two variables are independent. But clearly, if they live in NYC, they also live in a city. This is a stupid example because (hopefully) no one would ever use data science with these variables, but it shows what independence means. If a, then b. Also, if not b, then not a.

There is dependence, so Naive Bayes' naive assumption does not hold.

Weka Tutorial

This page may be of use to newbies. It's helping me a lot; it walks through

I am not affiliated with Jason Brownlee. He seems kind of sales-y, but the benefit of that is he keeps it simple since he's targeting beginners

Nathan majicvr.com
  • 950
  • 2
  • 11
  • 31
0

It is giving each value of "50050000" for some algorithms while for other classifiers these values are around 49.7, 87.4, 98.2, and so on.

  • 3
    Could you please elaborate more your answer adding a little more description about the solution you provide? – abarisone Jun 15 '15 at 07:26