0

Я довольно новичок в машине. Любая помощь будет оценена по достоинству.Кривая ROC кривой, использующая scikit-learn для распознавания лиц с использованием наборов данных изображений, вызывает ошибку. (Fetch_olivetti_faces)

Я хочу построить график, чтобы показать точность и частоту ошибок алгоритмов (LDA, SVM). И сравнить, какой алгоритм лучше среди обоих. Точность, возвращаемая запуском программы python в терминале, не считается хорошим доказательством.

Построенные графики с использованием матрицы путаницы, чтобы показать точность и частоту ошибок.

Я считаю, что график графика с использованием ROC предназначен для двоичного классификатора(), и его можно также использовать для набора данных изображения с использованием алгоритмов LDA и SVM.

Я построил график cross_val_predict, чтобы визуализировать ошибки прогнозирования.

Есть ли какое-либо графическое представление, которое может сделать лучше, чем вышеупомянутое или я пропустил.

ответ

0

Обычно я сюжет кривой ROC, как это:

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 для кода. Во время выполнения кода у меня возникла ошибка. Я думаю, что ошибка связана с тем, что тип данных изображения не является бинарным его массивом numpy. В настоящее время я работаю над преобразованием данных изображения в двоичный файл с помощью label_binarize. Ошибка - строка 314 в _binary_clf_curve Повысить ValueError («Данные не являются двоичными и pos_label не указан») ValueError: данные не являются бинарными, а pos_label не указан ajay @ ubuntu: ~/face_recog_LDA/ROC_Curve/roc $ – aja

+0

можно ли рисовать кривую ROC для набора данных изображения, которая имеет 40 предметов и 10 изображений для каждого объекта? Кривая ROC используется только для двоичных проблем? – aja

+0

@AJAY JOY Да, в основном он используется для двоичного классификатора, но его можно расширить до задач с несколькими классами. Посмотрите http://scikit-learn.org/stable/auto_examples/model_selection/plot_roc.html –

 Смежные вопросы

  • Нет связанных вопросов^_^