시작하기무료로 시작하기

사기와 정상 거래 비율 확인하기

이 장에서는 신용카드 거래 데이터가 담긴 creditcard_sampledata.csv를 다룹니다. 다행히도 이 데이터에서 사기 발생은 극히 소수예요.

하지만 Machine Learning 알고리즘은 일반적으로 데이터셋에 포함된 각 클래스가 어느 정도 균형을 이룰 때 가장 잘 작동합니다. 사기 사례가 적다면, 이를 식별하는 법을 학습할 데이터가 부족하겠죠. 이는 클래스 불균형(class imbalance)이라고 하며, 사기 탐지에서 가장 큰 과제 중 하나입니다.

이제 데이터셋을 탐색하면서, 이러한 클래스 불균형 문제를 직접 확인해 보세요.

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

Python으로 배우는 사기 탐지

강의 보기

연습 안내

  • pandaspd로 임포트하고 신용카드 데이터를 읽어 df에 저장하세요. 이 부분은 이미 준비되어 있어요.
  • .info()df의 정보를 출력하세요.
  • 'Class' 열에서 .value_counts()를 사용해 사기 및 정상 거래의 건수를 구하고, 결과를 occ에 할당하세요.
  • 데이터셋 전체 거래 수 대비 사기 거래의 비율을 계산하세요.

실습형 인터랙티브 연습

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

# Import pandas and read csv
import pandas as pd
df = pd.read_csv("creditcard_data.csv")

# Explore the features available in your dataframe
print(df.____)

# Count the occurrences of fraud and no fraud and print them
occ = df['____'].____()
print(occ)

# Print the ratio of fraud cases
print(occ / ____)
코드 편집 및 실행