Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Oversamplingsteknikker | Udtagningsmetoder til Store Data
Håndtering af Store Datamængder med Python

Oversamplingsteknikker

Stryg for at vise menuen

Oversampling er en teknik, der bruges til at håndtere ubalancerede datasæt, især når én klasse (minoriteten) har væsentligt færre eksempler end de andre. Ved at øge repræsentationen af minoritetsklassen hjælpes maskinlæringsmodeller med at lære fra alle klasser mere effektivt, hvilket ofte resulterer i bedre forudsigelsespræstation og mere retfærdige resultater. Den mest almindelige fordel ved oversampling er, at det balancerer klassernes fordeling, så algoritmer undgår bias mod majoritetsklassen. Dog kan oversampling også medføre nogle ulemper. Hvis du blot duplikerer eksisterende eksempler, kan din model overtilpasse, idet den lærer mønstre, der er for specifikke for de duplikerede data og ikke generaliserer til nye data. Derudover kan oversampling øge størrelsen på datasættet, hvilket kan føre til længere træningstider og øgede beregningskrav.

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

Hvad er hovedformålet med oversampling?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 3

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 2. Kapitel 3
some-alt