Find out error rate using sklearn

22,923

Solution 1

Assuming you have the true labels in a vector y_test:

from sklearn.metrics import zero_one_score

y_pred = svm.predict(test_samples)
accuracy = zero_one_score(y_test, y_pred)
error_rate = 1 - accuracy

Solution 2

If you want to cross validate a score, use the sklearn.cross_validation.cross_val_score utility function and pass it the scoring function you like from the sklearn.metrics module:

http://scikit-learn.org/dev/modules/cross_validation.html

Solution 3

Use sklearn.metrics.accuracy_score Doc here.

from sklearn.metrics import accuracy_score
#create vectors for actual labels and predicted labels...
my_accuracy = accuracy_score(actual_labels, predicted_labels, normalize=False) / float(actual_labels.size)
Share:
22,923
Jannat Arora
Author by

Jannat Arora

Updated on April 27, 2020

Comments

  • Jannat Arora
    Jannat Arora about 4 years

    I want to find out the error rate using svm classifier in python, the approach that I am taking to accomplish the same is:

      1-svm.predict(test_samples).mean()
    

    However, this approach does not work. Also the score function of sklearn gives mean accuracy...however, I can not use it as I want to accomplish cross-validation, and then find the error-rate. Please suggest a suitable function in sklearn to find out the error rate.

  • The Disco Spider
    The Disco Spider almost 9 years
    this is the classification error, how much it classifies correctly.