跳到主内容

risk-rule-design

11Star0Fork0Issue0Watching

面向 DSH 的金融风控规则挖掘插件:自动完成数据质检、单规则挖掘、并行 OR 规则组合最优搜索并输出自包含 HTML 报告。

机审证据5/5方法论数据来源安装命令持续维护DSH 版本风险扫描
机审证据安装命令仓库已核验dsh-plugin Topic许可证READMEAI 百科
语言
JavaScript
License
MIT
分支
main
agent-skilldeepseek-harnessdsh-pluginfinance-risk-analysisrisk-analysis

安装

命令web profile
$ dsh plugin --profile web add dsh-plugin-risk-rule-design

在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程

对话式安装

帮我安装 DeepSeek Harness 插件 pypcfx-glitch/risk-rule-design:先查看仓库 https://github.com/pypcfx-glitch/risk-rule-design 确认安全性,然后执行安装命令并验证插件加载成功。

把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。

一句话定位

为 DSH 提供金融风控规则挖掘能力:给定一份带二分类标签的 CSV 数据(特征 X 与好坏标签 y),自动完成数据质量检查、单规则挖掘、并行 OR 规则组合最优搜索,并输出自包含的 HTML 分析报告。

核心能力

  • 自动数据质检:识别并剔除 ID/流水号/常量/近似唯一/高缺失等无用特征,统计 y 分布与重复行,给出推荐 X 清单
  • 单规则挖掘:连续变量按分位数(默认 1/3/5/95/97/99%)遍历阈值,并尝试「选大 x>=q / 选小 x<=q」两个方向生成候选;分类变量取高坏浓度单值与并集;缺失值也作为一类候选规则
  • 并行 OR 规则组合最优搜索:采用逐层遍历树策略,先以单规则 Lift 前 5% 轮番作第一条规则种子,再按增益逐层扩展,直到召回率无法再提高
  • 五种评估目标:默认 f1(精准率×召回率最平衡),另支持 top_lift / composite / max_lift / min_hit
  • 自包含 HTML 分析报告:内联 CSS 与 SVG 图表,含数据集概览、单变量条形图、组合累积曲线、命中率-Lift 散点图、精准率-召回率曲线,浏览器直接打开
  • 同时注册 1 个专家技能「risk-rule-design」与 3 个工具(rrd_profiling / rrd_mining / rrd_report),可在 DSH 会话中被模型或用户调用

技术实现

  • 语言: JavaScript(ESM,type: module)
  • 关键依赖: 无(仅使用 Node 内置的 node:fs/promises、node:path 与相对导入)
  • 架构模式: 通过 cordis.patch.yml 将插件插入 DSH 宿主(npm 包名形态),在 apply(ctx) 中调用 tools.register 与 skills.register 注册工具与技能;组合搜索使用紧凑位集(Bits/Uint32Array + popcount 表)加速命中计算
  • 入口文件: src/index.js(注册入口);核心引擎 src/engine.js(CSV 解析、类型推断、单规则挖掘、组合搜索);报告生成 src/report.js(自包含 HTML)

适用场景

风控策略人员、数据分析师需要对一份带好坏标签的历史样本做拒绝规则挖掘时使用。典型用法是:你只需要把 CSV 数据集路径给到插件,告诉它哪一列是 y(如 default_flag),插件就会自动跑完「数据质检 → 单规则 → 组合 → 报告」全流程,并告诉你「拒绝任一条规则即拒绝」的最佳组合长什么样。

前置依赖与兼容性

依赖最低版本说明
DSH 宿主未声明通过 cordis.patch.yml 注入,需 DSH 支持 cordis patch 机制
Node>= 18来自 package.json#engines.node;插件零依赖,仅使用 Node 内置模块
平台跨平台纯 JavaScript,无原生模块,无 os/cpu 限制
原生模块无零外部依赖,不依赖任何 node-gyp / 原生扩展

安装方式

dsh plugin --profile web add dsh-plugin-risk-rule-design

配置项

本插件本身无需配置文件。三个工具的核心参数(rrd_mining 的可调项)如下:

