Warum müssen wir mit Datenungleichgewichten umgehen?


12

Ich muss wissen, warum wir mit Datenungleichgewichten umgehen müssen. Ich weiß, wie man damit umgeht und welche Methoden es gibt, um das Problem zu lösen: Upsampling, Downsampling oder die Verwendung von Smote.

Wenn ich zum Beispiel eine seltene Krankheit habe, die 1 Prozent von 100 ausmacht, und ich mich beispielsweise für einen ausgeglichenen Datensatz für meinen Trainingssatz entschieden habe, der lautet: 50/50 Stichprobe Wird die Maschine nicht glauben lassen, dass 50% der Patienten einen haben werden? Krankheit? obwohl das Verhältnis 1 von 100 ist. Also

  1. Warum müssen wir mit Datenungleichgewichten umgehen?
  2. Was ist das empfohlene Verhältnis, um das Gleichgewicht einzustellen?

Ich mag diese Frage. Es ist sehr wichtig zu verstehen, warum.
6.

Eine entsprechende Frage finden Sie unter stats.stackexchange.com/questions/312780/…
DaL,

Antworten:


8

Sie müssen sich mit unausgeglichenen Datenmengen befassen, wenn der Wert für das Auffinden der Minderheitenklasse viel höher ist als der für das Auffinden der Mehrheit.

Nehmen wir an, 1% der Bevölkerung leidet an dieser seltenen Krankheit. Angenommen, Sie weisen die gleichen Kosten der Aussage zu, dass ein gesunder Mann krank ist, oder der Aussage, dass ein kranker Mann gesund ist. Stellen Sie ein Modell zur Verfügung, das besagt, dass alle gesund sind, eine Genauigkeit von 99% haben und früh nach Hause gehen. Das Problem mit einem solchen Modell ist, dass es, obwohl es eine hohe Genauigkeit aufweist, wahrscheinlich nicht das ist, wonach Sie suchen. Die meiste Zeit möchten Sie die Menschen mit der Krankheit finden (hohe Gewichtung für falsche Negative), viel mehr als Sie befürchten, eine gesunde Person einem unnötigen Test zu unterziehen (geringes Gewicht für falsche Positive). In einem realen Gesundheitsproblem kann das Verhältnis zwischen dem Gewicht leicht 1 zu 1.000 betragen.

Das Ungleichgewicht in der Verteilung führt dazu, dass die meisten Algorithmen keine geeignete Lösung finden.

Sie haben Recht, dass es nicht die optimale Lösung ist, nur die Verteilung auszugleichen. In der Tat ist ein Algorithmus, der auf einer ausgeglichenen Verteilung trainiert ist, nicht an die natürliche Verteilung angepasst, auf der er ausgewertet wird. Meine Lieblingsmethode ist es, es wieder anzupassen, wie Sie hier sehen können . Eine Diskussion finden Sie hier .

Nur das Verhältnis auf ein anderes Problem zu setzen, wird nicht funktionieren, da Sie das gleiche Problem haben werden.

Smote arbeitet auf eine andere Art und Weise, was nicht so gut funktionierte, als ich es ausprobierte, aber es könnte zu Ihrem Problem passen.


So wie ich es verstehe, ist es besser, die Daten auszugleichen, weil der meiste Algorithmus gut auf ausgeglichenen Daten arbeitet, obwohl er nicht der natürlichen Verteilung entspricht?
Sara

Können Sie diesen Satz näher erläutern, "wenn Ihre Fehlerkosten nicht in die Verteilung der Beispiele passen"? Ich habe es nicht sehr gut verstanden
Sara

1
Beantwortung des ersten Kommentars: Ein unausgeglichener Datensatz führt dazu, dass Algorithmen gute Ergebnisse erzielen, wenn die Mehrheit zurückgegeben wird. Das wird ein Problem sein, wenn Sie mehr an der Minderheit interessiert sind. Balancing ist also eine Möglichkeit, den Algorithmus zu zwingen, der Minderheit mehr Gewicht zu verleihen. Sobald Sie das Gleichgewicht hergestellt haben, sind die Zugverteilung und die Testverteilung jedoch unterschiedlich, sodass Sie Ihr Modell wieder an die Testverteilung anpassen müssen (wie in der von mir vorgeschlagenen Methode).
8.

