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.
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)
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)
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)
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)
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)
SMOTEENN combine SMOTE et Edited Nearest Neighbours.
from imblearn.combine import SMOTEENN smoteenn = SMOTEENN() X_resampled, y_resampled = smoteenn.fit_resample(X, y)
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)
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)
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)
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)
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!