用傳統方式探索如何抓出詐欺
在這個練習中,你要用「舊方法」嘗試在信用卡資料集中找出詐欺案例。你會先用常見的統計量來設定門檻值,將詐欺與非詐欺分開。接著,把這些門檻套用到特徵上以偵測詐欺。這在詐欺分析團隊中相當常見。
統計門檻通常透過觀察觀測值的平均數來決定。先從檢查詐欺與非詐欺案例之間各特徵的平均數是否不同開始。然後,你會用這些資訊來建立合理的門檻。最後,再檢查這樣做在詐欺偵測上的表現如何。
pandas 已經以 pd 名稱匯入。
本練習屬於課程
Fraud Detection in Python
練習說明
- 使用
groupby()以Class對df分組,並取得各特徵的平均值。 - 建立條件:
V1小於 -3,且V3小於 -5,作為標記詐欺案例的依據。 - 作為效能衡量,使用
pandas的crosstab函式,將我們標記的詐欺案例與實際詐欺案例進行比較。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Get the mean for each group
____.____(____).mean()
# Implement a rule for stating which cases are flagged as fraud
df['flag_as_fraud'] = np.where(np.logical_and(______), 1, 0)
# Create a crosstab of flagged fraud cases versus the actual fraud cases
print(____(df.Class, df.flag_as_fraud, rownames=['Actual Fraud'], colnames=['Flagged Fraud']))