探索传统的反欺诈方法
在本练习中,您将尝试用"老办法"在信用卡数据集中寻找欺诈案例。您将先用常见统计量来设定阈值,把欺诈与非欺诈区分开。然后,将这些阈值应用到特征上以检测欺诈。这是在许多反欺诈团队中的常见做法。
统计阈值通常通过查看观测的均值来确定。我们先检查一下,欺诈与非欺诈样本在特征均值上是否存在差异。接着,您将据此设定一些符合直觉的阈值。最后,您会评估这种方法在欺诈检测中的效果如何。
pandas 已以 pd 导入。
本练习是课程的一部分
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']))