Python中的信用卡欺诈检测

Python中的信用卡欺诈检测

平均企业损失不少于 其年度利润的 5% 用于欺诈 ,根据一个 民意调查 的注册欺诈审查员 (CFE),如果公司不采取预防措施,这个数字可能会继续增长。

Source: Unsplash

幸运的是,如今 IT 专家可以借助各种技术检测欺诈交易,例如 Python 中的欺诈检测、应用机器学习 (ML) 分析庞大的数据集以及其他工具。

我们将解释如何使用 Python 来区分欺诈与非欺诈。

检测欺诈场景

什么是欺诈检测?它是我们用来识别未经授权的活动并防止金钱或财产被骗子拿走的策略、流程、方法和技术的集合。

根据这个 Statista的研究 , 大多数公司使用卡验证号 ( 54% ) 和电子邮件 ( 43% ) 用于在线欺诈检测。客户订单历史是另一个受欢迎的资产( 38% ),这就是机器学习算法派上用场的地方。 ML 有助于处理具有许多变量的大型数据集,发现正常用户行为与可能的欺诈活动之间不明显的相关性。

电子商务、医疗科技 金融科技 公司选择最大的安全性,这可以通过机器学习算法来实现,这些算法有助于在 Python 中检测信用卡欺诈。

它究竟是如何工作的?您如何检测在线交易中的欺诈行为? ML 中有多种方法可供选择。例如,以下是我们处理过的案例的简要列表:

1. 保险行业解决方案

  • 虚假声明
  • 重复声明
  • 高估的维修费用

2. 医疗保险解决方案

  • 医疗收据和账单
  • 身份验证

3.电子商务 门户网站 和市场

  • 网上订单欺诈
  • 身份盗窃

4. 银行卡和信用卡

  • 账户盗窃和可疑交易
  • 数据可信度评估
  • 重复交易

总而言之,各种企业聘请可以使用 Python 进行欺诈检测的专业人员。数据科学专家使用机器学习算法尽快处理大量数据并及时发现可疑行为。让我们以信用卡公司为例来看看它是如何工作的。

分类为欺诈检测模型 (Python)

我们处理的一些常见案例是潜在的信用卡诈骗。这对于公司不会损失任何金钱和客户不会因为他们实际上没有购买的东西而被收取费用都很重要。

假设我们有一个包含数十万笔交易的数据集。我们的任务是区分正确的和可疑的,因此我们在 Python 中启动了一个称为信用卡欺诈检测的漫长过程。破解这个案例,我们制作分类模型。

为什么我们选择一个分类模型来发现 Python 的欺诈行为?此方法允许您预测离散变量,例如真/假、是/否、安全/欺诈等。

使用 Python 进行欺诈检测被认为是一种非常有效的工具。 为什么? 有很多原因:

  • 蟒蛇是 最受欢迎的语言之一 ,深受开发者和创业者的喜爱
  • 它相对容易学习,并且有一个庞大的社区随时为您提供帮助
  • 它支持许多 ML 包,可实现更高的准确性
  • 对信用卡欺诈检测有效:Python 使用多种工具来加快复杂流程并及时做出正确决策

在 Python 中处理信用卡欺诈检测项目,我们将经历几个步骤:

  1. 导入和准备数据
  2. 使用探索性数据分析 (EDA) 处理数据
  3. 拆分数据并拟合模型
  4. 构建 6 个分类模型
  5. 借助 3 个指标检查我们的模型

有了这个,让我们深入研究,详细描述这个过程并制作代码示例。

为 Python 中的欺诈检测准备数据

我们首先阅读源数据、研究变量并检查一些样本。我们的目标是了解各种数据列、它们的特征和其他必要信息。

我们通常在 Python 中用于信用卡欺诈检测项目的包和库:

  • 熊猫
  • 数字货币
  • Scikit-学习
  • XGBoost

让我们开始。我们将应用 Pandas 创建一个特定的数据框以供持续使用。

Python 中的示例

Applying Pandas in Python

我们接下来的步骤将包括进一步处理交易数据,包括称为探索性数据分析或 EDA 的方法。

我们确定有多少欺诈和非欺诈行为。运行 Python 代码,我们收到第一个结果。

Python 中的示例

Exploratory Data Analysis in Python

欺诈检测结果(机器学习、Python)

False detection and true detection results

下一步——我们调查有关欺诈交易和非欺诈交易的所有细节。我们在这里感兴趣的是一张包含以下参数的统计图片:

  • 最大值
  • 最小值
  • 平均值的标准差
  • 各种百分位数

使用称为“描述”的方法,我们可以使用 Python 找到所有这些:欺诈检测示例通常包括所有统计信息。

Python 中的示例

Using a method called ‘describe’ in Python

欺诈检测的分析结果(机器学习,Python)

The results of our analysis

我们接下来要做的就是所谓的数据拆分:定义两种变量:依赖(Y)和独立(X)。它在数据科学中也被称为“拆分 xy 测试”。

定义的变量将帮助我们将数据分成两组:

  1. 测试数据
  2. 训练数据

