>>> from sklearn.utils import resample
    >>> print('샘플링하기 전 클래스 1의 샘플 개수:',
    ...       X_imb[y_imb == 1].shape[0])
    샘플링하기 전 클래스 1의 샘플 개수: 40
    >>> X_upsampled, y_upsampled = resample(X_imb[y_imb==1],
    ...                                     y_imb[y_imb==1],
    ...                                     replace=True,
    ...                                     n_samples=X_imb[y_imb==0].shape[0],
    ...                                     random_state=123)
    >>> print('샘플링한 후 클래스 1의 샘플 개수:',
    ...       X_upsampled.shape[0])
    샘플링한 후 클래스 1의 샘플 개수: 357

    샘플을 추출한 후 클래스 0인 원본 샘플과 업샘플링(upsampling)된 클래스 1을 연결하여 균형 잡힌 데이터셋을 얻을 수 있습니다.

    >>> X_bal = np.vstack((X[y==0], X_upsampled))
    >>> y_bal = np.hstack((y[y==0], y_upsampled))

    그 결과 다수 클래스를 예측하는 규칙은 50% 정확도를 달성합니다.

    >>> y_pred = np.zeros(y_bal.shape[0])
    >>> np.mean(y_pred==y_bal) * 100
    50.0
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.