Maison  >  Article  >  Périphériques technologiques  >  Top 10 des bibliothèques Python pour gérer les données déséquilibrées

Top 10 des bibliothèques Python pour gérer les données déséquilibrées

王林
王林avant
2023-09-30 19:53:031135parcourir

Le déséquilibre des données est un défi courant dans l'apprentissage automatique, où une classe est nettement plus nombreuse que les autres, ce qui peut conduire à des modèles biaisés et à une mauvaise généralisation. Il existe différentes bibliothèques Python pour vous aider à gérer efficacement les données déséquilibrées. Dans cet article, nous présenterons les dix principales bibliothèques Python pour gérer les données déséquilibrées dans l'apprentissage automatique et fournirons des extraits de code et des explications pour chaque bibliothèque.

Top 10 des bibliothèques Python pour gérer les données déséquilibrées

1. déséquilibred-learn

imbalanced-learn est une bibliothèque d'extension de scikit-learn, conçue pour fournir une variété de techniques de rééquilibrage d'ensembles de données. La bibliothèque propose plusieurs options telles que le suréchantillonnage, le sous-échantillonnage et les méthodes combinées

 from imblearn.over_sampling import RandomOverSampler  ros = RandomOverSampler() X_resampled, y_resampled = ros.fit_resample(X, y)

2, SMOTE

SMOTE génère des échantillons synthétiques pour équilibrer l'ensemble de données.

from imblearn.over_sampling import SMOTE  smote = SMOTE() X_resampled, y_resampled = smote.fit_resample(X, y)

3. ADASYN

ADASYN génère de manière adaptative des échantillons synthétiques en fonction de la densité de quelques échantillons.

from imblearn.over_sampling import ADASYN  adasyn = ADASYN() X_resampled, y_resampled = adasyn.fit_resample(X, y)

4. RandomUnderSampler

RandomUnderSampler supprime au hasard les échantillons de la classe majoritaire.

from imblearn.under_sampling import RandomUnderSampler  rus = RandomUnderSampler() X_resampled, y_resampled = rus.fit_resample(X, y)

5. Tomek Links

Tomek Links peut supprimer des paires de voisins les plus proches de différentes catégories et réduire le nombre d'échantillons multiples

 from imblearn.under_sampling import TomekLinks  tl = TomekLinks() X_resampled, y_resampled = tl.fit_resample(X, y)

6. SMOTEENN (SMOTE + Edited Nearest Neighbours)

SMOTEENN combine SMOTE et Edited Nearest Neighbours.

 from imblearn.combine import SMOTEENN  smoteenn = SMOTEENN() X_resampled, y_resampled = smoteenn.fit_resample(X, y)

7. SMOTETomek (SMOTE + Tomek Links)

SMOTEENN combine SMOTE et Tomek Links pour le suréchantillonnage et le sous-échantillonnage.

 from imblearn.combine import SMOTETomek  smotetomek = SMOTETomek() X_resampled, y_resampled = smotetomek.fit_resample(X, y)

8. EasyEnsemble

EasyEnsemble est une méthode d'ensemble qui peut créer des sous-ensembles équilibrés de la plupart des classes.

 from imblearn.ensemble import EasyEnsembleClassifier  ee = EasyEnsembleClassifier() ee.fit(X, y)

9. BalancedRandomForestClassifier

BalancedRandomForestClassifier est une méthode d'ensemble qui combine des forêts aléatoires avec des sous-échantillons équilibrés.

 from imblearn.ensemble import BalancedRandomForestClassifier  brf = BalancedRandomForestClassifier() brf.fit(X, y)

10. RUSBoostClassifier

RUSBoostClassifier est une méthode d'ensemble qui combine le sous-échantillonnage et l'amélioration aléatoires.

from imblearn.ensemble import RUSBoostClassifier  rusboost = RUSBoostClassifier() rusboost.fit(X, y)

Résumé

La gestion des données déséquilibrées est cruciale pour créer des modèles d'apprentissage automatique précis. Ces bibliothèques Python fournissent diverses techniques pour résoudre ce problème. En fonction de votre ensemble de données et de votre problème, vous pouvez choisir la méthode la plus appropriée pour équilibrer efficacement vos données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer