5

Ich habe einige maschinelle Lernergebnisse, die ich nicht ganz verstehe. Ich benutze Python sciki-learn, mit 2+ Millionen Daten von etwa 14 Funktionen. Die Klassifizierung von "ab" sieht auf der Präzisions-Recall-Kurve ziemlich schlecht aus, aber die ROC für Ab sieht genauso gut aus wie die Klassifizierung der meisten anderen Gruppen. Was kann das erklären?Gute ROC-Kurve, aber schlechte Präzision-Rückrufkurve

enter image description here

enter image description here

+0

Ist Ihr Gerät ausgewogen? (dh so viele ab als nicht-ab) – Calimo

+0

Nein, es ist sehr unausgewogen, Ab ist weniger als 2% – KubiK888

+0

Hier gehts. Probieren Sie Oversampling aus, um das Problem zu beheben. – Calimo

Antwort

8

Klasse Ungleichgewicht.

Im Gegensatz zur ROC-Kurve sind PR-Kurven sehr unempfindlich gegenüber Unwucht. Wenn Sie Ihren Klassifikator für eine gute AUC auf unbalancierten Daten optimieren, erhalten Sie wahrscheinlich schlechte Präzisionserinnerungsergebnisse.

+1

Ich sehe, aber was bedeutet es wirklich in Bezug auf die Leistung des Tests? Ist es gut (basierend auf ROC) oder schlecht (basierend auf P-R)? Wie kann ein Test gut sein, wenn in der obigen P-R-Kurve das Beste, was er tun kann, 40% sowohl für die Präzision als auch für das Abrufen ist? – KubiK888

+0

Es bedeutet, dass Sie vorsichtig sein müssen, wenn Sie die Leistung eines Tests mit unsymmetrischen Daten melden. In medizinischen Anwendungen kann es schreckliche Auswirkungen haben (siehe AIDS-Tests als Lehrbuchfall), in anderen Fällen kann es gut sein, es hängt wirklich von Ihrer spezifischen Anwendung ab. – Calimo

+0

Ich habe die Standardeinstellung nicht geändert, da ich scikit learn verwende, aber wie Sie sagten, dass es basierend auf AUC zu optimieren scheint, gibt es eine Möglichkeit, basierend auf Precision/Recall-Paaren in unsymmetrischen Daten zu optimieren? – KubiK888

Verwandte Themen