신용 카드 사기 감지: 실습 프로젝트
발견하다:
- 신용 카드 사기 탐지의 중요성 이해
- 프로젝트를 위한 "신용 카드 사기 감지" 데이터 세트 소개
- 강력한 사기 탐지 모델 구축
- 모델 성능 평가
- 모델 결과 해석 및 분석
World Payment Report 2022는 비현금 거래의 급속한 성장과 B2B 결제 가치 사슬 및 중소기업의 중요성을 강조합니다. 또한 향후 아래와 같이 비현금 거래가 꾸준히 증가할 것으로 예상됩니다.
유망해 보일 수 있지만 사기 거래도 증가했습니다. EMV 스마트 칩의 구현에도 불구하고 신용 카드 사기로 인해 여전히 상당한 금액의 손실이 발생하고 있습니다.
어떻게 하면 위험을 최소화할 수 있습니까? 손실을 줄이고 사기를 방지하는 다양한 기술이 있지만 제 접근 방식을 안내하고 발견한 내용을 공유하겠습니다.
I. 데이터셋에 대하여
Kaggle의 " 신용 카드 사기 감지 " 데이터 세트는 2013년 9월 유럽 카드 소지자가 신용 카드로 만든 거래를 포함하는 매우 불균형한 데이터 세트입니다. 이 데이터 세트에는 총 284,807개의 트랜잭션이 포함되어 있으며 그 중 492개만이 사기성이므로 데이터 세트가 매우 불균형합니다. 데이터 세트에는 민감한 정보의 기밀성을 유지하기 위해 PCA 변환으로 얻은 수치인 28개의 특징이 포함되어 있습니다. 이 데이터 세트의 목표는 부정 행위를 방지하고 카드 소지자와 은행이 입은 손실을 줄이기 위해 실시간으로 부정 거래를 정확하게 감지할 수 있는 모델을 구축하는 것입니다. 이 데이터 세트는 기계 학습 연구에서 불균형 데이터 세트를 처리하기 위한 다양한 분류 알고리즘 및 기술을 평가하는 데 널리 사용되었습니다.
II. 탐색적 데이터 분석
Time
이제 데이터를 사용할 수 있으므로 , Amount
및 열을 몇 가지 확인하겠습니다 Class
.
1. 시간
플롯에서 시간 특성이 두 개의 봉우리가 있는 바이모달 분포를 갖고 있음을 관찰할 수 있습니다. 이는 하루 중 신용 카드 거래가 더 자주 발생하는 두 개의 기간이 있음을 나타냅니다. 첫 번째 피크는 약 50,000초(약 14시간)에 발생하고 두 번째 피크는 약 120,000초(약 33시간)에 발생합니다. 이것은 신용 카드 거래 타이밍에 사기 적발에 유용할 수 있는 패턴이 있을 수 있음을 시사합니다.
2. 금액
플롯에서 Amount 특성의 분포가 오른쪽으로 크게 치우쳐 있고 오른쪽으로 긴 꼬리가 있음을 관찰할 수 있습니다. 이는 거래의 대부분이 금액이 적고 일부 거래의 금액이 매우 높다는 것을 나타냅니다. 결과적으로 이는 데이터 세트에 거래 금액 측면에서 일부 이상치가 포함되어 있음을 시사합니다. Amount
따라서 사기 탐지를 위한 모델을 구축할 때 예를 들어 로그 변환 또는 강력한 통계 방법을 사용하여 기능 의 이상값을 처리해야 할 수 있습니다 .
3. 부류(사기 | 비사기)
도표에서 우리는 데이터 세트가 매우 불균형하다는 것을 관찰할 수 있습니다. 거래의 대다수가 사기가 아닌 거래(클래스 0)이고 상대적으로 적은 수의 거래가 사기 거래(클래스 1)입니다. 이는 데이터 세트에 클래스 불균형 문제가 있음을 나타내며, 이는 이 데이터 세트에서 훈련된 모델의 성능에 영향을 미칠 수 있습니다. 사기 탐지를 위한 모델을 구축할 때 클래스 불균형 문제를 처리하기 위해 오버샘플링, 언더샘플링 또는 클래스 가중치와 같은 기술을 사용해야 할 수 있습니다.
III. 데이터 처리
데이터에 중요한 공선성이 없는지 확인하기 위해 히트맵이 사용되었습니다.
히트맵에서 데이터 세트의 변수 쌍 간에 강한 양의 상관관계 또는 음의 상관관계가 없음을 관찰할 수 있습니다. 가장 강한 상관 관계가 발견되었습니다.
- 상관 계수가 -0.42인 시간 및 V3
- 금액 및 V2, 상관 계수 -0.53
- 양과 V4, 상관계수는 0.4입니다.
IV. 모델링
" 신용 카드 사기 탐지 " 데이터 세트에는 사기 여부로 표시된 신용 카드 거래가 있습니다. 데이터 세트는 불균형하므로 사기가 아닌 거래에 잘못 플래그를 지정하지 않고 사기 거래를 정확하게 감지할 수 있는 모델이 필요합니다.
분류 문제를 돕기 위해 StandardScaler는 평균 0과 표준 편차 1을 부여하여 데이터를 표준화하여 정규 분포를 생성합니다. 이 기술은 다양한 양과 시간을 다룰 때 잘 작동합니다. 데이터를 확장하기 위해 교육 세트를 사용하여 피팅을 초기화하고 교육, 검증 및 테스트 세트를 모델로 실행하기 전에 확장합니다.
데이터 세트는 교육용 60%, 검증용 20%, 테스트용 20% 로 나뉩니다 . 불균형한 데이터 세트의 균형을 맞추기 위해 랜덤 언더샘플링을 사용하여 사기 거래 수를 일치시켰습니다. Logistic Regression과 Random Forest 모델을 사용하여 좋은 결과를 얻었다.
"신용 카드 사기 감지" 데이터 세트에 일반적으로 사용되는 모델은 로지스틱 회귀, 나이브 베이즈, 랜덤 포레스트 및 더미 분류기입니다.
- 로지스틱 회귀 는 해석 가능성과 대규모 데이터 세트 처리 능력 때문에 사기 탐지에 널리 사용됩니다.
- Naive Bayes는 많은 수의 기능이 있는 데이터 세트를 처리할 수 있고 빠른 예측을 제공할 수 있기 때문에 사기 탐지에 일반적으로 사용됩니다.
- Random Forest는 복잡한 데이터 세트를 처리할 수 있고 과적합 가능성이 적기 때문에 일반적으로 사기 탐지에 사용됩니다.
- Dummy Classifier는 다른 모델의 성능을 비교하기 위한 벤치마크로 사용되는 간단한 알고리즘입니다.
V. 모델 평가
이 섹션에서는 정확도, 재현율, 정밀도 및 F1 점수와 같은 메트릭에 대해 설명합니다.
- 정확도는 모델이 만드는 정확한 예측의 비율입니다. 그러나 불균형 데이터 세트의 경우 오해의 소지가 있을 수 있습니다.
- Recall은 모델이 올바르게 식별한 사기 거래의 비율을 알려줍니다. 최상의 모델에서 재현율은 89.9%이며 이는 좋은 출발점입니다.
- 정밀도는 예상 사기 거래의 몇 퍼센트가 실제로 사기였는지 알려줍니다. 최상의 모델에서는 모든 사기 거래의 97.8%가 포착되었으며 이는 좋은 지표입니다.
- F1 Score는 Recall과 Precision을 하나의 메트릭으로 결합하여 가양성 및 가음성을 고려하여 둘의 가중 평균으로 사용합니다. 불균형 클래스의 정확도보다 훨씬 더 효과적입니다.
1. ROC 점수
ROC는 다양한 임계값에서 분류 성능을 측정합니다. AUC 점수(Area Under the Curve)가 높을수록 모델이 사기/비 사기를 더 잘 예측할 수 있음을 의미합니다.
ROC 곡선: 마케팅 사기 탐지를 위한 강력한 도구그래프는 로지스틱 회귀 및 랜덤 포레스트에 대한 AUC 점수를 보여줍니다. 높은 점수가 좋습니다. 곡선의 점은 임계값을 나타냅니다. 오른쪽으로 이동하면 참양성이 더 많이 캡처되지만 거짓양성도 더 많이 캡처됩니다. 이상적인 임계값은 로지스틱 회귀의 경우 0.842이고 Random Forest의 경우 0.421입니다. 이러한 임계값에서 우리는 오탐을 낮게 유지하면서 최적의 사기 거래량을 포착합니다. Confusion Matrix는 각 모델의 효과를 시각화할 수 있습니다.
2. 혼동 행렬 - 로지스틱 회귀
이 모델은 98건의 사기 거래 중 88건을 포착하고 샘플 외 테스트 세트에서 임계값 0.842를 사용하여 1,678건의 정상 거래를 사기로 표시했습니다. 카드를 다른 주에서 사용한 뒤 사전 통보 없이 은행에서 확인 문자를 보내는 것과 마찬가지다.
3. 혼란 매트릭스 — 랜덤 포레스트
0.421의 임계값에서 Random Forest 모델은 로지스틱 회귀 모델과 유사하게 수행됩니다. 98건의 사기 거래 중 88건을 정확하게 식별하지만, 로지스틱 회귀 모델에 비해 정상적인 거래의 감소를 사기로 표시하기도 합니다. 전반적으로 두 모델 모두 성능이 좋습니다.
결론
사기성 신용 카드 거래를 적발하는 것은 오늘날 사회에서 매우 중요합니다. 회사는 이러한 사례를 캡처하기 위해 다양한 방법을 사용하며, 이를 어떻게 처리하는지 보는 것은 흥미로울 것입니다. 이상 현상을 찾는 일이 즐겁기 때문에 이 프로젝트를 진행하는 과정이 무척 즐거웠습니다. 조사 결과가 잘 설명되었길 바라며 읽어 주셔서 감사합니다!
참조
- 캐글 프로젝트 — 여기
- Github 레포 — 여기
- Kaggle 데이터세트 — 여기
- 자세히 알아보기 —
신용 카드 사기 탐지를 위한 재현 가능한 기계 학습 — 실용 핸드북
기사에 박수 50번 주기
팔로우
Medium 에서 더 많은 기사 읽기
소셜 미디어 Github 에서 연결 | 링크드인 | 캐글
#CreditCardFraudDetection #DataScience #MachineLearning #FraudPrevention #DataAnalysis