我们将使用这两组来制作欺诈检测模型(Python)并评估最终结果。在编码中,我们应用“train_test_split”算法来有效地分割数据。

Python 中的示例

Using a ‘train_test_split’ algorithm

“拆分 xy 测试”是 ML 中的重要程序之一。

“随机状态”是我们与函数 train_test_split() 一起使用的超参数,用于在拆分之前对数据进行洗牌。

Test_size 是一个参数,用于确定我们将用于测试的数据百分比。

现在我们有两个作为欺诈检测初始数据集划分的结果:机器学习 (Python) 允许我们快速成功地拆分数据。

当我们获得所有必要的组件后,我们可以继续构建和训练模型。

我们如何构建和训练欺诈检测模型 (Python)

在上一步中,我们将数据集分为两部分:测试数据和训练数据。正如他们的名字所暗示的,我们使用第一个来测试结果,而第二个用于训练模型。

使用 Python 进行欺诈检测使我们能够应用分类方法并构建不同的模型。最后,我们将选择给出最准确预测的那些。

6个分类模型包括:

  • K-最近邻 (KNN)
  • 逻辑回归
  • 支持向量机 (SVM)
  • 随机森林
  • XGBoost
  • 决策树

在构建前五个模型时,我们应用了一个开源库 Scikit-learn。至于 XGBoost 欺诈检测模型,Python 支持 XGBoost 包。

这就是我们进行建模的方式。

Python 中的示例

Creating the models

现在,当我们拥有所有 6 个模型时,是时候评估它们中的每一个了。当我们检测到在线订单和信用卡支付中的欺诈行为时,是时候决定哪种模型将被证明是有用的了。

Python 欺诈检测的评估:我们的经验示例

建立模型后,我们开始评估。但首先,让我们定义两个重要的 ML 术语。

  • 真阳性是在模型正确执行时预测阳性类别的结果。
  • 误报是错误地预测正类的结果。

我们使用真假阳性来分析数据集并使用 Python 检测欺诈行为。

在使用 Python 构建了 6 个可以识别欺诈的模型之后,评估它们的质量至关重要。

我们通常应用这三种评估方法:

  • 准确度得分
  • F1_score y 测试
  • 决策树
  • 混淆矩阵

鉴于我们的案例是信用卡欺诈检测,机器学习 (Python) 可以为我们提供关于任何可疑交易的详尽答案。

准确度得分 是机器学习中分类模型的一个简单而基本的评估指标。

准确度得分 = 正确预测数 / 预测总数

你如何用百分比表示?只需乘以 100。

F1分数 是 ML 评估的流行指标。它与召回率和精度等指标密切相关,代表了平衡。

F1 分数 = 2( (精度 * 召回率) / (精度 + 召回率) )

我们可以使用 Scikit-learn 包提供的 f1_score y 测试使用 Python 计算 F1 分数。

决策树 (DT) 是一种用于机器学习的强大方法。关于它的最好的事情之一是您可以直观地表示决策,就像一棵有很多树枝的树。

以下是我们如何在 Python 欺诈检测中使用 DT 作为评估方法:整个过程的示例。

Python 中的示例

Decision tree (DT) method in Python

欺诈检测的评估结果(机器学习,Python)

Our fraud detection results

混淆矩阵 是另一种可视化分类模型结果的方法。我们可以将预测结果存储在一个变量中,以将它们转换为相关表并最终构建一个热图。

在可视化每个模型的混淆矩阵后,我们发现 K-Nearest Neighbors XGBoost 和决策树是我们在信用卡交易中使用 Python 进行欺诈检测的最佳选择。

使用 Python 的其他一些领域

除了欺诈检测项目,我们在哪里应用 Python?几乎无处不在。令人惊奇的是,一种编程语言可以解决各种问题。

以下是 Fively 使用 Python 可以做的事情的简要说明:

1.Python用于Web开发: 我们从头开始创建基于 Web 的应用程序。

Python 支持许多框架,例如 Flask、Django 等。它们可以创造出色的用户体验:以 Spotify 和 Reddit 等网站为例。

2.Python自动化 :我们构建了减少人工工作的解决方案。

Python 非常适合自动化,因为它是函数式且面向对象的。我们的工程师可以为组织开发文件管理工具、自动化报告、电子商务网站、电子邮件营销工具和其他工作流自动化解决方案。

3.Python进行数据分析: 我们为数据科学软件创建功能

由于其简单的语法,Python 是一种理想的数据分析工具,其中包括许多应用案例以及发现可疑活动。我们的 Python 工程师可以为您的数据分析平台做出宝贵贡献,帮助回答许多业务问题:发生了什么?为什么会这样?未来可能会发生什么? - 还有很多。

4.Python 机器学习应用: 我们为应用程序开发 ML 元素

许多项目中都包含大量基于 Python 的功能。例如,它们可以识别图像和语音、翻译和总结文本、提供产品推荐、预测流量等。我们还参与了使用虚拟助手和访问控制的项目。

5.Python用于项目迁移 :我们将旧项目升级到 Python

Fively 的软件开发人员使用 Python 脚本将代码库成功迁移到 Python。这个过程非常快速且非常有效。

6.Python支持和维护: 我们帮助提高客户满意度

