当前位置: 首页 > news >正文

CoolGuard风控系统配置评分卡、权重策略|QLExpress脚本

最近在思索关于决策流编排中策略、规则、模型等一些设计问题,在考虑未来接入模型(python模型、pmml模型等)时,看到很多同类系统都有评分卡功能,然后就看到这篇文章https://juejin.cn/post/7313979335446020147,然后就发现,这个不是已经实现了,但是从来没有说明怎么利用现有功能来做评分卡。那这篇就详细展开讲一下。

评分卡示例表

变量条件区间分值
age<=2010
>20, 且<=2520
>25, 且<=3530
>35, 且<=4525
>4520
gender10
15
未知0
maritalStatus已婚30
未婚20
未知0

通过代码很容易实现上面的评分卡,那么在系统中应该怎么做?

步骤

字段

首先新增了三个字段

接口

因为是新增的字段,还需要配置在接口请求参数中

然后分别配置策略集、策略、规则

策略集

策略集的chain就是决策流,只是目前还是表达式,不是很友好。

如下图表示的是并行执行策略编码为scorecard的策略,当然一条策略串并差别不大。

策略

策略选择权重模式,设置阈值列表,注意最大的分数要足够大,判断时是从小到大直到满足小于等于。

规则

规则是权重策略下的规则时就不用配置处置了,额外需要配置的是计算表达式。

如下配置了6条规则

年龄的评分规划了5条规则,具体的一条规则如下图,其他类似

性别和婚姻状况的评分可以合并为一条规则,如下图,当然想配置和年龄一样的多条也是可以的

score = 0;
if (N_S_gender == "男") {score = score + 10;
} else if (N_S_gender == "女") {score = score + 15;
} else {score = score + 0;
}if (N_S_maritalStatus == "已婚") {score = score + 30;
} else if (N_S_maritalStatus == "未婚") {score = score + 20;
} else {score = score + 0;
}
return score;

将所有的策略集、策略、规则发布上线后就可以测试了。

测试

因为现在系统还未提供直接测试规则/策略/策略集的方法,只能发接口形式整体测试

或者如下这种方式

测试如上分别设置年龄30、性别男、已婚,结果如下

再对比阈值列表,(56,89]最终结果为视频

权重策略

其实从上面就能理解权重模式的策略了,简单可以归结为下面公式,权重策略最终分数结果就是所有规则的以下两项乘积之和。
f(x)=∑i=0nci(x1)fi(xi)f(\text{x}) = \sum_{i=0}^{n} c_i(x_1)f_i(x_i) f(x)=i=0nci(x1)fi(xi)

ci(xi)c_i(x_i)ci(xi):每个规则条件函数,在代码逻辑中是true/false,但在数据函数中是1/0

fi(xi)f_i(x_i)fi(xi):每个规则的函数

之前是有分享过这篇文章的https://mp.weixin.qq.com/s/_5Cc5IMd1nmJa3asVVV05g,但是现在看看其实很多已经变化了,只能简单参考,后续还需要更新一下。

其他玩法

因为这个评分卡相对简单,其实可以有更多的其他玩法

相比于常规的配置一条条规则外,甚至可以写一条脚本实现,如下

score = 0;if (age <= 20) {score = score + 10;
} else if (age > 20 && age <= 25) {score = score + 20;
} else if (age > 25 && age <= 35) {score = score + 30;
} else if (age > 35 && age <= 45) {score = score + 25;
} else if (age > 45) {score = score + 20;
}if (gender == "男") {score = score + 10;
} else if (gender == "女") {score = score + 15;
} else {score = score + 0;
}if (maritalStatus == "已婚") {score = score + 30;
} else if (maritalStatus == "未婚") {score = score + 20;
} else {score = score + 0;
}return score;

单论这个场景脚本位置不限,可以是在动态脚本里

可以是在一个规则里,创建一个规则把脚本作为表达式就行,需要注意的可能就是上面的age、gender、maritalStatus需要换成之前配置的字段,也就是N_N_age、N_S_gender、N_S_maritalStatus

而且这样也有一个很重要的好处:权重策略以分数为基础最终的产出其实也是处置结果,但实际上更多情况分数还会被再次利用,如上假如评分卡产出是信誉分或其他,还会被后面的规则或模型使用,那么他就不能作为结果产出,而是作为一种数据转换(类似于三方接口拿字段数据)。如果作为动态字段那就很合适了,可以以此作为规则条件,甚至可以作为指标等等。

