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
Antwort
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.
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
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
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
Ist Ihr Gerät ausgewogen? (dh so viele ab als nicht-ab) – Calimo
Nein, es ist sehr unausgewogen, Ab ist weniger als 2% – KubiK888
Hier gehts. Probieren Sie Oversampling aus, um das Problem zu beheben. – Calimo