搜索

第 93 章 信用卡欺诈用例

download PDF

财务行业使用 pragmatic AI 在多个领域进行决策。个领域是信用卡的收费。当客户在信用卡中识别错误或未识别的收费时,客户可能会争取费用。在某些情况下,在某些情况下,需要人为信用卡欺诈的问题,但大多数报告的信用卡欺诈都是完全或部分被攻击的 AI 解析。

Tensorflow™ 和 R™ 等机器学习模型会产生预测模型。您可以在开放式标准(如 PMML)中保存这些预测模型,以便您可以在红帽决策管理器或其他支持 PMML 标准的产品中使用该模型。

93.1. 使用带有 DMN 模型的 PMML 模型来解决信用卡事务争端

本例演示了如何使用红帽决策管理器创建使用 PMML 模型解决信用卡事务争取的 DMN 模型。当客户争取信用卡交易时,系统会决定是否自动处理事务。

先决条件

  • Red Hat Decision Manager 可用,以下 JAR 文件已添加到 ~/kie-server.war/WEB-INF/lib~/business-central.war/WEB-INF/lib 目录中:

    • kie-dmn-jpmml-7.67.0.Final-redhat-00019.jar

      此文件位于红帽客户门户网站的软件 下载页面中 的 Red Hat Decision Manager 7.13 Maven 存储库分发中(需要登录)。此文件的组 ID、工件 ID 和版本(GAV)标识符为 org.kie:kie-dmn-jpmml:7.67.0.Final-redhat-00019。如需更多信息,请参阅 Business Central 的 DMN 文件中的"Including PMML 模型"部分 使用 DMN 模型设计决策服务

    • JPMML Evaluator 1.5.1 JAR 文件
    • JPMML Evaluator Extensions 1.5.1 JAR 文件

      在 KIE 服务器和 Business Central 中启用 JPMML 评估需要这些文件。

      重要

      红帽支持与 PMML(JPMML)的 Java Evaluator API 集成,以便在 Red Hat Decision Manager 中进行 PMML 执行。但是,红帽不支持 JPMML 库。如果您在 Red Hat Decision Manager 发行版本中包括 JPMML 库,请参阅 JPMML 的 Openscoring.io 许可条款。

