Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Ylinäytteistystekniikat | Näytteistämistekniikat Suurille Tietoaineistoille
Suurten datamäärien käsittely Pythonilla

Ylinäytteistystekniikat

Pyyhkäise näyttääksesi valikon

Ylinäytteistys on tekniikka, jota käytetään epätasapainoisten aineistojen ongelman ratkaisemiseksi, erityisesti silloin kun yhdellä luokalla (vähemmistöluokka) on huomattavasti vähemmän havaintoja kuin muilla. Lisäämällä vähemmistöluokan edustusta autetaan koneoppimismalleja oppimaan kaikista luokista tehokkaammin, mikä usein johtaa parempaan ennustustarkkuuteen ja oikeudenmukaisempiin tuloksiin. Ylitäytteistyksen yleisin hyöty on luokkajakaumien tasapainottaminen, jolloin algoritmit eivät painotu enemmistöluokkaan. Ylitäytteistys voi kuitenkin aiheuttaa myös haasteita. Jos olemassa olevia havaintoja vain kopioidaan, malli voi ylisovittua, eli oppia liian tarkkoja piirteitä kopioidusta datasta eikä yleistyä uusiin havaintoihin. Lisäksi ylitäytteistys voi kasvattaa aineiston kokoa, mikä voi johtaa pidempiin koulutusaikoihin ja suurempaan laskentatehoon.

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

Mikä on ylitäytteistyksen päätavoite?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 3

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 2. Luku 3
some-alt