Umgang mit unausgeglichenen Datensätzen – erklärt! | von Snega S | Juli 2023

Der Umgang mit unausgeglichenen Datensätzen ist ein entscheidender Schritt bei der Arbeit mit realen Datensätzen. In diesem Zusammenhang werden wir die Konzepte ausgeglichener und unausgeglichener Daten sowie zwei gängige Techniken zum Ausgleich unausgeglichener Datensätze untersuchen: SMOTETomek und RandomOverSampler.

Ausgewogener Datensatz:
Ein Datensatz gilt als ausgeglichen, wenn zwei oder mehr Kategorien im Datensatz gleich oder nahezu gleich vertreten sind. Stellen Sie sich zum Beispiel einen Datensatz vor, in dem wir anhand seiner Ernährungsgewohnheiten vorhersagen wollen, ob eine Person zur Kategorie A oder B gehört. Nehmen wir an, dass Menschen, die Junk Food konsumieren, zur Kategorie A gehören und diejenigen, die Gemüse bevorzugen, zur Kategorie B gehören. In einem ausgeglichenen Datensatz gäbe es insgesamt 1000 Datensätze, von denen 500 zur Kategorie A und die anderen 500 zur Kategorie B gehören Das Verhältnis der vorhergesagten Werte beträgt in diesem Fall 1:1. Selbst wenn das Verhältnis 40:60 oder 60:40 wäre, würde der Datensatz immer noch als ausgewogen betrachtet.

Unausgeglichener Datensatz:
Andererseits liegt ein unausgeglichener Datensatz vor, wenn das Verhältnis der vorhergesagten Werte eine Kategorie gegenüber der anderen deutlich begünstigt. Wenn das Verhältnis beispielsweise 80:20 oder 90:10 beträgt, liegt ein unausgeglichener Datensatz vor. In solchen Fällen kann der Datensatz verzerrt sein, was zu Problemen beim Modelltraining führt und sich auf die Genauigkeitsraten auswirkt.

Die Auswirkungen unausgeglichener Daten:
Beim Trainieren eines Modells anhand eines unausgeglichenen Datensatzes, insbesondere beim überwachten Lernen, kann es aufgrund seiner Verbreitung zu einer Verzerrung des Modells gegenüber der Mehrheitsklasse kommen. Dies kann zu einer schlechten Generalisierung führen, bei der das Modell dazu neigt, die Mehrheitsklasse häufiger vorherzusagen, selbst für Stichproben, die zur Minderheitsklasse gehören, was zu einer verringerten Genauigkeit und Vorhersageleistung führt.

Lesen Sie auch  Der nächste Dimensity-Chipsatz von MediaTek soll ein gewaltiges Upgrade liefern

Umgang mit unausgeglichenen Datensätzen:
Um den Herausforderungen unausgeglichener Datensätze zu begegnen, gibt es zwei gängige Ansätze:

1. Downsampling:
Beim Downsampling wird die Anzahl der Instanzen in der Mehrheitsklasse (z. B. Kategorie A) reduziert, um den Datensatz auszugleichen. Wenn es im vorherigen Beispiel 800 Instanzen der Kategorie A und 200 Instanzen der Kategorie B gäbe, würde das Downsampling das zufällige Entfernen von 600 Instanzen aus der Kategorie A bedeuten. Das Downsampling kann jedoch zu einem erheblichen Datenverlust führen, einschließlich wertvoller Informationen, die für genaue Vorhersagen erforderlich sind , wodurch es für den Umgang mit Ungleichgewichten weniger geeignet ist.

2. Überabtastung:
Beim Oversampling wird die Anzahl der Instanzen der Minderheitsklasse erhöht, um den Datensatz auszugleichen. Im vorherigen Beispiel würde beispielsweise die Oversampling-Kategorie B ihre Instanzen duplizieren, um der Anzahl der Instanzen in Kategorie A zu entsprechen. Dies führt dazu, dass beide Kategorien im Datensatz gleich vertreten sind, was die Fähigkeit des Modells verbessern kann, von der Minderheitsklasse zu lernen.

Techniken zur Durchführung von Oversampling:
Für das Oversampling stehen mehrere Techniken zur Verfügung, zwei davon sind SMOTETomek und RandomOverSampler.

SMOTETomek:
SMOTETomek ist eine Kombinationstechnik, die die Verwendung der Synthetic Minority Over-sampling Technique (SMOTE) und Tomek-Links umfasst. SMOTE erstellt synthetische Stichproben für die Minderheitsklasse, während Tomek-Links verwendet werden, um verrauschte Stichproben und Instanzen in der Nähe von Entscheidungsgrenzen zu entfernen, wodurch die überabgetasteten Daten robuster und informativer werden.

Beispiel mit SMOTETomek:

from imblearn.combine import SMOTETomek 
sak = SMOTETomek()
x_new, y_new = sak.fit_resample(x, y)
print(x_new.shape, y_new.shape)

RandomOverSampler:
RandomOverSampler dupliziert, wie der Name schon sagt, zufällig Instanzen aus der Minderheitsklasse, um den Datensatz auszugleichen.

Lesen Sie auch  Europa fordert Instagram dringend auf, Maßnahmen zu ergreifen, um die Förderung von Pädophilie in seinen Inhalten zu verhindern

Beispiel mit RandomOverSampler:

from imblearn.over_sampling import RandomOverSampler
os = RandomOverSampler(random_state=0)
x_new, y_new = os.fit_resample(x, y)
print(x_new.shape, y_new.shape)

In beiden Fällen wird die Methode „fit_resample“ verwendet, um den Oversampling-Prozess durchzuführen, was zu einem aktualisierten Datensatz mit ausgeglichenen Klassen führt.

Zusammenfassend lässt sich sagen, dass der Umgang mit unausgeglichenen Datensätzen unerlässlich ist, um eine zuverlässige Modellleistung sicherzustellen. Der Ausgleich des Datensatzes mithilfe von Techniken wie SMOTETomek und RandomOverSampler kann die Fähigkeit des Modells verbessern, aus Stichproben von Minderheitenklassen zu lernen, und zu genaueren Vorhersagen über alle Klassen hinweg führen.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.