시작하기무료로 시작하기

전통적인 방식으로 사기 탐지 살펴보기

이번 연습 문제에서는 신용카드 데이터셋에서 사기 사례를 "예전 방식"으로 찾아보겠습니다. 먼저 일반적인 통계를 활용해 임계값을 정해 사기와 정상 거래를 구분하고, 그다음 해당 임계값을 특징들에 적용해 사기를 탐지해 볼 거예요. 이는 많은 사기 분석 팀에서 흔히 쓰는 접근입니다.

통계적 임계값은 관측치의 평균 값을 보고 설정하는 경우가 많습니다. 먼저 사전 점검으로, 사기와 정상 거래 간에 특징의 평균이 다른지 확인해 봅시다. 그런 다음 그 정보를 바탕으로 상식적인 임계값을 만들고, 마지막으로 사기 탐지 성능이 어느 정도인지 확인해 보세요.

pandas는 이미 pd로 임포트되어 있습니다.

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

Python으로 배우는 사기 탐지

강의 보기

연습 안내

  • groupby()를 사용해 dfClass로 그룹화하고, 각 특징의 평균을 구하세요.
  • 사기 거래로 표시하기 위한 조건으로 V1이 -3보다 작고 V3가 -5보다 작은 조건을 만드세요.
  • 성능을 측정하기 위해, pandascrosstab 함수를 사용해 표시된 사기 거래와 실제 사기 거래를 비교하세요.

실습형 인터랙티브 연습

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

# Get the mean for each group
____.____(____).mean()

# Implement a rule for stating which cases are flagged as fraud
df['flag_as_fraud'] = np.where(np.logical_and(______), 1, 0)

# Create a crosstab of flagged fraud cases versus the actual fraud cases
print(____(df.Class, df.flag_as_fraud, rownames=['Actual Fraud'], colnames=['Flagged Fraud']))
코드 편집 및 실행