Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Techniques de Suréchantillonnage | Techniques d'Échantillonnage pour les Grandes Données
Gestion de Grandes Données avec Python

Techniques de Suréchantillonnage

Glissez pour afficher le menu

La suréchantillonnage est une technique utilisée pour traiter le problème des ensembles de données déséquilibrés, en particulier lorsque l'une des classes (la classe minoritaire) possède nettement moins d'échantillons que les autres. En augmentant la représentation de la classe minoritaire, il devient possible d'aider les modèles d'apprentissage automatique à apprendre de toutes les classes de manière plus efficace, ce qui conduit souvent à de meilleures performances prédictives et à des résultats plus équitables. Le principal avantage du suréchantillonnage est qu'il équilibre la distribution des classes, permettant ainsi aux algorithmes d'éviter un biais en faveur de la classe majoritaire. Cependant, le suréchantillonnage peut également présenter certains inconvénients. Si vous dupliquez simplement des échantillons existants, votre modèle risque de surajuster, en apprenant des motifs trop spécifiques aux données dupliquées et en échouant à généraliser sur de nouvelles données. De plus, le suréchantillonnage peut augmenter la taille de votre ensemble de données, ce qui peut entraîner des temps d'entraînement plus longs et une demande computationnelle accrue.

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

Quel est l'objectif principal du suréchantillonnage ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 3

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 2. Chapitre 3
some-alt