Die meisten anderen Antworten beziehen sich auf das Beispiel unausgeglichener Klassen. Ja, das ist wichtig. Ich behaupte jedoch, dass die Genauigkeit selbst bei ausgeglichenen Klassen problematisch ist.
Frank Harrell hat darüber in seinem Blog geschrieben: Klassifizierung vs. Vorhersage und Schaden, die durch Klassifizierungsgenauigkeit und andere diskontinuierliche Regeln für die Bewertung unkorrekter Genauigkeit verursacht werden .
Sein Argument ist im Wesentlichen, dass die statistische Komponente Ihrer Übung endet, wenn Sie für jede Klasse Ihrer neuen Stichprobe eine Wahrscheinlichkeit ausgeben. Abbildung dieser vorhergesagten Wahrscheinlichkeiten auf einer 0-1 - Klassifizierung, um einen Schwellenwert der Auswahl über die hinaus eine neue Beobachtung als 1 vs. 0 klassifizieren ist nicht Bestandteil der Statistik mehr . Es ist Teil der Entscheidungskomponente . Und hier benötigen Sie die probabilistische Ausgabe Ihres Modells - aber auch Überlegungen wie:(p^,1−p^)
- Welche Konsequenzen hat die Entscheidung, eine neue Beobachtung als Klasse 1 gegen 0 zu behandeln? Sende ich dann eine günstige Marketing-Mail an alle 1s? Oder wende ich eine invasive Krebsbehandlung mit großen Nebenwirkungen an?
- Welche Konsequenzen hat die Behandlung einer "wahren" 0 als 1 und umgekehrt? Werde ich einen Kunden abhaken? Jemanden unnötig medizinisch behandeln lassen?
- Sind meine "Klassen" wirklich diskret? Oder gibt es tatsächlich ein Kontinuum (z. B. Blutdruck), bei dem klinische Schwellenwerte in Wirklichkeit nur kognitive Abkürzungen sind? Wenn ja, wie weit über einer Schwelle ist der Fall, dass ich gerade "klassifiziere"?
- Oder bedeutet eine niedrige, aber positive Wahrscheinlichkeit, Klasse 1 zu sein, tatsächlich "mehr Daten abrufen", "einen weiteren Test durchführen"?
Abhängig von den Konsequenzen Ihrer Entscheidung verwenden Sie einen anderen Schwellenwert, um die Entscheidung zu treffen. Wenn es sich um eine invasive Operation handelt, ist die Wahrscheinlichkeit, dass der Patient unter etwas leidet, sehr viel höher, als wenn zwei Aspirine empfohlen werden. Oder Sie haben sogar drei verschiedene Entscheidungen, obwohl es nur zwei Klassen gibt (krank oder gesund): "Geh nach Hause und mach dir keine Sorgen" oder "Führe einen anderen Test durch, weil der, den wir haben, nicht schlüssig ist" oder "operiere sofort". .
Die korrekte Methode zur Bewertung der vorhergesagten Wahrscheinlichkeiten besteht nicht darin, sie mit einem Schwellenwert zu vergleichen, sie auf der Grundlage des Schwellenwerts auf abzubilden und dann die transformierte bewerten Klassifizierung. Stattdessen sollte man die richtigen Bewertungsregeln anwenden . Dies sind Verlustfunktionen, die vorhergesagte Wahrscheinlichkeiten und entsprechende beobachtete Ergebnisse auf Verlustwerte abbilden, deren Erwartung durch die wahren Wahrscheinlichkeiten minimiert wird . Die Idee ist, dass wir den Durchschnitt über die Bewertungsregel, die anhand mehrerer (am besten: vieler) beobachteter Ergebnisse bewertet wurde, und die entsprechenden vorhergesagten Wahrscheinlichkeiten für die Zugehörigkeit zu einer Klasse als Schätzung der Erwartung der Bewertungsregel heranziehen.(p^,1−p^)(0,1)(0,1)(p,1−p)
Beachten Sie, dass "richtig" hier eine genau definierte Bedeutung hat - es gibt falsche Bewertungsregeln sowie richtige Bewertungsregeln und schließlich genau richtige Bewertungsregeln . Bewertungsregeln als solche sind Verlustfunktionen von prädiktiven Dichten und Ergebnissen. Richtige Bewertungsregeln sind Bewertungsregeln, deren Erwartungswert minimiert wird, wenn die prädiktive Dichte der tatsächlichen Dichte entspricht. Streng korrekte Bewertungsregeln sind Bewertungsregeln, die nur dann in der Erwartung minimiert werden, wenn die prädiktive Dichte die wahre Dichte ist.
Wie Frank Harrell feststellt , ist Genauigkeit eine falsche Bewertungsregel. (Genauer gesagt, Genauigkeit ist nicht einmal eine Bewertungsregel : Siehe meine Antwort auf Ist Genauigkeit eine falsche Bewertungsregel in einer binären Klassifizierung? ) Dies kann zum Beispiel beobachtet werden, wenn wir überhaupt keine Prädiktoren haben und nur eine Umkehrung von eine unfaire Münze mit Wahrscheinlichkeiten . Die Genauigkeit wird maximiert, wenn wir alles als die erste Klasse klassifizieren und die 40% ige Wahrscheinlichkeit, dass ein Ergebnis in der zweiten Klasse vorliegt, vollständig ignorieren. (Hier sehen wir, dass die Genauigkeit selbst für ausgeglichene Klassen problematisch ist.) Richtige Bewertungsregeln bevorzugen eine gegenüber der(0.6,0.4)(0.6,0.4)(1,0) eins in Erwartung. Insbesondere ist die Genauigkeit der Schwelle diskontinuierlich: Wenn Sie die Schwelle um ein kleines Stück verschieben, kann eine (oder mehrere) Vorhersagen die Klassen ändern und die gesamte Genauigkeit um einen bestimmten Betrag ändern. Das macht wenig Sinn.
Weitere Informationen finden Sie in Franks zwei Blog-Posts, die oben verlinkt sind, sowie in Kapitel 10 von Frank Harrells Regressionsmodellierungsstrategien .
(Dies ist schamlos aus einer früheren Antwort von mir abgeschnitten .)
BEARBEITEN. Meine Antwort auf Beispiel, wenn Genauigkeit als Ergebnismaß verwendet wird, führt zu einer falschen Schlussfolgerung. Dies ist ein hoffentlich anschauliches Beispiel, bei dem die Maximierung der Genauigkeit zu falschen Entscheidungen führen kann, selbst für ausgeglichene Klassen .
Wenn wir Genauigkeit verwenden, weisen wir falsch positiven und falsch negativen Ergebnissen die gleichen Kosten zu. Wenn diese Datenmenge unausgewogen ist - beispielsweise 99% der Instanzen in einer Klasse und nur 1% in der anderen - können die Kosten erheblich gesenkt werden. Sagen Sie voraus, dass jede Instanz zur Mehrheitsklasse gehört, erhalten Sie eine Genauigkeit von 99% und gehen Sie früh nach Hause.
Das Problem beginnt, wenn die tatsächlichen Kosten, die wir jedem Fehler zuweisen, nicht gleich sind. Wenn wir uns mit einer seltenen, aber tödlich verlaufenden Krankheit befassen, sind die Kosten für die Nichtdiagnose der Krankheit einer kranken Person viel höher als die Kosten für die Versendung einer gesunden Person zu mehr Tests.
Im Allgemeinen gibt es kein allgemeines bestes Maß. Das beste Maß ergibt sich aus Ihren Bedürfnissen. In gewissem Sinne handelt es sich nicht um eine maschinelle Lernfrage, sondern um eine Geschäftsfrage. Es ist üblich, dass zwei Personen denselben Datensatz verwenden, jedoch aufgrund unterschiedlicher Ziele unterschiedliche Metriken auswählen.
Genauigkeit ist eine großartige Messgröße. Tatsächlich sind die meisten Metriken großartig und ich mag es, viele Metriken auszuwerten. Irgendwann müssen Sie sich jedoch für Modell A oder B entscheiden. Dort sollten Sie eine einzelne Metrik verwenden, die Ihren Anforderungen am besten entspricht.
Für zusätzliche Gutschriften wählen Sie diese Metrik vor der Analyse aus, damit Sie bei der Entscheidung nicht abgelenkt werden.
quelle
Das Problem mit der Genauigkeit
Die Standardgenauigkeit ist definiert als das Verhältnis der korrekten Klassifizierungen zur Anzahl der durchgeführten Klassifizierungen.
Es ist also ein Gesamtmaß für alle Klassen, und wie wir gleich sehen werden, ist es kein gutes Maß, ein Orakel von einem tatsächlichen nützlichen Test zu unterscheiden. Ein Orakel ist eine Klassifizierungsfunktion, die für jede Stichprobe eine zufällige Schätzung zurückgibt. Ebenso wollen wir die Klassifizierungsleistung unserer Klassifizierungsfunktion bewerten können. Genauigkeit \ textit {kann ein nützliches Maß sein, wenn wir die gleiche Anzahl von Stichproben pro Klasse haben, aber wenn wir einen unausgeglichenen Satz von Stichproben haben, ist Genauigkeit überhaupt nicht nützlich. Darüber hinaus kann ein Test eine hohe Genauigkeit aufweisen, jedoch schlechter abschneiden als ein Test mit einer geringeren Genauigkeit.
Wenn wir eine Verteilung der Stichproben haben, bei der 90% der Stichproben zur Klasse , 5% zu und weitere 5% zu dann die folgende Klassifizierungsfunktion wird eine Genauigkeit von :A B C 0.9
Angesichts der Tatsache, dass wir wissen, wie funktioniert, ist es offensichtlich, dass dies die Klassen überhaupt nicht auseinanderhalten kann. Ebenso können wir eine Klassifikationsfunktion konstruierenclassify
die eine Genauigkeit von und nicht immer vorhersagt, aber dennoch vorausgesetzt , dass wir wissen, wie funktioniert, ist es offensichtlich, dass es Klassen nicht unterscheiden kann. Die Genauigkeit in diesem Fall sagt uns nur, wie gut unsere Klassifizierungsfunktion zu schätzen ist. Dies bedeutet, dass Genauigkeit kein gutes Maß ist, um ein Orakel von einem nützlichen Test zu unterscheiden.0.96⋅0.9+0.02⋅0.05⋅2=0.866 A classify
Genauigkeit pro Klasse
Wir können die Genauigkeit individuell pro Klasse berechnen, indem wir unserer Klassifizierungsfunktion nur Stichproben derselben Klasse zuweisen und die Anzahl der korrekten Klassifizierungen und falschen Klassifizierungen merken und zählen. Dann berechnen wir die . Wir wiederholen dies für jede Klasse. Wenn wir eine Klassifizierungsfunktion haben, die die Klasse genau erkennt, aber eine zufällige Schätzung für die anderen Klassen ausgibt, ergibt dies eine Genauigkeit von für und eine Genauigkeit vonaccuracy:=correct/(correct+incorrect) A 1.00 A 0.33 für die anderen Klassen. Dies bietet uns bereits eine viel bessere Möglichkeit, die Leistung unserer Klassifizierungsfunktion zu beurteilen. Ein Orakel, das immer dieselbe Klasse errät, ergibt eine Genauigkeit von pro Klasse für diese Klasse, jedoch für die andere Klasse. Wenn unser Test nützlich ist, sollten alle Genauigkeiten pro Klasse . Ansonsten ist unser Test nicht besser als der Zufall. Die Genauigkeit pro Klasse berücksichtigt jedoch keine falsch positiven Ergebnisse. Obwohl unsere Klassifizierungsfunktion eine Genauigkeit von 100% für die Klasse gibt es auch falsche Positive für (z. B. ein fälschlicherweise als klassifiziert wurde ).1.00 0.00 >0.5 A A B A
Sensitivität und Spezifität
In medizinischen Tests wird Empfindlichkeit definiert als das Verhältnis zwischen den Personen, bei denen die Krankheit richtig erkannt wurde, und der Anzahl der Personen, die tatsächlich an der Krankheit leiden. Spezifität ist definiert als das Verhältnis zwischen korrekt als gesund identifizierten Personen und der Anzahl der tatsächlich gesunden Personen. Die Anzahl der tatsächlich erkrankten Personen entspricht der Anzahl der zutreffend positiven Testergebnisse plus der Anzahl der falsch negativen Testergebnisse. Die Anzahl der tatsächlich gesunden Menschen entspricht der Anzahl der wahrhaft negativen Testergebnisse plus der Anzahl der falsch positiven Testergebnisse.
Binäre Klassifikation
Bei binären Klassifizierungsproblemen gibt es zwei Klassen und . bezieht sich auf die Anzahl der Proben, die korrekt als zur Klasse gehörend identifiziert wurden, und bezieht sich auf die Anzahl der Proben, die fälschlicherweise als zur Klasse gehörend identifiziert wurden . In diesem Fall sind Sensitivität und Spezifität wie folgt definiert:P N Tn n Fn n
Wir beobachten jedoch, dass und . Das heißt, wenn wir nur zwei Klassen haben, brauchen wir keine Sensitivität und Spezifität pro Klasse.sensitivityα=specificityβ specificityα=sensitivityβ
N-Ary-Klassifikation
Sensitivität und Spezifität pro Klasse sind nicht sinnvoll, wenn wir nur zwei Klassen haben, aber wir können sie auf mehrere Klassen ausweiten. Sensitivität und Spezifität sind definiert als:
Das wahre Positive ist einfach , das falsche Negative ist einfach und das falsche Positive ist einfach . Das Auffinden der wahren Negative ist viel schwieriger, aber wir können sagen, dass, wenn wir etwas korrekt als zu einer anderen Klasse als gehörend klassifizieren, es als wahres Negativ zählt. Das heißt , wir haben zumindest wahr Negative. Dies sind jedoch nicht alle Negative. Alle falschen Klassifikationen für eine andere Klasse als sind ebenfalls echte Negative, da sie nicht korrekt als zu gehörig identifiziert wurden .Tn ∑i(Fn,i) ∑i(Fi,n) n ∑i(Ti)−T(n) n n ∑i(∑k(Fi,k)) repräsentiert alle falschen Klassifikationen. Daraus müssen wir die Fälle subtrahieren , wo die Eingangsklasse wurde bedeutet , dass wir die falschen Negativ subtrahieren haben , die ist , aber wir müssen auch die Fehlalarme subtrahieren weil es sich um falsch positive und nicht um wahr negative handelt, müssen wir auch subtrahieren und schließlich
. Zusammenfassend haben wir:n n ∑i(Fn,i) n ∑i(Fi,n) ∑i(Ti)−T(n)+∑i(∑k(Fn,i))−∑i(Fn,i)−∑i(Fi,n)
Vertrauen einführen
Wir definieren ein das ein Maß dafür ist, wie sicher wir sein können, dass die Antwort unserer Klassifizierungsfunktion tatsächlich korrekt ist. sind alle Fälle, in denen die Klassifizierungsfunktion mit geantwortet hat, von denen jedoch nur korrekt ist. Wir definieren alsoconfidence⊤ Tn+∑i(Fi,n) n Tn
Aber können wir auch ein definieren das ein Maß dafür ist, wie sicher wir sein können, dass unsere Klassifizierungsfunktion, wenn sie mit einer anderen Klasse als antwortet , tatsächlich kein ?confidence⊥ n n
Nun, wir erhalten Ausnahme von . Wir definieren also∑i(∑k(Fi,k))−∑i(Fi,n)+∑i(Ti)−Tn ∑i(Fn,i)
quelle
Unausgeglichene Klassen in Ihrem Datensatz
Um es kurz zu machen: Stellen Sie sich vor, 99% einer Klasse (z. B. Äpfel) und 1% einer anderen Klasse befinden sich in Ihrem Datensatz (z. B. Bananen). Mein Super-Duper-Algorithmus erreicht eine erstaunliche Genauigkeit von 99% für diesen Datensatz.
return "it's an apple"
Er hat in 99% der Fälle Recht und erhält daher eine Genauigkeit von 99%. Kann ich dir meinen Algorithmus verkaufen?
Lösung: Verwenden Sie kein absolutes Maß (Genauigkeit), sondern ein Maß für jede Klasse (es gibt eine Menge, wie ROC AUC).
quelle
DaL Antwort ist genau das. Ich werde es mit einem sehr einfachen Beispiel über ... den Verkauf von Eiern veranschaulichen.
Sie besitzen einen Eierladen und jedes Ei, das Sie verkaufen, erzielt einen Nettoertrag von Dollar. Jeder Kunde, der den Laden betritt, kann entweder ein Ei kaufen oder gehen, ohne eines zu kaufen. Für einige Kunden können Sie sich für einen Rabatt entscheiden und Sie erhalten nur Dollar-Einnahmen, aber dann kauft der Kunde immer.2 1
Sie stecken eine Webcam ein, die das Kundenverhalten mit Funktionen wie "Schnüffeln der Eier", "Halten eines Buches mit Omelettrezepten" analysiert ... und sie in "Kaufwünsche zu Dollar" (positiv) und "Kaufwünsche" einteilt erst bei dollar "(negativ) bevor er geht.2 1
Wenn Ihr Klassifikator keinen Fehler macht, erhalten Sie den maximalen Ertrag, den Sie erwarten können. Wenn es nicht perfekt ist, dann:
Dann ist die Genauigkeit Ihres Klassifikators genau, wie nahe Sie am maximalen Ertrag sind. Es ist das perfekte Maß.
Aber jetzt, wenn der Rabatt Dollar ist. Die Kosten betragen:a
Dann benötigen Sie eine mit diesen Zahlen gewichtete Genauigkeit als Maß für die Effizienz des Klassifikators. Wenn beispielsweise , ist das Maß völlig anders. Diese Situation hängt wahrscheinlich mit unausgeglichenen Daten zusammen: Wenige Kunden sind bereit, zu zahlen , während die meisten zahlen würden . Es ist dir egal, dass du viele falsche Positive bekommst, um ein paar weitere wahre Positive zu bekommen. Sie können den Schwellenwert des Klassifikators entsprechend anpassen.a=0.001 2 0.001
Wenn es dem Klassifikator beispielsweise darum geht, relevante Dokumente in einer Datenbank zu finden, können Sie die Zeitverschwendung beim Lesen eines irrelevanten Dokuments mit der Suche nach einem relevanten Dokument vergleichen.
quelle
Die Klassifizierungsgenauigkeit ist die Anzahl der korrekten Vorhersagen geteilt durch die Gesamtanzahl der Vorhersagen.
Genauigkeit kann irreführend sein. Beispielsweise kann ein Modell bei einem Problem mit einem großen Klassenungleichgewicht den Wert der Mehrheitsklasse für alle Vorhersagen vorhersagen und eine hohe Klassifizierungsgenauigkeit erzielen. Daher sind weitere Leistungsmessungen erforderlich, wie z. B. der F1-Score und der Brier-Score.
quelle
Sie können Genauigkeit als das der Klassifikation ansehen : eine anfangs ansprechende Metrik, mit der Modelle verglichen werden können.R2
In beiden Fällen kann eine Überanpassung ein großes Problem darstellen. So wie im Fall eines hohen Werts möglicherweise eher das Rauschen als das Signal modelliert wird, ist eine hohe Genauigkeit möglicherweise ein Hinweis darauf, dass Ihr Modell zu streng auf Ihren Testdatensatz angewendet wurde und keine allgemeine Anwendbarkeit hat. Dies ist besonders problematisch, wenn Sie stark unausgewogene Klassifizierungskategorien haben. Das genaueste Modell ist möglicherweise ein triviales Modell, bei dem alle Daten als eine Kategorie klassifiziert werden (mit einer Genauigkeit, die dem Anteil der häufigsten Kategorie entspricht). Diese Genauigkeit nimmt jedoch spektakulär ab, wenn Sie einen Datensatz mit einer anderen wahren Verteilung von Kategorien klassifizieren müssen .R2
Wie andere angemerkt haben, ist ein weiteres Problem mit der Genauigkeit eine implizite Gleichgültigkeit gegenüber dem Preis des Scheiterns - dh eine Annahme, dass alle Fehlklassifizierungen gleich sind. In der Praxis ist dies nicht der Fall, und die Kosten für eine falsche Klassifizierung hängen in hohem Maße vom jeweiligen Thema ab. Möglicherweise ziehen Sie es vor, eine bestimmte Art von Unrichtigkeit zu minimieren, anstatt die Genauigkeit zu maximieren.
quelle