流程

  1. 创建 dtree_risk_predictor.pmml 文件,其中包含 第 93.2 节 “信用卡事务事务练习 PMML 文件” 中 XML 示例的内容。
  2. 在 Business Central 中,创建 telemetry 卡 Dispute 项目:

    1. 导航到 Menu Design Projects
    2. 单击 Add Project
    3. Name 框中,输入 credit Card Dispute 并点 Add
  3. 在转换 卡 Dispute 项目的 assets 窗口中,将 dtree_risk_predictor.pmml 文件导入 com 软件包:

    import pmml

    1. 单击 Import Asset
    2. Create new Import Asset 对话框中,在 Name 框中输入 dtree_risk_predictor,从 Package 菜单中选择 com,选择 dtree_risk_predictor.pmml 文件,然后单击 OK

      dtree_risk_predictor.pmml 文件的内容会出现在 Overview 窗口中。

  4. com 软件包中创建 Dispute Transaction Check DMN 模型:

    dmn asset

    1. 要返回项目窗口,请在面包 导航栏尾部点击 credit Card Dispute
    2. Add Asset
    3. 在资产库中点 DMN
    4. Create new DMN 对话框中,在 Name 框中输入 Dispute Transaction Check,从 Package 菜单中选择 com,然后单击 OK

      DMN 编辑器会打开,并附带 Dispute Transaction Check DMN 模型。

  5. 创建 tTransaction 自定义数据类型:

    ttransactions

    1. Data Types 选项卡。
    2. Add a custom Data Type
    3. Name 框中输入 tTransaction
    4. Type 菜单中选择 Structure
    5. 要创建数据类型,请单击检查标记。

      tTransaction 自定义数据类型显示一个变量行。

    6. 在变量行的 Name 字段中输入 transaction_amount,从 Type 菜单中选择 Number,然后单击复选标记。
    7. 要添加新变量行,请单击 transaction_amount 行上的加号符号。此时会出现一个新行。
    8. Name 字段中输入 cardholder_identifier,从 Type 菜单中选择 Number,然后点检查标记。
  6. 添加 风险 Predictor dtree_risk_predictor.pmml 模型:

    include model

    1. 在 DMN 编辑器的 已包含模型 窗口中,点 Include Model
    2. Include Model 对话框中,从 Models 菜单中选择 dtree_risk_predictor.pmml
    3. Provide a unique name box 中输入 Risk Predictor,然后单击 OK
  7. 使用 风险预测器和 DecisionTreeClassifier 模型创建 风险预测 商业知识模型(BKM)节点:

    risk predictor function

    1. 在 DMN 编辑器的模型窗口中,将 BKM 节点拖到 DMN 编辑器面板。

      bkm

    2. 重命名节点 风险预测
    3. 点节点左侧的 trash can 图标下的编辑图标。

      risk predictor node

    4. Risk Predictor 框中点 F,然后从 Select Function Kind 菜单中选择 PMMLFP 的更改。
    5. 双击 First select PMML 文档 框,然后选择 Risk Predictor
    6. 双击 Second select PMML model 框,然后选择 DecisionTreeClassifier
    7. 要返回 DMN 编辑器面板,请点击 Back to Dispute Transaction Check
  8. 使用数据类型 t Transaction 创建事务输入数据节点:

    risk transaction

    1. 在 DMN 编辑器的 Model 窗口中,将输入数据节点拖到 DMN 编辑器面板。

      input node

    2. 重命名节点 事务
    3. 选择节点,然后单击窗口右上角的属性铅笔图标。
    4. Properties 面板中,选择 Information Item Data type tTransaction,然后关闭面板。
  9. 创建 事务风险 决策节点,并为该功能添加 事务 节点以进行数据输入 和风险预测 节点:

    model3

    1. 在 DMN 编辑器的模型窗口中,将决策数据节点拖到 DMN 编辑器面板。

      decision node

    2. 重命名节点 事务 Dispute Risk
    3. 选择 风险预测 节点,并将箭头从节点右上角拖到 Transaction Dispute risk 节点。
    4. 选择 事务 节点并将箭头从节点右边拖到 事务 Dispute risk 节点。
  10. 事务 Dispute Risk node 中,创建 风险预测器 调用功能:

    transaction dispute risk

    1. 选择 事务 Dispute Risk 节点,再单击节点左侧的编辑图标。
    2. Select expression,再从菜单中选择 Invocation
    3. Enter 功能 框中输入风险预测器
    4. P1
    5. Edit Parameter 对话框中,在 Name 框中输入 数量,从 Data Type 菜单中选择数字,然后按 Enter 键。
    6. 单击 Select expression再从菜单中选择 Literal 表达式
    7. 在数量 旁边的复选框,输入 Transaction.transaction_ amount
    8. 右键单击 1,然后在下面选择" 插入"。这会打开 Edit Parameter 对话框。
    9. Name 框中输入 holder_index,从 Data Type 菜单中选择 number,然后按 Enter 键。
    10. 单击行 2 上的 Select 表达式再从菜单中选择 Literal 表达式
    11. 数量 旁边的框中输入 Transaction.cardholder_identifier
  11. 使用数据类型 创建 Risk Threshold 输入数据节点:

    model4

    1. 在 DMN 编辑器的 Model 窗口中,将输入数据节点拖到 DMN 编辑器面板。
    2. 重命名节点 风险阈值
    3. 选择节点,然后单击窗口右上角的属性铅笔图标。
    4. Properties 面板中,选择 Information Item Data type number,然后关闭面板。
  12. 创建可 自动处理? 决定节点作为输入 事务 Dispute 风险 和风险 阈值 节点:

    model5

    1. 将决策节点拖到 DMN 编辑器面板并将其重命名为 可自动处理?
    2. 选择该节点,然后单击节点左上角的编辑图标。
    3. 单击 Select expression然后从菜单选择 Literal 表达式
    4. 在方框中输入 Transaction Dispute Risk.predicted_dispute_ risk < Risk Threshold
    5. 选择 事务 Dispute Risk 节点,将节点左上角的箭头拖到 可以自动处理? 节点。
    6. 选择 Risk Threshold 节点,将箭头从节点左下角拖到 可以自动处理? 节点。
  13. 保存模型并构建项目:

    1. 在 DMN 编辑器中,点 Save
    2. 如有必要,更正出现的任何错误。
    3. 要返回项目窗口,请在面包 导航栏尾部点击 credit Card Dispute
    4. 单击 Build。该项目应该能成功构建。
  14. 添加并运行测试场景: AIScenarioSimulations

    1. Add Asset
    2. 选择 Test Scenario
    3. Create new Test Scenario 对话框中,输入名称 Test Dispute Transaction Check,从 Package 菜单中选择 com,然后选择 DMN
    4. 从选择 DMN 资产 菜单中选择 Dispute Transaction Check.dmn 并点 OK。测试模板构建。
    5. 输入以下值并点击 Save

      注意

      不要在 Transaction Dispute Risk 列中添加一个值。这个值由测试场景决定。

      表 93.1. 测试场景参数
      描述risk Thresholdcardholder_identifiertransaction_amount是否可以自动处理?

      风险阈值 5,自动处理

      5

      1234

      1000

      true

      风险阈值 4、数量 = 1000,没有处理

      4

      1234

      1000

      false

      风险阈值 4、数量 = 180,自动处理

      4

      1234

      180

      true

      风险阈值 1、数量 = 1,未处理

      1

      1234

      1

      false

    6. 要运行测试,请单击 Validate 右侧的 Play 按钮。结果会显示在屏幕右侧的 Test Report 面板中。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.