시작하기무료로 시작하기

SMOTE와 원본 데이터 비교

이전 연습 문제에서 SMOTE를 사용하면 소수 클래스의 관측치가 크게 늘어나는 것을 보셨죠. 이제 그 결과를 원본 데이터와 비교해 보며 실제로 어떤 변화가 있었는지 감을 잡아 봅시다. 먼저 옛 데이터와 새 데이터의 값 분포(value counts)를 다시 확인하고, 두 데이터의 산점도를 나란히 그려 보겠습니다. 이를 위해 미리 정의된 함수 compare_plot()을 사용할 거예요. 이 함수는 다음 인수를 받습니다: X, y, X_resampled, y_resampled, method=''. 이 함수는 원본 데이터의 산점도와 리샘플링된 데이터를 나란히 표시합니다.

이 연습은 강의의 일부입니다

Python으로 배우는 사기 탐지

강의 보기

연습 안내

  • 원래 레이블 y의 값 분포를 출력하세요. 현재 y는 Numpy 배열이므로 value counts를 사용하려면 y를 pandas Series 객체로 다시 만들어야 합니다.
  • 같은 단계를 y_resampled에도 적용해 값 분포를 출력하세요. 이를 통해 SMOTE로 두 클래스 간 균형이 어떻게 바뀌었는지 확인할 수 있습니다.
  • 미리 정의된 compare_plot() 함수를 사용해 원본 데이터와 리샘플링된 데이터를 각각 입력하여 산점도를 나란히 확인하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Print the value_counts on the original labels y
print(pd.value_counts(pd.Series(____)))

# Print the value_counts
print(____(____(____)))

# Run compare_plot
compare_plot(____, ____, ____, ____, method='SMOTE')
코드 편집 및 실행