2016-03-27 4 views

Répondre

2

Si votre problème est une classification binaire ou multi-classe, alors confusion matrix pourrait être ce que vous cherchez.

from sklearn.metrics import confusion_matrix 

y_true = [2, 0, 2, 2, 0, 1] 
y_pred = [0, 0, 2, 2, 0, 2] 
confusion_matrix(y_true, y_pred) 

array([[2, 0, 0], 
     [0, 0, 1], 
     [1, 0, 2]]) 

L'explication est la suivante:

Pour les exemples appartenant à la classe 0, le estimator correctement prédit 100% d'entre eux (2/2).
Pour les exemples appartenant à la classe 1, l'estimateur était erroné à 100% car il prédisait le seul exemple à la classe 2.
Pour les exemples appartenant à la classe 2, l'estimateur était correct à 66% (2/3) car il prédit 2 exemples à la classe 2 et 1 à la classe 0.

pour classification binaire:

y_true = [1, 0, 1, 0, 0, 1] 
y_pred = [1, 0, 1, 1, 0, 1] 

cm = confusion_matrix(y_true, y_pred) 
print cm 

tp = float(cm[0][0])/np.sum(cm[0]) 
tn = float(cm[1][1])/np.sum(cm[1]) 

print tp 
print tn 

[[2 1] 
[0 3]] 
0.666666666667 
1.0 

A propos des paramètres utilisés dans votre GridSearchCV, vous pouvez les trouver dans l'attribut grid_scores_.