Search code examples
pythonscikit-learnnaivebayes

How to find out the accuracy?


I've wondered if there is a function in sklearn which corresponds to the accuracy(difference between actual and predicted data) and how to print it out?

from sklearn import datasets 
iris = datasets.load_iris()
from sklearn.naive_bayes import GaussianNB
naive_classifier= GaussianNB()
y =naive_classifier.fit(iris.data, iris.target).predict(iris.data)
pr=naive_classifier.predict(iris.data)

Solution

  • Most classifiers in scikit have an inbuilt score() function, in which you can input your X_test and y_test and it will output the appropriate metric for that estimator. For classification estimators it is mostly 'mean accuracy'.

    Also sklearn.metrics have many functions available which will output different metrics like accuracy, precision, recall etc.

    For your specific question you need accuracy_score

    from sklearn.metrics import accuracy_score
    score = accuracy_score(iris.target, pr)