Beantwortung des zweiten Kommentars: In der Tat war dieser Punkt etwas unklar. Ich habe die Antwort bearbeitet. Ist es jetzt klar?
8.

ja, so wie ich es verstehe, sollten Training und Testverteilung gleich sein. Ist es also keine Lösung, dass ich, nachdem ich mein Trainingsverhältnis auf 50 - 50 eingestellt habe, auch meinen Test auf 50 - 50 eingestellt habe?
Sara

3
  • Kurze Antwort:

Sie müssen mit Klassenungleichgewichten umgehen, wenn / weil dies Ihr Modell verbessert (bei unsichtbaren Daten). "Besser" muss man selbst definieren. Es könnte Genauigkeit sein, es könnte Kosten verursachen, es könnte die wahre positive Rate usw. sein.

  • Lange Antwort:

Es gibt eine subtile Nuance, die man verstehen muss, wenn man über ein Klassenungleichgewicht spricht. Sind Ihre Daten nämlich unausgeglichen, weil:

  1. Die Verteilung der Daten selbst ist unausgewogen

In einigen Fällen tritt eine Klasse viel häufiger auf als eine andere. Und es ist okay. In diesem Fall müssen Sie prüfen, ob bestimmte Fehler teurer sind als andere. Dies ist das typische Beispiel für das Erkennen tödlicher Krankheiten bei Patienten, das Herausfinden, ob jemand ein Terrorist ist usw. Dies geht auf die kurze Antwort zurück. Wenn einige Fehler teurer sind als andere, sollten Sie sie mit höheren Kosten "bestrafen". Ein besseres Modell hat daher geringere Kosten. Wenn alle Fehler so schlimm sind, gibt es keinen wirklichen Grund, warum Sie kostensensitive Modelle verwenden sollten.

Es ist auch wichtig zu beachten, dass die Verwendung kostensensitiver Modelle nicht nur für unausgeglichene Datensätze gilt. Sie können solche Modelle verwenden, wenn auch Ihre Daten perfekt ausbalanciert sind.

  1. es stellt nicht die wahre Verteilung der Daten dar

Manchmal sind Ihre Daten "unausgewogen", weil sie nicht die wahre Verteilung der Daten darstellen. In diesem Fall müssen Sie vorsichtig sein, da Sie "zu viele" Beispiele für eine Klasse und "zu wenige" für die andere haben und daher sicherstellen müssen, dass Ihr Modell nicht über- / unterpasst dieser Klassen.

Dies unterscheidet sich von der Verwendung von Kosten, da ein Fehler möglicherweise nicht schlimmer ist als ein anderer. Was passieren würde ist, dass Sie voreingenommen wären und es für Ihr Modell nicht vorteilhaft wäre, wenn die unsichtbaren Daten nicht die gleiche Verteilung haben wie die Daten, auf denen Sie trainiert haben.

Nehmen wir an, ich gebe Ihnen Trainingsdaten und Ihr Ziel ist es, zu erraten, ob etwas rot oder blau ist. Ob Sie Blau mit Rot oder Rot mit Blau verwechseln, macht keinen großen Unterschied. Ihre Trainingsdaten enthalten zu 90% rote Instanzen, in denen sie im wirklichen Leben nur zu 10% vorkommen. Damit müssten Sie sich auseinandersetzen, um Ihr Modell zu verbessern.


Sehr ausführliche Antwort. Können Sie anhand eines Beispiels näher erläutern, was Sie unter "Wenn Ihr Modell besser ist, weil es geringe Kosten verursacht, müssen Sie sich mit dem Ungleichgewicht befassen" verstehen? Warum sollte ich mich mit dem Ungleichgewicht befassen, wenn das Modell niedrige Kosten hat?
Sara

Ich habe meine Antwort ein wenig überarbeitet, damit sie hoffentlich klarer wird. Ich meinte Folgendes: "Wenn Ihr Modell bei niedrigen Kosten als besser angesehen wird und der Umgang mit dem Ungleichgewicht die Kosten senkt, dann tun Sie es."
Valentin Calomme
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.