Skip to content

ppppangu/prediction-of-credit-defalut

Repository files navigation

信用卡欺诈检测系统

这是什么?

这是一个检测信用卡欺诈的程序。它通过学习大量的交易数据,找出可疑的欺诈交易。

数据特点和处理

  1. 数据不平衡

    • 正常交易很多,欺诈交易很少(比如1000笔里只有1笔是欺诈)
    • 解决方法:给欺诈交易更大的权重(pos_weight=10.0
  2. 特征处理

    • 对金额、时间等数字进行标准化(变成0附近的数)
    • 把所有特征转成电脑容易理解的格式(StandardScaler处理)

学习过程

  1. 批量学习

    • 每次拿10000笔交易一起学习(batch_size=10000
    • 这样学习更快,也更稳定
  2. 重点关注

    • 用特殊的计分方式(BCEWithLogitsLoss
    • 让程序更关注欺诈交易
    • 宁可多怀疑,也不放过
  3. 动态调整

    • 学习速度会慢慢变慢(learning_rate从0.0001开始降低)
    • 找到最好的判断标准(自动调整threshold
    • 保存最好的模型参数

判断标准

  1. 召回率(Recall):

    • 在所有真实欺诈中,找出了多少
    • 越高越好,说明漏掉的越少
  2. 精确率(Precision):

    • 在所有怀疑是欺诈的交易中,真正是欺诈的比例
    • 要保持在70%以上,避免误报太多
  3. 平衡点

    • 程序会自动找到最佳平衡点
    • 画出图表显示不同标准的效果

使用方法

  1. 准备数据

    data = load_dataset("credit-card-fraud")
  2. 开始训练

    python credit.py
  3. 看结果

    • 终端会显示训练进度
    • 保存的图表显示检测效果
    • threshold_metrics.png显示最佳判断标准

注意事项

  1. 硬件要求

    • 需要NVIDIA显卡
    • 内存8GB以上
    • 硬盘要有足够空间保存模型
  2. 训练时间

    • 完整训练要几个小时
    • 中间会自动保存最好的结果
    • 可以随时停止,下次继续
  3. 效果判断

    • 看召回率是否在提高
    • 精确率不要低于70%
    • 关注F1分数的变化趋势

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages