2016-01-02 3 views
1

У меня проблема с пониманием с помощью библиотек roc.roc curve with sklearn [python]

Я хочу, чтобы построить кривую ROC с питоном http://scikit-learn.org/stable/modules/generated/sklearn.metrics.roc_auc_score.html

Я пишу программу, которая расценивается детекторы (haarcascade, нейронные сети) и хочу, чтобы оценить их. Так у меня уже есть данные, сохраненные в файл в следующем формате:

0.5 TP 
0.43 FP 
0.72 FN 
0.82 TN 
... 

тогда TP означает Истинную Positive, FP - Ложный Positivve, FN - Ложноотрицательный, TN - Правда Negative

я разобрать его и заполнить 4 массива этим набором данных.

Тогда я хочу, чтобы поместить это в

fpr, tpr = sklearn.metrics.roc_curve(y_true, y_score, average='macro', sample_weight=None) 

, но как это сделать? Что такое y_true в моем случае и y_score? после этого, я положил его FPR, TPR в

auc = sklearn.metric.auc(fpr, tpr) 

ответ

3

Quotting Википедии:

РПЦ создается путем построения FPR (ложные срабатывания) против ТСА (истинной положительной скорости) при различных пороговых значениях настройки.

Для вычисления FPR и TPR вы должны предоставить истинное двоичное значение и целевые баллы для функции sklearn.metrics.roc_curve.

Так что в вашем случае, я хотел бы сделать что-то вроде этого:

from sklearn.metrics import roc_curve 
from sklearn.metrics import auc 

# Compute fpr, tpr, thresholds and roc auc 
fpr, tpr, thresholds = roc_curve(y_true, y_score) 
roc_auc = auc(y_true, y_score) 

# Plot ROC curve 
plt.plot(fpr, tpr, label='ROC curve (area = %0.3f)' % roc_auc) 
plt.plot([0, 1], [0, 1], 'k--') # random predictions curve 
plt.xlim([0.0, 1.0]) 
plt.ylim([0.0, 1.0]) 
plt.xlabel('False Positive Rate or (1 - Specifity)') 
plt.ylabel('True Positive Rate or (Sensitivity)') 
plt.title('Receiver Operating Characteristic') 
plt.legend(loc="lower right") 

Если вы хотите иметь более глубокое понимание того, как процент ложных срабатываний и Истинная положительная норма вычисляются для всех возможных значений пороговых значений , Я предлагаю вам прочитать this article