Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Oversampling-Techniken | Sampling-Techniken Für Große Daten
Umgang Mit Großen Datenmengen Mit Python

Oversampling-Techniken

Swipe um das Menü anzuzeigen

Oversampling ist eine Technik zur Bewältigung unausgewogener Datensätze, insbesondere wenn eine Klasse (die Minderheitsklasse) deutlich weniger Stichproben als andere aufweist. Durch die Erhöhung der Repräsentation der Minderheitsklasse wird es Maschinenlernmodellen ermöglicht, effektiver aus allen Klassen zu lernen, was häufig zu einer besseren Vorhersageleistung und gerechteren Ergebnissen führt. Der häufigste Vorteil von Oversampling besteht darin, die Klassenverteilung auszugleichen, sodass Algorithmen eine Verzerrung zugunsten der Mehrheitsklasse vermeiden können. Allerdings kann Oversampling auch einige Nachteile mit sich bringen. Wenn lediglich vorhandene Stichproben dupliziert werden, kann das Modell überanpassen, indem es Muster lernt, die zu spezifisch für die duplizierten Daten sind, und dadurch Schwierigkeiten bei der Generalisierung auf neue Daten bekommt. Zudem kann Oversampling die Größe des Datensatzes erhöhen, was zu längeren Trainingszeiten und einem höheren Rechenaufwand führen kann.

1234567891011121314151617181920212223242526272829303132
import pandas as pd # Create a sample DataFrame with an imbalanced target data = { "feature1": [1, 2, 3, 4, 5, 6, 7], "target": ["A", "A", "A", "A", "B", "B", "B"] } df = pd.DataFrame(data) # Count original class distribution print("Original class distribution:") print(df["target"].value_counts()) # Oversample minority class "B" to match majority class "A" majority_count = df["target"].value_counts().max() minority_class = df["target"].value_counts().idxmin() # Get all minority class rows minority_rows = df[df["target"] == minority_class] # Calculate how many samples to add samples_to_add = majority_count - len(minority_rows) # Sample with replacement from minority class oversampled_minority = minority_rows.sample(n=samples_to_add, replace=True, random_state=42) # Concatenate original data with new samples df_oversampled = pd.concat([df, oversampled_minority], ignore_index=True) # Show new class distribution print("\nClass distribution after oversampling:") print(df_oversampled["target"].value_counts())
question mark

Was ist das Hauptziel von Oversampling?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 3

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 2. Kapitel 3
some-alt