신용카드 부정거래 탐지 (sklearn, 머신러닝, 딥러닝)
by PyTong빅데이터응용보안 과목에서 팀장을 맡아 프로젝트를 했다.
프로젝트 주제는 신용카드 거래내역 빅데이터를 활용하여 신용카드 부정거래를 탐지하는 머신러닝, 딥러닝 모델을 개발였다.
데이터는 캐글의 신용거래 데이터를 활용하였다.
https://www.kaggle.com/mlg-ulb/creditcardfraud
Credit Card Fraud Detection
Anonymized credit card transactions labeled as fraudulent or genuine
www.kaggle.com
활용한 데이터가 극도의 불균형이 이루어서 모델을 학습시키기전에 데이터 전처리 과정이 요구되었다.
그래서 전처리 과정을 중간 기간까지 오버샘플링과 언더샘플링 두 가지를 활용하여 진행하였다.
학습된 데이터를 보면 언더샘플링과 오버샘플링을 비교하였을 때, recall 값과 precision, f1 값이 떨어지는 것을 확인할 수 있었다.
그러나, 당시 Learning Curve를 제대로 활용하지 않아, 오버피팅이거나 언더피팅이 되었음을 교수님꼐 지적을 받았고 이후
머신러닝은 KNN, Logistic Regression, SVM, Lightgbm , 딥러닝은 MLP, CNN의 모델을 적용시켰다.
각 열의 붉은색이 가장 높은 수치이고 파란색은 가장 낮은 수치이다.
당시 제출했었던 보고서와 발표 PPT
GitHub : https://github.com/sungchan1/Detecting-fraud-credit-card-transaction
GitHub - sungchan1/Detecting-fraud-credit-card-transaction
Contribute to sungchan1/Detecting-fraud-credit-card-transaction development by creating an account on GitHub.
github.com
사용한 주 소스코드
블로그의 정보
PyTong
PyTong