imbalanced-learn은 클래스 간 불균형이 심한 데이터 세트에서 일반적으로 사용되는 다양한 리샘플링 기술을 제공하는 Python 패키지입니다. scikit-learn과 호환되며 scikit-learn-contrib 프로젝트의 일부입니다.
설치 문서, API 문서 및 예제는 문서에서 찾을 수 있습니다.
불균형 학습에는 다음 종속성이 필요합니다.
파이썬(>= 3.10)
NumPy(>= 1.24.3)
SciPy(>= 1.10.1)
사이킷런(>= 1.2.2)
파이테스트(>= 7.2.2)
또한 불균형 학습에는 다음과 같은 선택적 종속성이 필요합니다.
데이터프레임 처리를 위한 Pandas(>= 1.5.3)
TensorFlow 모델을 처리하기 위한 Tensorflow(>= 2.13.1)
Keras 모델 처리를 위한 Keras(>= 3.0.5)
예제에는 다음과 같은 추가 종속성이 필요합니다.
Matplotlib(>= 3.7.3)
씨본(>= 0.12.2)
imbalanced-learn은 현재 PyPi 저장소에서 사용할 수 있으며 pip를 통해 설치할 수 있습니다.
pip install -U 불균형 학습
패키지는 Anaconda Cloud 플랫폼에서도 릴리스됩니다.
conda install -c conda-forge 불균형 학습
원하는 경우 이를 복제하고 setup.py 파일을 실행할 수 있습니다. Github에서 복사본을 가져오고 모든 종속성을 설치하려면 다음 명령을 사용하십시오.
자식 클론 https://github.com/scikit-learn-contrib/imbalanced-learn.git CD 불균형 학습 핍 설치 .
다음을 사용하여 개발자 모드로 설치할 수 있습니다.
pip install --no-build-isolation --editable .
GitHub에서 풀 요청을 하려면 사전 커밋을 설치하는 것이 좋습니다.
pip 설치 사전 커밋 사전 커밋 설치
설치 후 pytest를 사용하여 테스트 스위트를 실행할 수 있습니다.
취재하다
이 scikit-learn-contrib의 개발은 scikit-learn 커뮤니티의 개발과 일치합니다. 따라서 개발 가이드를 참조할 수 있습니다.
우리는 SPEC(Scientific Python Ecosystem Coordination)의 모범 사례를 지지합니다. 전체 권장 사항 목록은 여기에서 확인할 수 있습니다.
불균형 학습 프로젝트에 대해 우리가 보증하는 권장 사항 목록은 아래를 참조하십시오.
과학 출판물에서 불균형 학습을 사용하는 경우 다음 논문을 인용해 주시면 감사하겠습니다.
@article{JMLR:v18:16-365, 저자 = {Guillaume Lema{{^i}}tre 및 Fernando Nogueira 및 Christos K. Aridas}, title = {불균형 학습: 기계 학습에서 불균형 데이터 세트의 저주를 해결하기 위한 Python 도구 상자}, 저널 = {머신러닝 연구 저널}, 연도 = {2017}, 볼륨 = {18}, 번호 = {17}, 페이지 = {1-5}, URL = {http://jmlr.org/papers/v18/16-365} }
대부분의 분류 알고리즘은 각 클래스의 샘플 수가 거의 동일한 경우에만 최적으로 수행됩니다. 소수가 하나 이상의 클래스보다 훨씬 많은 고도로 편향된 데이터 세트는 문제가 되는 것으로 입증되었으며 동시에 점점 더 일반화되었습니다.
이 문제를 해결하는 한 가지 방법은 다른 방법보다 더 강력하고 공정한 결정 경계에 도달하기 위해 이러한 불균형을 상쇄하기 위해 데이터 세트를 다시 샘플링하는 것입니다.
구현된 알고리즘에 대한 세부 정보를 찾으려면 불균형 학습 설명서를 참조할 수 있습니다.