2017-02-26 2 views
0

Je me suis demandé s'il existe une fonction dans sklearn qui correspond à la précision (différence entre les données réelles et prédites) et comment l'imprimer?Comment trouver l'alignement?

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) 
+0

Dans votre cas y et pr sont les mêmes, à savoir prédite à partir du classificateur sur les mêmes données. Pour trouver l'exactitude, vous ne devriez pas utiliser les mêmes données dans l'entraînement et la prédiction –

Répondre

1

La plupart des classificateurs dans scikit ont une fonction score() intégrée, dans laquelle vous pouvez entrer votre X_test et y_test et il affichera la mesure appropriée pour cet estimateur. Pour les estimateurs de classification, il s'agit principalement de 'mean accuracy'.

également sklearn.metrics ont de nombreuses fonctions disponibles qui affichera différentes mesures comme accuracy, precision, recall etc.

Pour votre question, vous devez accuracy_score

score = accuracy_score(iris.target, pr)