imbalanced-learn es un paquete de Python que ofrece una serie de técnicas de remuestreo comúnmente utilizadas en conjuntos de datos que muestran un fuerte desequilibrio entre clases. Es compatible con scikit-learn y forma parte de proyectos scikit-learn-contrib.
La documentación de instalación, la documentación de API y ejemplos se pueden encontrar en la documentación.
El aprendizaje desequilibrado requiere las siguientes dependencias:
Pitón (>= 3.10)
NumPy (>= 1.24.3)
Ciencia ficción (>= 1.10.1)
Aprendizaje de Scikit (>= 1.2.2)
Pytest (>= 7.2.2)
Además, el aprendizaje desequilibrado requiere las siguientes dependencias opcionales:
Pandas (>= 1.5.3) para tratar con marcos de datos
Tensorflow (>= 2.13.1) para tratar con modelos de TensorFlow
Keras (>= 3.0.5) para tratar con modelos Keras
Los ejemplos requerirán las siguientes dependencias adicionales:
Matplotlib (>= 3.7.3)
Nacido en el mar (>= 0.12.2)
imbalanced-learn está actualmente disponible en los repositorios de PyPi y puedes instalarlo mediante pip:
instalación de pip -U aprendizaje desequilibrado
El paquete también se lanza en la plataforma Anaconda Cloud:
conda install -c conda-forge aprendizaje desequilibrado
Si lo prefieres, puedes clonarlo y ejecutar el archivo setup.py. Utilice los siguientes comandos para obtener una copia de Github e instalar todas las dependencias:
clon de git https://github.com/scikit-learn-contrib/imbalanced-learn.git cd desequilibrado-aprende instalación de pipas.
Tenga en cuenta que puede instalar en modo desarrollador con:
instalación de pip --no-build-isolation --editable .
Si desea realizar solicitudes de extracción en GitHub, le recomendamos que instale la confirmación previa:
confirmación previa de instalación de pip instalación previa a la confirmación
Después de la instalación, puede usar pytest para ejecutar el conjunto de pruebas:
hacer cobertura
El desarrollo de este scikit-learn-contrib está en línea con el de la comunidad scikit-learn. Por lo tanto, puede consultar su Guía de desarrollo.
Respaldamos las buenas prácticas de la Coordinación Científica del Ecosistema Python (SPEC). La lista completa de recomendaciones está disponible aquí.
Vea a continuación la lista de recomendaciones que respaldamos para el proyecto de aprendizaje desequilibrado.
Si utiliza el aprendizaje desequilibrado en una publicación científica, le agradeceríamos que citara el siguiente artículo:
@artículo{JMLR:v18:16-365, autor = {Guillaume Lema{{^i}}tre y Fernando Nogueira y Christos K. Aridas}, title = {Aprendizaje desequilibrado: una caja de herramientas de Python para abordar la maldición de los conjuntos de datos desequilibrados en el aprendizaje automático}, diario = {Revista de investigación sobre aprendizaje automático}, año = {2017}, volumen = {18}, número = {17}, páginas = {1-5}, URL = {http://jmlr.org/papers/v18/16-365} }
La mayoría de los algoritmos de clasificación solo funcionarán de manera óptima cuando el número de muestras de cada clase sea aproximadamente el mismo. Los conjuntos de datos muy sesgados, en los que una o más clases superan en número a la minoría, han demostrado ser un desafío y, al mismo tiempo, se han vuelto cada vez más comunes.
Una forma de abordar este problema es volver a muestrear el conjunto de datos para compensar este desequilibrio con la esperanza de llegar a un límite de decisión más sólido y justo que el que se obtendría de otra manera.
Puede consultar la documentación de aprendizaje desequilibrado para encontrar detalles sobre los algoritmos implementados.