J'ai utilisé Gridsearchcv avec un SVM RBF (classificateur binaire) pour obtenir des heatmaps de précision de validation. Le code que j'ai utilisé est plutôt directement du site Web de SKlearn. Y a-t-il un moyen de trouver la sensibilité et la spécificité de cela? Comme dans la gamme de valeurs de paramètres utilisés par Gridsearchcv?Comment acquérir la sensibilité et la spécificité (taux positif vrai et taux négatif réel) de gridsearchcv de sklearn?
1
A
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_.