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

Techniques de sous-échantillonnage

Glissez pour afficher le menu

Lors du traitement de grands ensembles de données déséquilibrés, il est fréquent de rencontrer des situations où une classe (la classe majoritaire) est largement plus représentée qu'une autre (la classe minoritaire). Ce déséquilibre peut rendre difficile l'apprentissage de motifs pertinents concernant la classe minoritaire par les modèles, ce qui conduit à de faibles performances prédictives. L'undersampling est une technique utilisée pour résoudre ce problème en réduisant le nombre d'échantillons de la classe majoritaire afin de rendre l'ensemble de données plus équilibré.

L'undersampling est à envisager lorsque votre ensemble de données est trop volumineux pour un traitement pratique ou lorsque la classe majoritaire domine à tel point que le modèle ignore la classe minoritaire. Cependant, cette méthode est surtout adaptée lorsque vous disposez d'un très grand ensemble de données et que vous pouvez vous permettre de perdre certains échantillons de la classe majoritaire sans sacrifier d'informations importantes. Elle est moins appropriée si l'ensemble de données est déjà petit ou si la classe majoritaire contient des exemples rares mais importants.

123456789101112131415161718192021222324
import pandas as pd # Create a sample imbalanced dataset data = { "feature": range(20), "class": ["majority"] * 16 + ["minority"] * 4 } df = pd.DataFrame(data) # Count the number of samples in each class class_counts = df["class"].value_counts() minority_count = class_counts["minority"] # Randomly sample from the majority class to match the minority class count majority_sample = df[df["class"] == "majority"].sample(n=minority_count, random_state=42) minority_sample = df[df["class"] == "minority"] # Combine samples to get a balanced dataset balanced_df = pd.concat([majority_sample, minority_sample]) print("Original class distribution:") print(df["class"].value_counts()) print("\nBalanced class distribution after undersampling:") print(balanced_df["class"].value_counts())
question mark

Quel est un risque potentiel de l'undersampling ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 5

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 5
some-alt