本次信用卡檢測欺詐案例訓練模型的大致步驟
一、數據說明
導入數據
讀取數據
由于涉及到客戶資料的隱私(交易時間、交易卡號、交易銀行代碼),所以數據已經經過預處理,我們拿到上述數據中只有v1,v2....等一些匿名數據字段。直接使用即可
現在我們要做的是使用二分類算法(邏輯回歸)區分正常樣本和異常樣本進行區分,用0或1作為區分結果
class字段 就是作為區分的結果 (1代表異常樣本,0代表正常樣本)
amount字段 代表貸款金額? ?,上表中該字段的分布差異很大,會影響數據模型的重要程度,因此要做歸一化,減小影響
二、數據處理
1.查看正常樣本與異常樣本的比例
可以看出0和1 樣本極度不均衡,因此可以使用上采樣或者下采樣
下采樣:讓兩個樣本同樣少(隨機抽取數據正常樣本數據,讓正常樣本和異常樣本一樣少)
過采樣:讓兩個樣本一樣多(添加異常樣本數據,讓異常樣本數量和正常樣本數量一樣多)
2.歸一化處理
normAmount列就是歸一化后的數據
3.下采樣處理:讓兩個樣本同樣少(隨機抽取數據正常樣本數據,讓正常樣本和異常樣本一樣少)
4.交叉驗證(訓練集數據)
4.1切分數據為訓練集和測試集
最后通過原始數據的模型,來測試下采樣過后的樣本數據集
4.2對訓練集數據做交叉驗證
數據測試集分成5份進行驗證
驗證結果
定義一個熱力圖函數,方便調用
4.3混淆矩陣,下采樣的測試集
混淆矩陣,原數據的測試結果
發現多3488的數據進行錯誤篩選,混淆矩陣效果較好
在原數據中樣本錯誤率偏高,混淆矩陣效果不好
4.4 查看不同閾值之間的效果