作業4-3. 請使用資料集「credit card fraud detection」建立預測分類模型;positive class = frauds。網址 https://www.kaggle.com/mlg-ulb/creditcardfraud
a. 自行選擇演算法;部分演算法需要對屬性特徵值進行正規化。
b. 建議使用AUC對演算法參數進行最佳化;其他效能指標如accuracy、TPR、FPR等均需計算顯現。
c. 因為本資料集的正負類別比例極不均衡(492 frauds out of 284807 transactions;0.172%),在切割產生train、validation、test等資料集時,可嘗試將train內部的正負類別比例調節為1:1。
程式分別使用3種方式的資料進行訓練+測試
1原資料直接訓練測試
原始資料進行訓練AUC的值還算正常,但FPR因為答案為0的資料佔絶大多數而造成效能達100%,ACC、TPR、FPR則似乎沒有參考意義
2.先用程式取出資料中正負類別相同的資料進行訓練+測試—下採樣
3.使用imblearn.over_sampling的SMOTE Function將少數的類別模擬過後,數量和多數類別筆數相同後進行訓練+測試—過採樣
程式如附件
另外下採樣和過採樣的程式處理方式可另參考
http://www.wgate.tw/sub_qa.php?mskd=&msid=K00178
的處理方式。