imbalanced-learn ist ein Python-Paket, das eine Reihe von Resampling-Techniken bietet, die häufig in Datensätzen verwendet werden, die ein starkes Ungleichgewicht zwischen Klassen aufweisen. Es ist mit scikit-learn kompatibel und Teil von scikit-learn-contrib-Projekten.
Installationsdokumentation, API-Dokumentation und Beispiele finden Sie in der Dokumentation.
Imbalanced-Learn erfordert die folgenden Abhängigkeiten:
Python (>= 3.10)
NumPy (>= 1.24.3)
SciPy (>= 1.10.1)
Scikit-learn (>= 1.2.2)
Pytest (>= 7.2.2)
Darüber hinaus erfordert imbalanced-learn die folgenden optionalen Abhängigkeiten:
Pandas (>= 1.5.3) für den Umgang mit Datenrahmen
Tensorflow (>= 2.13.1) für den Umgang mit TensorFlow-Modellen
Keras (>= 3.0.5) für den Umgang mit Keras-Modellen
Die Beispiele erfordern die folgenden zusätzlichen Abhängigkeiten:
Matplotlib (>= 3.7.3)
Seaborn (>= 0,12,2)
imbalanced-learn ist derzeit in den PyPi-Repositories verfügbar und Sie können es über pip installieren:
pip install -U imbalanced-learn
Das Paket wird auch auf der Anaconda Cloud-Plattform veröffentlicht:
conda install -c conda-forge imbalanced-learn
Wenn Sie möchten, können Sie es klonen und die Datei setup.py ausführen. Verwenden Sie die folgenden Befehle, um eine Kopie von Github zu erhalten und alle Abhängigkeiten zu installieren:
Git-Klon https://github.com/scikit-learn-contrib/imbalanced-learn.git CD unausgeglichen-lernen pip install .
Beachten Sie, dass Sie im Entwicklermodus installieren können mit:
pip install --no-build-isolation --editable .
Wenn Sie Pull-Requests auf GitHub stellen möchten, empfehlen wir Ihnen, Pre-Commit zu installieren:
pip install vor dem Commit Pre-Commit-Installation
Nach der Installation können Sie pytest verwenden, um die Testsuite auszuführen:
Abdeckung machen
Die Entwicklung dieses Scikit-Learn-Beitrags steht im Einklang mit der der Scikit-Learn-Community. Daher können Sie sich auf deren Entwicklungshandbuch beziehen.
Wir unterstützen bewährte Praktiken der Scientific Python Ecosystem Coordination (SPEC). Die vollständige Liste der Empfehlungen finden Sie hier.
Nachfolgend finden Sie die Liste der Empfehlungen, die wir für das Imbalanced-Learn-Projekt unterstützen.
Wenn Sie „imbalanced-learn“ in einer wissenschaftlichen Veröffentlichung verwenden, würden wir uns über Zitate auf den folgenden Artikel freuen:
@article{JMLR:v18:16-365, Autor = {Guillaume Lema{{^i}}tre und Fernando Nogueira und Christos K. Aridas}, title = {Imbalanced-learn: Eine Python-Toolbox zur Bekämpfung des Fluchs unausgeglichener Datensätze beim maschinellen Lernen}, Zeitschrift = {Journal of Machine Learning Research}, Jahr = {2017}, Volumen = {18}, Zahl = {17}, Seiten = {1-5}, URL = {http://jmlr.org/papers/v18/16-365} }
Die meisten Klassifizierungsalgorithmen funktionieren nur dann optimal, wenn die Anzahl der Stichproben jeder Klasse ungefähr gleich ist. Stark verzerrte Datensätze, bei denen die Minderheit um eine oder mehrere Klassen deutlich in der Unterzahl ist, haben sich als Herausforderung erwiesen und werden gleichzeitig immer häufiger.
Eine Möglichkeit, dieses Problem anzugehen, besteht darin, den Datensatz erneut abzutasten, um dieses Ungleichgewicht auszugleichen, in der Hoffnung, zu einer robusteren und faireren Entscheidungsgrenze zu gelangen, als Sie es sonst tun würden.
Einzelheiten zu den implementierten Algorithmen finden Sie in der Dokumentation zu imbalanced-learn.