Maison > Périphériques technologiques > IA > 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

王林
Libérer: 2023-09-30 19:53:03
avant
1182 Les gens l'ont consulté

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)
Copier après la connexion

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)
Copier après la connexion

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)
Copier après la connexion

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)
Copier après la connexion

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)
Copier après la connexion

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)
Copier après la connexion

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)
Copier après la connexion

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)
Copier après la connexion

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)
Copier après la connexion

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)
Copier après la connexion

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!

Étiquettes associées:
source:51cto.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal