KaggleUXLog

:beginner: :shipit:

This project is maintained by LegenDad

TalkingData AdTracking Fraud Detection Challenge - Part1


Part1은 첫 시작부터 4월말까지의 경험으로 작성해 본다.
중간 정리한 발표 자료와 크게 다른 내용은 없다.

Intro

왜 Fraud Click을 찾아야 하는가?

Video Label
Chinese Farm

Fraud라는 용어 자체의 불편한 경험이 있지만,
위 이미지 및 영상으로 대충 파악하고 해당 데이터 분석을 시작한다.


파생 변수 생성에 대한 접근

익숙치 않은 시각화을 통한 인사이트 도출 보다는 모델링을 해서 나온 결과를 통해
변수별 중요도 파악을 해서 파생 변수 추가 삭제를 진행 하는 방법으로 진행했다.


여러 알고리즘 별 결과 비교

Model
Size
Valid AUC
LB Score
GLM 1천만 0.92 0.89
GLM 2천만 0.92 0.89
Decision Tree 1천만 0.92 0.65
Random Forest 1천만 memory limit memory limit
XGB 1천만 0.97 0.91
XGB 2천만 0.97 0.90
XGB 5천만 0.97 0.94
LGBM 1천만 0.92 0.89
LGBM 2천만 0.92 0.93
LGBM with Categorical Features 1천만 0.92 0.96

XGB, LGBM의 결과가 너무 우수해서 개선의 필요성을 느끼지 못했다 사용해보고 교차 분석 활용 경험 용도였다.

library(caret)
model <- train(factor(is_attributed)~., adtr, method = "glm",
               trControl = trainControl(method = "cv", number = 10, verboseIter = TRUE))

모델 생성을 위한 훈련, 검증, 테스트 데이터 구상표

Train과 Test 구별을 위한 key 값 : tri vs -tri
Train과 Valid 구별을 위한 key 값 : train vs valid
위 2개의 key면 train+test Set에서
train, valid, test 그리고 target for train, target fot valid
모두 접근 할 수 있다.
또한 이렇게 습득한 key값에 대한 경험은
datatable 패키지에 활용하는 면에서도 많은 도움이 되었다.


R Package : dplyr vs datatable

두 패키지 모두 정말 훌륭하다.
하지만 이번 데이터 활용에서 느낀 경험은 두 패키지는 활용 용도가 다르다.

두 패키지 모두 경험 후, 실제 연산 속도를 비교해 봤다.
같은 결과값을 주는 단일 코드 값 비교

여러 파생 변수 생성에 있어서 비교

속도는 2배 이상 차이가 나는 듯 하다.
사용한 코드는 dplyr, datatable