不过也不是所有的评分卡都适合在动态字段里设置,像上面的例子,需要的字段都已经在动态字段之前就存在,就很适合。

最后

另外这段时间还有其他的更新优化,无法一一列举,只说一些关键的吧。

1、消息模版

做了关于消息模版的校验等优化

2、字段设置

如下图,规则命中动作的字段设置,支持清空、设置常量、设置变量。不过还不支持表达式。

3、字段扩展

新增了字段扩展接口,增加灵活性

项目默认实现,在普通字段解析完成后做一些归属地的字段设置。

see you!


文章转载自:

http://RlHTsFNA.mgnrc.cn
http://4L1UcVah.mgnrc.cn
http://oUzdNAKw.mgnrc.cn
http://R1ti2lI6.mgnrc.cn
http://4bzQpwt4.mgnrc.cn
http://NkHEztAD.mgnrc.cn
http://pZ0ZaBoe.mgnrc.cn
http://448lqAAL.mgnrc.cn
http://fxBrzQpM.mgnrc.cn
http://DxsGA9qo.mgnrc.cn
http://5fRoZHpn.mgnrc.cn
http://KUsqYwBf.mgnrc.cn
http://m5Fq56V5.mgnrc.cn
http://qvdmKUmI.mgnrc.cn
http://fmbJ3SRO.mgnrc.cn
http://w3dghn2R.mgnrc.cn
http://tntrMagX.mgnrc.cn
http://kEP5Bzq1.mgnrc.cn
http://p5kQDeRV.mgnrc.cn
http://sgjTDLl3.mgnrc.cn
http://Y8s1s7mF.mgnrc.cn
http://o1Pihhle.mgnrc.cn
http://yo3BwoQu.mgnrc.cn
http://AsYsTtz1.mgnrc.cn
http://HuFJd0cA.mgnrc.cn
http://ktLyzEeF.mgnrc.cn
http://55B1k6FK.mgnrc.cn
http://W3b3OttD.mgnrc.cn
http://XKIFaADo.mgnrc.cn
http://MtLOwNOM.mgnrc.cn
http://www.dtcms.com/a/368409.html

相关文章:

  • 【FastDDS】Layer Transport ( 02-Transport API )
  • 确保 SQL Server 备份安全有效的最佳实践
  • 盘点完今年CoRL最火的VLA论文,发现最强的机器人,竟是用“假数据”喂大的
  • 新闻丨重庆两江新区党工委副书记、管委会主任许宏球一行莅临华院计算考察指导
  • 基于YOLO目标检测模型的视频推理GUI工具
  • latex公式符号与字体
  • SQL Server事务隔离级别
  • SQL高效处理海量GPS轨迹数据:人员gps轨迹数据抽稀实战指南
  • 查询语言的进化:SQL之后,为什么是GQL?数据世界正在改变
  • 概念 | C标准库STL,C运行时库CRT
  • JAiRouter 配置文件重构纪实 ——基于单一职责原则的模块化拆分与内聚性提升
  • ZooKeeper架构深度解析:分布式协调服务的核心设计与实现
  • ResNet 迁移学习---加速深度学习模型训练
  • Django REST framework:SimpleRouter 使用指南
  • Vue3 频率范围输入失焦自动校验实现
  • 删除元素(不是删除而是覆盖)快慢指针 慢指针是覆盖位置,快指针找元素
  • 代码随想录算法训练营第三天| 链表理论基础 203.移除链表元素 707.设计链表 206.反转链表
  • 结合机器学习的Backtrader跨市场交易策略研究
  • 前端开发vscode插件 - live server
  • 码农的“必修课”:深度解析Rust的所有权系统(与C++内存模型对比)
  • 【Python基础】 17 Rust 与 Python 运算符对比学习笔记
  • 云手机可以息屏挂手游吗?
  • 会话管理巅峰对决:Spring Web中Cookie-Session、JWT、Spring Session + Redis深度秘籍
  • 腾讯云大模型训练平台
  • iPhone17全系优缺点分析,加持远程控制让你的手机更好用!
  • 数据泄露危机逼近:五款电脑加密软件为企业筑起安全防线
  • 阿里云vs腾讯云按量付费服务器
  • DocuAI深度测评:自动文档生成工具如何高效产出规范API文档与数据库表结构文档?
  • React JSX 语法讲解
  • 工厂办公环境如何实现一台服务器多人共享办公