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
- 1. Erweiterungsmethode auf Klasse - gute oder schlechte Idee?
- 2. Datenbank Upserts - Gute oder schlechte Praxis?
- 3. Smarter Setzer? Gute oder schlechte Idee?
- 4. ASP.NET MVC - TempData - gute oder schlechte Praxis
- 5. Master-Include-Dateien - gute oder schlechte Praxis
- 6. Horizontale Regel: Gute oder schlechte Entwurfsentscheidung
- 7. ASP.NET-Seiteneigenschaften Gute Idee oder schlechte Idee
- 8. Erweiterungsmethoden - IsNull und IsNotNull, gute oder schlechte Verwendung?
- 9. Datenbank mit "Open Schema" - Gute oder schlechte Idee?
- 10. Gute oder schlechte Idee, Zahlen in SQL-Tabellennamen aufzunehmen?
- 11. Silverlight; das Gute, das Schlechte oder das Hässliche?
- 12. weakSelf (das gute), strongSelf (das schlechte) und Blöcke (die hässliche)
- 13. MVVM- und Stateful-Befehle - Gute oder schlechte Idee?
- 14. C-Queue-Implementierung mit void * - gute oder schlechte Praxis?
- 15. HTML5 Erforderliches Attribut für Formularvalidierung: Gute Idee oder schlechte Idee
- 16. Mit Jquery in AngularJS-Richtlinie gute oder schlechte Idee?
- 17. iphone: Schlechte UIImageView Leistung
- 18. Schlechte Substitution?
- 19. Wie funktioniert Ausbeute in Python C-Code, gute und schlechte Teil
- 20. Gute oder schlechte Praxis in Python: Import in der Mitte einer Datei
- 21. Kantenerkennung - schlechte Erkennung
- 22. CakePHP 3: Aufruf von Tabellenfunktionen von Entity ist eine schlechte oder gute Idee?
- 23. Was sind gute und schlechte Dinge im Design des Linux-Kernels?
- 24. Java - "Rotierende" Objekte in einer LinkedList - Ist LinkedList.addLast (LinkedList.removeFirst()) Gute oder schlechte Programmierung?
- 25. Spalten vom übergeordneten zum untergeordneten Modell duplizieren. Gute oder schlechte Praxis?
- 26. Benötigen Sie eine schlechte URL auf eine gute URL in dem gleichen Hosting umleiten, die
- 27. Ist es eine gute oder schlechte Methode, Instanzmethoden von einem Java-Konstruktor aufzurufen?
- 28. Was sind gute/schlechte Wege, um Hilfe für eine Anwendung zu bieten ..?
- 29. Gute Idee/schlechte Idee? Verwenden von MySQL RAND() außerhalb eines kleinen Satzes von Unterabfrageergebnissen?
- 30. gute oder schlechte Praxis, um rein virtuelle Funktionen zu machen noexcept
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