在 Fively,我们从不将我们的服务限制在简单的编码和工程上。我们还支持、更新和维护 Python⁠-⁠ 驱动的软件。我们的客户明白,即使是最先进的技术也存在故障和问题。这些只是发生的事情,我们的开发人员帮助阐明问题。在许多情况下,我们会在您注意到之前发现问题。

我们在 Python 的帮助下实现了许多类型的项目。例如,我们的软件工程师提供 定制 Python 软件开发 为任何企业创建智能聊天机器人。自大流行以来,我们为许多远程工作场所启用了 IT 现代化。

今天,我们为每个行业构建解决方案,包括:

  • 电子商务业务应用程序和 ERP
  • 企业任务管理应用
  • 区块链和加密货币应用程序
  • 数据可视化和搜索平台
  • 社交媒体和娱乐应用
  • 电子学习网络应用程序
  • 预订应用程序
  • 数据保护和安全应用

现在让我们回到使用 Python 进行数据分析,并发现使用它的一些困难。我们还将着眼于光明的一面,并列举出现代企业可以通过这项技术获得的许多优势。

用于欺诈检测的机器学习:优点和缺点

使用 ML 和 Python 进行欺诈检测既有优势也有挑战。

优点:

  1. 与其他类型的技术兼容。 一个简单的例子是 DPAPI 或数据保护 API (Python),这是一种与 Python 一起用于处理凭据和其他敏感数据的编程接口。这项技术可能是有益的,例如,在 为企业定制 CRM .
  2. 无偏分析 在机器学习方面。算法只是简单地分析数据而不做假设。
  3. 省时间 这使人们能够专注于困难和创造性的任务。因此,所有工作流程都变得更有效率。
  4. 快速数据处理 使用机器学习系统。它们不仅减少了手动工作、人为错误和偏见,还使流程更容易并改善了用户体验。结合 前沿 行为分析,机器学习算法使验证更简单,减少了步骤数。

这些是优点。那么欺诈检测的缺点呢?我们也可以举几个例子。

挑战:

  1. 需要良好和大量的数据 .在机器学习欺诈检测方面,Python 是一个完美的工具,应该有足够的数据可以使用。否则,您的数据集将不具有统计相关性。
  2. 先进的技术专长。 数据科学家应该深入了解支付欺诈的工作原理以及如何使用 Python 进行欺诈检测。
  3. 开发成本高。 如果一家公司在内部构建欺诈检测工具,他们需要整个数据科学家团队来构建和更新系统。此外,企业投资于大量数据的适当存储和管理。

谈到预算——欺诈检测软件的确切成本是多少?简而言之,这取决于您正在寻找的功能。让我们谈谈它。

欺诈检测软件:功能和成本

对于欺诈检测工具,我们建议您使用与其他工具相同的方法 定制软件开发解决方案 : 决定你迫切需要什么样的功能,什么样的功能可以等待。

在线欺诈检测软件的功能列表通常包括:

  • 实时监控各种来源:数据库、交易、事件、员工和客户活动
  • 自定义设置:创建特定于业务的参数以防止潜在的欺诈行为
  • 交易筛选和实时审查
  • 检测某些模式和异常
  • 为所有用户提供基于角色的访问权限,以防止未经授权的操作

简而言之,创建欺诈检测平台与自定义非常相似 CRM软件开发 和 ERP 应用程序开发。

欺诈检测软件的成本是多少?现成的 SaaS 解决方案的基本计划从每月 25 美元到 1,000 美元不等。总而言之,您每年必须支付 300 至 12000 美元。

供应商通常根据以下数量定价:

  • 交易
  • 查询
  • 规则(验证或分组)
  • 特征

具有高水平客户支持的计划可能每月花费 1250 美元。一些企业需要欺诈检测软件的报价。

尽管在许多情况下,现成的软件是一个不错的选择,但也有一些缺点可能需要认真考虑。

潜在的缺点包括:

  1. 有限的定制:现成的解决方案可能根本不具备您想要的所有功能。
  2. 缺乏灵活性:供应商可能会更改某些功能,而您对此无能为力。
  3. 额外费用:在大多数情况下,随着数据库的增长,您需要支付更多费用。

如果您正在寻找一种能够使用 Python 和机器学习算法进行欺诈检测的解决方案,在许多情况下,构建一个自定义的内部解决方案以从长远来看节省预算是值得的。或者,您可以购买现成的解决方案,并在熟练的数据科学家的帮助下根据您的需求进行定制。

包起来

我们已经讨论了在线欺诈行为的各种场景,发现了使用 Python 和机器学习进行欺诈检测的整个过程,并回顾了此类软件解决方案的一些重要功能。

Python 开发人员 在 Fively 为许多机器学习项目做出了贡献。除此之外,我们从头开始构建基于 Web 的 Python 解决方案,提供到 Python 的迁移,并维护 Python⁠-⁠ 驱动的软件。

Fively 可以帮助您的企业充分利用先进的 IT 技术,所以不要犹豫 保持联系 和我们。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/36846/49221609

posted @   哈哈哈来了啊啊啊  阅读(667)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示