Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Översamplingsmetoder | Samplingtekniker för Stora Data
Hantering av Stora Datamängder med Python

Översamplingsmetoder

Svep för att visa menyn

Översampling är en teknik som används för att hantera problemet med obalanserade datamängder, särskilt när en klass (minoritetsklassen) har avsevärt färre exempel än andra. Genom att öka representationen av minoritetsklassen hjälper du maskininlärningsmodeller att lära sig från alla klasser mer effektivt, vilket ofta resulterar i bättre prediktiv prestanda och rättvisare utfall. Den vanligaste fördelen med översampling är att den balanserar klassfördelningen, vilket gör att algoritmer kan undvika partiskhet mot majoritetsklassen. Dock kan översampling också medföra vissa nackdelar. Om du enbart duplicerar befintliga exempel kan din modell överanpassa sig, det vill säga lära sig mönster som är för specifika för de duplicerade uppgifterna och misslyckas med att generalisera till ny data. Dessutom kan översampling öka storleken på din datamängd, vilket kan leda till längre träningstider och ökade beräkningskrav.

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

Vad är huvudsyftet med översampling?

Vänligen välj det korrekta svaret

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 3

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 2. Kapitel 3
some-alt