2020.02.12. R로하는 A.I 분석(4) (퀘스트- 신용카드 이상거래 탐지 해설)

-Means 모델을 이용해서 이상거래 여부를 탐지했습니다.



충격적인 결과죠! 동전던지기 수준...




변수가 총 30개였구요.  시각화를 위해 Amount와 Time을 축으로 실제 k-means 클러스터링으로 분류한 1, 2 두개 집단을 시각화해봤습니다.

Clustering은 아마도 time 변수가 주요 기준이 된 것 같습니다.



만약에 이것을 클라이언트에게 제출한다면....


이 놀라운 결과를 낸 허접한 코드는 아래와 같습니다.


library(readr)
cd<- read_csv("creditcard.csv/creditcard.csv")

library(caret)
set.seed(1712)

inTrain <- createDataPartition(y = cd$Class, p = 0.7, list =F)
training <- cd[inTrain,]
testing <- cd[-inTrain,]
training

training.data <- scale(training[-5]) 
summary(training.data)  
cd.kmeans <- kmeans(training.data[,-30], centers = 2, iter.max = 10000)
cd.kmeans$centers

training$cluster <- as.factor(cd.kmeans$cluster)
qplot(Amount, Time, colour = cluster, data = training)

table(training$Class, training$cluster)


#채점표


aa<-table(training$Class, training$cluster)
accuracy1<-aa[1,1]/(aa[1,1]+aa[1,2]) # 이상이없는거래를 진짜로 이상이 없는거래로 판정
accuracy2<-aa[2,2]/(aa[2,1]+aa[2,2]) # 이상거래를 진짜로 이상거래로 판정

kk<-(accuracy1+accuracy2)/2

kk




정확도를 70%까지 올리는 팀에게 소정의 상품을 드리고자 합니다!


댓글