發表文章

目前顯示的是 11月, 2019的文章

Credit card fraud detection 更

圖片
這次探勘的主題是信用卡的詐騙偵測,我們將根據資料的特性對於個案最後是否為詐騙人士, 資料一樣來自Kaggle https://www.kaggle.com/mlg-ulb/creditcardfraud 和過往資料不同的是目標的比例非常懸殊,畢竟詐騙集團的新聞雖然常見,但說老實話,和一般小老百姓作比例的話,也算是冰山一小角,這樣的資料難點是在於如何在詐騙比例很少的情況下仍然能得到充分的訓練(Training),詐騙份數少容易導致模型訓練太多非詐騙的資料集進而影響最後Testing的結果。 面對這樣的情況,最直接的作法是 1. 再去收集小比例的資料(廢話?) 2. 缺樣本,那我們反覆抽取更多給它 (Over Sample) 3. 缺樣本,那我們讓高比例的取樣相對沒那麼多就好 (Under Sample) 4.  SMOTE (Synthetic Minority Oversampling Technique)  , 最有名的樣本合成方法, 原理跟KNN一樣,找取最鄰近的詐騙樣本,生成新的樣本。 (有關Sampling :  https://www.zhihu.com/question/269698662 ) (有關SMOTE:   https://reurl.cc/5gDgX7 ) 方法1有現實上的困難 方法2的缺點是過分強調詐騙的比例可能會導致Overfitting 方法3的缺點是捨棄大部分的數據可能因此失去非詐騙比例可以收集的資訊 方法4雖然有不錯的分類效果,但是一樣有過份強調的後果導致最後模型失真,一樣有Overffitting 的風險。 每個方法都有各自的風險,而本次分析決定採用: 1. Over-Undersampling,將詐騙比例oversampling;再將非詐騙比例undersampling 2. SMOTE生成樣本後進行分析 3. 不對資料集作處理直接分析 直接開始分析吧! library(tidyverse) # everything library(reshape2) # melting tables library(caret) # training, cross-validation, hyperparameter search librar...