本次信用卡检测欺诈案例训练模型的大致步骤
一、数据说明
导入数据
读取数据
由于涉及到客户资料的隐私(交易时间、交易卡号、交易银行代码),所以数据已经经过预处理,我们拿到上述数据中只有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 查看不同阈值之间的效果