>기술 주변기기 >일체 포함 >불균형 데이터 처리를 위한 상위 10개 Python 라이브러리

불균형 데이터 처리를 위한 상위 10개 Python 라이브러리

王林
王林앞으로
2023-09-30 19:53:031194검색

데이터 불균형은 기계 학습에서 흔히 발생하는 문제입니다. 한 클래스의 수가 다른 클래스보다 훨씬 많아 편향된 모델과 잘못된 일반화로 이어질 수 있습니다. 불균형 데이터를 효율적으로 처리하는 데 도움이 되는 다양한 Python 라이브러리가 있습니다. 이 기사에서는 기계 학습에서 불균형 데이터를 처리하기 위한 상위 10개 Python 라이브러리를 소개하고 각 라이브러리에 대한 코드 조각과 설명을 제공합니다.

불균형 데이터 처리를 위한 상위 10개 Python 라이브러리

1. imbalanced-learn

imbalanced-learn은 다양한 데이터 세트 재조정 기술을 제공하도록 설계된 scikit-learn의 확장 라이브러리입니다. 라이브러리는 오버샘플링, 언더샘플링 및 결합 방법

 from imblearn.over_sampling import RandomOverSampler  ros = RandomOverSampler() X_resampled, y_resampled = ros.fit_resample(X, y)

2과 같은 다양한 옵션을 제공하며, SMOTE

SMOTE는 데이터 세트의 균형을 맞추기 위해 합성 샘플을 생성합니다.

from imblearn.over_sampling import SMOTE  smote = SMOTE() X_resampled, y_resampled = smote.fit_resample(X, y)

3, ADASYN

ADASYN은 몇 가지 샘플의 밀도를 기반으로 합성 샘플을 적응적으로 생성합니다.

from imblearn.over_sampling import ADASYN  adasyn = ADASYN() X_resampled, y_resampled = adasyn.fit_resample(X, y)

4. RandomUnderSampler

RandomUnderSampler는 다수 클래스에서 샘플을 무작위로 제거합니다.

from imblearn.under_sampling import RandomUnderSampler  rus = RandomUnderSampler() X_resampled, y_resampled = rus.fit_resample(X, y)

5. Tomek 링크

Tomek 링크는 다양한 카테고리의 최근접 이웃 쌍을 제거하고 여러 샘플 수를 줄일 수 있습니다.

 from imblearn.under_sampling import TomekLinks  tl = TomekLinks() X_resampled, y_resampled = tl.fit_resample(X, y)

6. SMOTEENN(SMOTE +Edited Nearest Neighbors)

SMOTEENN은 SMOTE와 Edited Nearest Neighbors를 결합합니다.

 from imblearn.combine import SMOTEENN  smoteenn = SMOTEENN() X_resampled, y_resampled = smoteenn.fit_resample(X, y)

7. SMOTETomek(SMOTE + Tomek 링크)

SMOTEENN은 오버샘플링과 언더샘플링을 위해 SMOTE와 Tomek 링크를 결합합니다.

 from imblearn.combine import SMOTETomek  smotetomek = SMOTETomek() X_resampled, y_resampled = smotetomek.fit_resample(X, y)

8. EasyEnsemble

EasyEnsemble은 대부분의 클래스의 균형 잡힌 하위 집합을 생성할 수 있는 앙상블 방법입니다.

 from imblearn.ensemble import EasyEnsembleClassifier  ee = EasyEnsembleClassifier() ee.fit(X, y)

9. BalancedRandomForestClassifier

BalancedRandomForestClassifier는 랜덤 포레스트와 균형 잡힌 하위 샘플을 결합하는 앙상블 방법입니다.

 from imblearn.ensemble import BalancedRandomForestClassifier  brf = BalancedRandomForestClassifier() brf.fit(X, y)

10. RUSBoostClassifier

RUSBoostClassifier는 무작위 언더샘플링과 향상을 결합한 앙상블 방법입니다.

from imblearn.ensemble import RUSBoostClassifier  rusboost = RUSBoostClassifier() rusboost.fit(X, y)

요약

불균형 데이터를 처리하는 것은 정확한 기계 학습 모델을 구축하는 데 중요합니다. 이러한 Python 라이브러리는 이 문제를 해결하기 위한 다양한 기술을 제공합니다. 데이터 세트와 문제에 따라 가장 적절한 방법을 선택하여 데이터 균형을 효과적으로 맞출 수 있습니다.

위 내용은 불균형 데이터 처리를 위한 상위 10개 Python 라이브러리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제