0

Je suis assez nouveau pour se pencher en machine. Toute aide serait appréciée. Je veux tracer des graphiques pour montrer la précision des algorithmes (LDA, SVM) et le taux d'erreur. Et comparer l'algorithme qui est le meilleur parmi les 2. La précision retournée par l'exécution du programme python dans le terminal n'est pas considérée comme une bonne preuve.Tracer courbe ROC en utilisant scikit-learn pour la reconnaissance faciale en utilisant des jeux de données d'image provoque une erreur. (Fetch_olivetti_faces)

Graphiques tracés à l'aide d'une matrice de confusion pour montrer la précision et le taux d'erreur. Je crois que le graphe de traçage utilisant ROC est pour classifier binaire() et peut-il aussi être utilisé pour l'ensemble de données d'image utilisant des algorithmes de LDA et de SVM.

J'ai tracé le graphique cross_val_predict pour visualiser les erreurs de prédiction.

Y at-il une représentation graphique qui peut faire mieux que mentionné ci-dessus ou j'ai manqué.

Répondre

0

Habituellement je tracer la courbe ROC comme ceci:

predictions_prob = your_model.predict_proba(x_test) 
false_positive_rate, recall, thresholds = roc_curve(y_test, predictions_prob[:,1]) 
roc_auc = auc(false_positive_rate, recall) 
plt.plot(false_positive_rate, recall, 'g', label = 'AUC %s = %0.2f' % ('model name', roc_auc)) 
plt.plot([0,1], [0,1], 'r--') 
plt.legend(loc = 'lower right') 
plt.ylabel('Recall') 
plt.xlabel('Fall-out') 
plt.title('ROC Curve') 

enter image description here

+0

GThanks pour le code. Pendant l'exécution du code, j'ai eu une erreur. Je pense que l'erreur est due au type de données d'image n'est pas binaire son tableau numpy. Je travaille actuellement pour convertir les données d'image en binaire en utilisant label_binarize. L'erreur est, ligne 314, dans _binary_clf_curve raise ValueError ("Les données ne sont pas binaires et pos_label n'est pas spécifié") ValueError: Les données ne sont pas binaires et pos_label n'est pas spécifié ajay @ ubuntu: ~/face_recog_LDA/ROC_Curve/roc $ – aja

+0

est-il possible de dessiner une courbe ROC pour un ensemble de données d'image qui a 40 sujet et 10 images pour chaque sujet? La courbe ROC est-elle utilisée uniquement pour les problèmes binaires? – aja

+0

@AJAY JOY Oui, la plupart du temps il est utilisé pour le classificateur binaire, mais il peut être étendu à des problèmes multi-classes. Jetez un oeil http://scikit-learn.org/stable/auto_examples/model_selection/plot_roc.html –