Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Oversamplingsmetoder | Utvalgsteknikker for store data
Håndtering av Store Data med Python

Oversamplingsmetoder

Sveip for å vise menyen

Oversampling er en teknikk som brukes for å håndtere ubalanserte datasett, spesielt når én klasse (minoritetklassen) har betydelig færre eksempler enn de andre. Ved å øke representasjonen av minoritetklassen, kan maskinlæringsmodeller lære fra alle klasser mer effektivt, noe som ofte gir bedre prediktiv ytelse og mer rettferdige resultater. Den vanligste fordelen med oversampling er at det balanserer klassefordelingen, slik at algoritmer unngår skjevhet mot majoritetsklassen. Oversampling kan imidlertid også ha noen ulemper. Hvis du bare dupliserer eksisterende eksempler, kan modellen overtilpasse seg, ved å lære mønstre som er for spesifikke for de dupliserte dataene og dermed ikke generaliserer godt til nye data. I tillegg kan oversampling øke størrelsen på datasettet, noe som kan føre til lengre treningstider og økt behov for datakraft.

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

Hva er hovedmålet med oversampling?

Velg det helt riktige svaret

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 3

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 2. Kapittel 3
some-alt