Oppervlakte Onder de Curve (AUC)
De Oppervlakte Onder de Curve (AUC) is een fundamentele maatstaf in machine learning die wordt gebruikt om de prestaties van binaire classificatiemodellen te ev...
Een ROC-curve beoordeelt binaire classifiers door de True Positive Rate tegen de False Positive Rate uit te zetten over drempels, cruciaal voor het beoordelen van modelprestaties in AI en machine learning.
Een ROC-curve is een grafiek die het diagnostisch vermogen van een binair classificatiesysteem illustreert door de True Positive Rate (TPR) tegen de False Positive Rate (FPR) uit te zetten bij verschillende drempelinstellingen. De TPR, ook wel sensitiviteit of recall genoemd, meet het aandeel daadwerkelijk positieven dat correct wordt geïdentificeerd, terwijl de FPR het aandeel daadwerkelijk negatieven weergeeft dat ten onrechte als positief wordt aangemerkt.
Wiskundig:
Waarbij:
De term “Receiver Operating Characteristic” vindt zijn oorsprong in de signaaldetectietheorie, ontwikkeld tijdens de Tweede Wereldoorlog om radarsignalen te analyseren. Ingenieurs gebruikten ROC-curves om vijandelijke objecten van ruis te onderscheiden. In de loop der tijd vonden ROC-curves hun toepassing in de psychologie, geneeskunde en machine learning om diagnostische tests en classificatiemodellen te evalueren.
In machine learning en AI zijn ROC-curves essentieel bij het beoordelen van de prestaties van binaire classificatiemodellen. Ze geven een volledig beeld van het vermogen van een model om de positieve en negatieve klassen van elkaar te onderscheiden over alle drempels.
Classificatiemodellen geven vaak waarschijnlijkheden of doorlopende scores als output in plaats van definitieve klassenlabels. Door verschillende drempels op deze scores toe te passen, kun je de sensitiviteit en specificiteit van het model aanpassen:
Door TPR tegen FPR voor alle mogelijke drempels uit te zetten, ontstaat de ROC-curve, die het evenwicht tussen sensitiviteit en specificiteit weergeeft.
De Area Under the ROC Curve (AUC) kwantificeert het totale vermogen van het model om onderscheid te maken tussen positieve en negatieve klassen. Een AUC van 0,5 geeft aan dat het model geen onderscheidend vermogen heeft (gelijk aan willekeurig gokken), terwijl een AUC van 1,0 perfecte discriminatie betekent.
ROC-curves en AUC-scores zijn van onschatbare waarde bij het vergelijken van verschillende classificatiemodellen of het afstemmen van de parameters van een model. Een model met een hogere AUC heeft over het algemeen de voorkeur, omdat het een beter onderscheidend vermogen aangeeft tussen positieve en negatieve klassen.
Hoewel ROC-curves een visueel hulpmiddel bieden om de prestaties van een model te beoordelen, helpen ze ook bij het selecteren van een optimale drempel die sensitiviteit en specificiteit in evenwicht brengt, afhankelijk van de specifieke eisen van een toepassing.
Om ROC-curves te begrijpen, is het belangrijk om bekend te zijn met de confusiematrix, die de prestaties van een classificatiemodel samenvat:
Voorspeld positief | Voorspeld negatief | |
---|---|---|
Werkelijk positief | True Positive (TP) | False Negative (FN) |
Werkelijk negatief | False Positive (FP) | True Negative (TN) |
De confusiematrix vormt de basis voor het berekenen van TPR en FPR bij verschillende drempels.
ROC-curves zetten sensitiviteit uit tegen 1 – specificiteit (dat is de FPR).
In medische tests worden ROC-curves gebruikt om de effectiviteit van diagnostische testen te evalueren.
Voorbeeld: Het bepalen van de drempelwaarde voor een biomarker om een ziekte te diagnosticeren.
ROC-curves worden veel gebruikt bij het evalueren van classificatie-algoritmen in machine learning.
Voorbeeld: E-mail spamdetectie
In AI-automatisering en chatbots helpen ROC-curves bij het verfijnen van intentieherkenning en antwoordnauwkeurigheid.
Voorbeeld: Intentieclassificatie in chatbots
Financiële instellingen gebruiken ROC-curves om modellen te beoordelen die het risico op wanbetaling bij leningen voorspellen.
Voorbeeld: Voorspellen van wanbetaling op leningen
Voor elke drempel classificeert het model gevallen als positief of negatief, wat leidt tot verschillende waarden voor TP, FP, TN en FN.
Door de drempel van de laagste tot de hoogste mogelijke score te variëren, ontstaat een reeks TPR- en FPR-paren die de ROC-curve vormen.
De AUC kan worden berekend met numerieke integratietechnieken, zoals de trapeziumregel, toegepast op de ROC-curve.
Bij datasets waarin klassen onevenwichtig zijn verdeeld (bijv. fraudedetectie met weinig positieve gevallen), kunnen ROC-curves een te optimistisch beeld geven van de modelprestaties.
In dergelijke gevallen zijn Precision-Recall (PR)-curves informatiever.
PR-curves zetten precisie uit tegen recall en geven zo beter inzicht in de prestaties van het model op onevenwichtige datasets.
In AI-systemen, vooral bij classificatietaken, geven ROC-curves essentiële inzichten in de modelprestaties.
Door ROC-curve-analyse te benutten, kunnen AI-ontwikkelaars gebruikersinteracties verbeteren.
ROC-curves kunnen ook worden gebruikt om de eerlijkheid van modellen te beoordelen.
Diverse statistische software en programmeertalen bieden functies om ROC-curves te berekenen en te plotten.
roc_curve
en auc
.pROC
en ROCR
maken ROC-analyse mogelijk.from sklearn.metrics import roc_curve, auc
import matplotlib.pyplot as plt
# y_true: Werkelijke binaire labels
# y_scores: Voorspelde waarschijnlijkheden of scores
fpr, tpr, thresholds = roc_curve(y_true, y_scores)
roc_auc = auc(fpr, tpr)
# Plotten
plt.figure()
plt.plot(fpr, tpr, color='blue', lw=2, label='ROC curve (area = %0.2f)' % roc_auc)
plt.plot([0, 1], [0, 1], color='grey', lw=2, linestyle='--')
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('Receiver Operating Characteristic (ROC)')
plt.legend(loc='lower right')
plt.show()
ROC-curves kunnen misleidend zijn bij sterk onevenwichtige datasets. In dergelijke gevallen kan een hoge TPR gepaard gaan met een relatief hoge FPR, wat in de praktijk onacceptabel kan zijn.
ROC-curves beschouwen alle mogelijke drempels, maar geven niet aan welke drempel optimaal is voor een specifieke situatie.
Een AUC dicht bij 1,0 kan wijzen op uitstekende prestaties, maar zonder de context (zoals klassenverdeling en kosten van fouten) in acht te nemen, kan dit leiden tot overmoed in het model.
Hoewel ROC-curves waardevol zijn, kunnen andere maatstaven in bepaalde situaties geschikter zijn.
Handig voor onevenwichtige datasets waarbij de positieve klasse van primair belang is.
Het harmonisch gemiddelde van precisie en recall, dat een enkele maatstaf biedt voor het evenwicht tussen beide.
Een gebalanceerde maatstaf die kan worden gebruikt, zelfs als de klassen erg verschillend in omvang zijn.
De Receiver Operating Characteristic (ROC)-curve is een fundamenteel hulpmiddel voor het beoordelen van de prestaties van binaire classifiers. Ze worden breed toegepast in onder andere de geneeskunde, machine learning en statistiek. Hieronder enkele relevante wetenschappelijke publicaties die verschillende aspecten van ROC-curves en hun toepassingen behandelen:
Receiver Operating Characteristic (ROC) Curves
The Risk Distribution Curve and its Derivatives
Conditional Prediction ROC Bands for Graph Classification
Een ROC (Receiver Operating Characteristic)-curve is een grafiek die het diagnostisch vermogen van een binair classificatiesysteem illustreert door de True Positive Rate uit te zetten tegen de False Positive Rate bij verschillende drempelinstellingen.
ROC-curves geven een volledig beeld van het vermogen van een model om klassen te onderscheiden, helpen bij het selecteren van optimale drempels en zijn essentieel voor het vergelijken van de prestaties van verschillende modellen.
AUC staat voor Area Under the Curve en kwantificeert het totale vermogen van het model om onderscheid te maken tussen positieve en negatieve klassen. Een hogere AUC duidt op betere prestaties.
Precision-Recall-curves zijn informatiever dan ROC-curves bij het werken met onevenwichtige datasets, omdat ze zich richten op de prestaties met betrekking tot de positieve klasse.
Door het gebruik van ROC-curves kunnen ontwikkelaars intentieclassificatie en antwoordnauwkeurigheid in chatbots verfijnen, drempels optimaliseren om het evenwicht tussen false positives en true positives te verbeteren voor een betere gebruikerservaring.
Benut ROC-curve-analyse en AI-tools om je classificatiemodellen te optimaliseren en je workflows met FlowHunt te automatiseren.
De Oppervlakte Onder de Curve (AUC) is een fundamentele maatstaf in machine learning die wordt gebruikt om de prestaties van binaire classificatiemodellen te ev...
Aangepaste R-kwadraat is een statistische maatstaf die wordt gebruikt om de geschiktheid van een regressiemodel te beoordelen, waarbij rekening wordt gehouden m...
De ROUGE-score is een verzameling metriek die wordt gebruikt om de kwaliteit van door machines gegenereerde samenvattingen en vertalingen te evalueren door deze...