web-dev-qa-db-fra.com

Comment connaître la précision?

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

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)
8
Andrew 76868

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

Aussi sklearn.metrics ont de nombreuses fonctions disponibles qui produiront différentes métriques comme accuracy, precision, recall etc.

Pour votre question spécifique, vous avez besoin de accuracy_score

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

Vous pouvez utiliser accuracy_score, trouver la documentation ici .

Mettre en œuvre comme ça -

from sklearn.metrics import accuracy_score
accuracy = accuracy_score(prediction, labels_test)

Cela renverra une valeur flottante. La valeur flottante décrit (nombre de points classés correctement)/(nombre total de points dans votre ensemble de test)

5
Ananth

Pour les problèmes de classification, utilisez "metrics.accuracy_score" et la régression, utilisez "metrics.r2_score".

1
CodeRed

Vous devez importer precision_score depuis sklearn.metrics. Cela devrait être comme ci-dessous, à partir de sklearn.metrics import precision_score print precision_score (prévisions, jeu de tests d'étiquettes)

La formule de précision est le nombre de points classés correctement/tous les points de l'ensemble de test

1
user3318064