参数类型说明默认值
dataset字符串(必填)数据集 CSV 文件的绝对路径(必须包含表头)—
target字符串(必填)目标变量 y 的列名(二分类:bad=1 / good=0)—
objective枚举组合评估目标:f1 / top_lift / composite / max_lift / min_hitf1
hitRateBudget0~1组合命中率(通过率减少)预算上限0.5
cutQuantiles整数数组连续变量的切分分位数(%),遍历「选大/选小」两个方向[1, 3, 5, 95, 97, 99]
minSupport0~1单规则最小支持度(命中占比)0.01
minLift1~100单规则最小 Lift1.05
maxRules1~12组合规则条数上限8
maxCandidates1~40候选规则池上限14
reportDir字符串HTML 报告与挖掘快照的输出目录数据集所在目录
title字符串报告标题风控规则挖掘分析报告

rrd_profiling 与 rrd_report 的参数更少:profiling 仅 dataset+target(外加可选 features/exclude);report 仅 snapshot(必填)+ 可选 reportDir/title/note。

常见问题

Q: 目标变量 y 需要什么格式?

A: 必须是二分类标签。引擎接受 0/1、true/false、good/bad、正常/违约、违约/未逾期、是/否、yes/no 等等价写法,会自动映射为 bad=1/good=0。单一取值(全部为 0 或全部为 1)会直接报错「目标列取值单一,无法挖掘」。

Q: 数据集必须是什么格式?

A: 仅支持 CSV(带表头行)。引擎自带 CSV 解析器,支持引号、转义引号、引号内逗号/换行、CRLF、BOM 等情况。注意 README 示例中出现的 .xlsx 是引导文案,引擎实际只读取 CSV 文本,xlsx 需要先转成 CSV。

Q: 数据量很大时会不会跑得很慢?

A: 组合搜索阶段若行数超过 50000 会自动按等步长抽样加速,但最终全部指标(F1、召回率、命中率、Lift 等)会在全体数据上精确重算,报告中会注明是否抽样。数据量超过 20 万时跳过重复行检查以节省内存。

Q: 输出的 HTML 报告需要联网吗?

A: 不需要。报告是自包含 HTML,CSS 和所有图表(散点图、PR 曲线、条形图)都内联在文件里,没有任何外部资源引用,用任何浏览器直接打开即可。

Q: 五种评估目标(objective)有什么区别?

A: f1(默认)= 精准率与召回率最平衡且都大(F1 最大);top_lift = 组合 Lift 前 5% 内命中率最小者;composite = lift×(1−命中率) 最大;max_lift = 命中率预算内最大化 lift;min_hit = lift 达标下最小化命中率。其中 f1/top_lift 不受 minBadCoverage 约束。

Q: 如何卸载?

A: 运行 dsh plugin --profile web remove dsh-plugin-risk-rule-design,然后重启 dsh web 即可。

Q: 自动剔除的 ID/流水号字段太多了,能不能保留?

A: 引擎按列名正则(如 _id、serialno、编号、手机号 等)+ 卡片基数(≈ 样本数视为近似唯一)+ 常量检测三条规则自动剔除 ID/serialno 列。如确需保留,可在 rrd_profiling 调用时用 features 显式指定要保留的列名。

上手难度

入门 — 准备一份 CSV(二分类标签)+ 调一次 rrd_mining 即可拿到最优组合与 HTML 报告;只有想精细调参(objective、cutQuantiles、branchMin 等)时才需要进一步理解逐层遍历树的搜索逻辑。

已知问题与限制

  • 仅接受 CSV 文本,不直接读取 xlsx/excel;README 用例中出现 .xlsx 路径会触发「找不到数据集文件」错误
  • 目标列必须二分类:单一取值(b0=0 或 b0=1)、非二分类(出现 0/1/2 等多值)都会报错并提示合法取值范围
  • 数据量 > 200000 行时跳过重复行检查(仅在 README/工具描述中以 info 级别提示,不阻断流程)
  • 分类变量并集规则只贪心选前 12 个高坏浓度取值(engine.js:390),对超多取值的分类列可能无法覆盖长尾
  • README 开头自述「还在完善中,欢迎留言指正」,仍处于早期迭代阶段
  • 重复行检查在内存中维护一个 Set(包含全部列拼接字符串),样本量在数十万级别时内存占用不可忽视

查看使用指南 →

该插件的安装步骤、关键要点、FAQ 与兼容性说明(基于已收录字段派生)。

收录徽章

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/pypcfx-glitch/risk-rule-design)

把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。

返回插件目录