IEEE-CIS 사기 탐지

고객 거래에서 사기를 감지할 수 있습니까?
My Image
클릭하면 캐글사이트로 이동합니다

🔥대회 목적 :

Data

평가 방식

ROC 곡선 아래의 영역(AUC) 평가

모델 분류

Classification(분류)

타겟(target)

isFraud

데이터 파일 구성

1. transaction(거래 데이터)

2. identity(신원 확인 데이터)

transaction 컬럼 설명

  • TransactionDT: 주어진 참조 datetime의 timedelta(실제 타임스탬프가 아님), 초단위
  • TransactionAMT: 거래 결제 금액(USD)
  • ProductCD: 제품 코드, 각 거래에 대한 제품(categorical)
  • card1 - card6: 카드 종류, 카드 카테고리, 발행 은행, 국가 등의 결제 카드 정보(categorical)
  • addr: 주소(categorical)
  • dist: 청구 주소, 우편 주소, 우편 번호, IP 주소, 전화 지역 등 사이의 거리
  • P_ and (R__) emaildomain: 구매자 및 수신자 이메일 도메인(categorical)
  • C1-C14: 결제 카드와 관련된 것으로 확인된 주소 수 등과 같은 계산. 실제 의미는 마스킹됩니다.
  • D1-D15: 이전 트랜잭션 사이의 날짜 등과 같은 timedelta
  • M1-M9: 카드의 이름 및 주소 등과 같은 일치
  • Vxxx: Vesta는 순위, 계산 및 기타 엔터티 관계를 포함하여 풍부한 기능을 설계했습니다. IP 및 이메일 또는 주소와 연결된 결제 카드가 24시간 동안 몇 번 나타났는지 등

identity 컬럼 설명

  • Transactionid: 트랜잭션 관련 ID
  • DeviceType [Categorical]: 트랜잭션에 사용되는 장치 유형
  • DeviceInfo [Categorical]: 사용된 장치에 대한 자세한 정보
  • id 1 - 38 [Categorical+numeric]: 네트워크 연결 정보, 브라우저 정보 등(id 12 - 38은 범주 정보)

EDA

Target
  • 타겟 데이터의 불균형이 심합니다. 거래의 약 96.5%가 사기가 아니다. 약 3.5%만이 사기 거래입니다.
isFraud
  • DateTime을 1시간 단위로 정리
  • 우리는 이것들로부터 4개의 범주형 값을 만들 수 있습니다.
  • 높음 :(6,7,8,9) : 오전 6시부터 9시까지 입니다.
  • 중간 : (3,4,5,10,11)입니다.
  • 낮음 : (11,12,16-0,1-2)입니다.
  • 매우 낮음 : (13,14,15)입니다.
transcationDT
  • DateTime을 1시간 단위로 정리
  • 우리는 이것들로부터 4개의 범주형 값을 만들 수 있습니다.
  • 높음 :(6,7,8,9) : 오전 6시부터 9시까지 입니다.
  • 중간 : (3,4,5,10,11)입니다.
  • 낮음 : (11,12,16-0,1-2)입니다.
  • 매우 낮음 : (13,14,15)입니다.
transactionAMT
ProductCD
P_email domain and R_email domain
더 많은 정보는 Discussion에서 확인해주세요

feature engineering

merge
1. 데이터 합치기

transaction + identity 데이터셋을 merge했습니다

quiz app
2. 컬럼명 변경

train 데이터와 test 데이터의 id 컬럼명에 오차가 있어서 수정을 했습니다

quiz app
3. 컬럼 제거

결측치 비율이 70%이상인 컬럼들을 제거합니다

quiz app
4. 결측치 채우기

interpolate() 와 dropna()를 활용하여 결측치를 채웁니다

quiz app
5. 라벨인코딩

object타입의 데이터를 라벨인코딩했습니다

quiz app
6. 데이터 나누기

모델 학습을 위한 train, valid 데이터 나눴습니다
train_test_split()했습니다

quiz app />
7. 데이터 불균형 확인

isFraud(target)의 데이터 불균형을 확인했습니다

quiz app
8. 다운샘플링

데이터 불균형을 해결하기 위해 다운샘플링을 했습니다

quiz app
9. 모델학습 및 평가

7가지 모델을 학습하고 평가를 했습니다

Models

모델 평가 (train / test)

  • DecisionTreeClassifier: (0.84 / 0.70)
  • RandomForestClassifier: (0.98 / 0.84)
  • AdaBoostClassifier: (0.85 / 0.83)
  • GradientBoostingClassifier: (0.89 / 0.85)
  • XGBClassifier: (0.89 / 0.85)
  • 🥇 LGBMClassifier: (0.96 / 0.86)
  • LogisticRegression: (0.70 / 0.71)

🏆 Best Model : LGBM

Submission

💡 public score : 0.8870

🔒 private score : 0.8685

submission 제출 결과

Contact