规则挖掘不止决策树:五族方法怎么选?

发布时间:2026/8/26 16:46:36

规则挖掘不止决策树:五族方法怎么选?
决策树是主力,但不是唯一。实战挖规则有五族方法,按场景选:树基类:单棵全树抽规则、序列覆盖、级联树——适合从数据自动找切割;评分卡 WOE 基:WOE 逻辑回归,把变量转 WOE 后做回归,得到可解释的评分卡——适合需要稳定分数的场景;专家修正类:专家硬规则 拒绝推断——适合强监管、必须有明确规则的领域;分群交互类:聚类分群、交互探测——适合某两类变量组合才坏的隐藏风险;黑箱提取类:RuleFit、SkopeRules、关联规则——从复杂模型里提取可读规则,兼顾区分度和可解释。树基类实战DecisionTreeClassifier 抽取规则下面用 sklearn 的 DecisionTreeClassifier 训练一棵浅树并导出可读规则。关键步骤切分数据、训练模型、用 export_text 输出规则。import pandas as pd from sklearn.tree import DecisionTreeClassifier, export_text from sklearn.model_selection import train_test_split 1. 构造示例数据两个特征目标为 0/1 df pd.DataFrame({ income: [3, 8, 5, 12, 6, 15, 4, 9], age: [25, 45, 30, 50, 28, 55, 22, 40], bad: [0, 1, 0, 1, 0, 1, 0, 1] }) X df[[income, age]] y df[bad] 2. 切分训练集和测试集 X_train, X_test, y_train, y_test train_test_split( X, y, test_size0.25, random_state42 ) 3. 训练浅树限制深度便于抽规则 clf DecisionTreeClassifier(max_depth2, random_state42) clf.fit(X_train, y_train) 4. 输出可读规则 print(export_text(clf, feature_names[income, age])) 输出示例 |--- income 6.50 | |--- class: 0 |--- income 6.50 | |--- age 47.50 | | |--- class: 1 | |--- age 47.50 | | |--- class: 1运行后可以看到模型自动找到 income 和 age 的切割点形成“收入低 → 好客户收入高且年龄适中 → 坏客户”的规则适合直接用于业务解释。评分卡 WOE 基实战scorecardpy 构建评分卡下面用 scorecardpy 完成变量分箱、WOE 转换和逻辑回归得到可解释的评分卡。关键步骤数据切分、变量筛选、分箱与 WOE、训练评分卡。import scorecardpy as sc import pandas as pd 1. 构造示例数据 df pd.DataFrame({ income: [3, 8, 5, 12, 6, 15, 4, 9, 7, 11], age: [25, 45, 30, 50, 28, 55, 22, 40, 35, 48], bad: [0, 1, 0, 1, 0, 1, 0, 1, 0, 1] }) 2. 切分训练集和测试集 train, test sc.split_df(df, bad, seed42) 3. 变量筛选这里直接指定可用变量 train train[[income, age, bad]] test test[[income, age, bad]] 4. 分箱并转换为 WOE bins sc.woebin(train, ybad) train_woe sc.woebin_ply(train, bins) test_woe sc.woebin_ply(test, bins) 5. 训练评分卡 card sc.scorecard(bins, train, ybad) score sc.scorecard_ply(train, card) print(score.head()) 输出示例每行给出一个综合评分分数越高代表风险越低运行后可以看到每个变量先被自动分箱再映射为 WOE 值最后通过逻辑回归得到每个分箱的分数。最终输出是一张可直接落地的评分卡适合需要稳定分数和强解释性的场景。怎么选?基本原则:能解释优先用树基/评分卡;强合规用专家硬规则兜底;怀疑有交叉风险用分群交互;已有复杂模型想提取规则用黑箱提取。一张速查表:追求快和可解释 → 树基;追求稳定分数 → WOE 评分卡;监管要求硬规则 → 专家修正;隐藏交叉 → 分群交互;复杂模型复用 → 黑箱提取。

相关新闻

具身智能需要什么样的数据?本能驱动如何打破行业数据困局

具身智能需要什么样的数据?本能驱动如何打破行业数据困局

2026/8/26 16:46:36

具身智能需要什么样的数据?本能驱动如何打破行业数据困局当前具身智能的技术竞争,早已从模型参数堆叠、硬件性能比拼,进入数据驱动的核心博弈阶段。无论是VLA视觉语言架构、WAM世界行动模型,还是各类传统规则驱动方案,…

Android 预装 APK 签名冲突详解

Android 预装 APK 签名冲突详解

2026/8/26 16:46:36

摘要Android APK 的签名不仅用于校验文件完整性,还决定应用的身份。预装应用、系统共享用户、覆盖升级和系统权限都依赖签名匹配。本文结合 EShare 集成过程中遇到的 INSTALL_FAILED_SHARED_USER_INCOMPATIBLE,解释 platform、PRESIGNED、android.uid.sy…

医院签字用什么设备更方便?电子签名屏选购指南,看完就知道怎么选

医院签字用什么设备更方便?电子签名屏选购指南,看完就知道怎么选

2026/8/26 16:46:36

在医疗行业数字化转型的浪潮中,电子病历、电子知情同意书、电子处方等无纸化流程正逐步取代传统的纸质单据。医院签字场景涉及患者知情同意、医生诊断确认、护士护理记录、多级审批等多个环节,选择合适的电子签批设备直接影响业务流程效率和签名法律效力…

2026 AI Agent 安全复盘:沙箱逃逸、框架漏洞、上下文劫持,那些被自媒体夸大和真实存在的风险

2026 AI Agent 安全复盘:沙箱逃逸、框架漏洞、上下文劫持,那些被自媒体夸大和真实存在的风险

2026/8/26 17:46:39

摘要2026 年,AI Agent 不再只是概念,已经大量走进开发、运维、业务系统。随着落地变多,各类安全问题也集中暴露出来:大厂实验室爆出沙箱逃逸、智能体越权,开源框架曝出高危 CVE 漏洞,上下文劫持、插件供应链…

多数内网安全事故,皆死于「碎片化工具」

多数内网安全事故,皆死于「碎片化工具」

2026/8/26 17:46:39

一、安全投入逐年增长,内网安全“获得感”却在下降 一个耐人寻味的现象正在政企安全领域蔓延:安全预算连年增加,安全团队不断扩充,合规清单上的项目逐一打勾,但安全负责人心里的那根弦,却绷得越来越紧。 原…

【凌鸥LKS32】基础篇(七)·软件触发ADC采集电位器电压

【凌鸥LKS32】基础篇(七)·软件触发ADC采集电位器电压

2026/8/26 17:46:39

目录 1. 简介 2. 逐次逼近型ADC(ADC0809) 3. 功能框图(LKS32) 4. ADC基本结构 4.1 量词含义约定 4.2 触发方式 4.3 ADC 通道选择 4.4 中断配置 4.5 ADC 输出数制 4.6 ADC 量程 4.7 ADC 阈值监测 5. 库函数…

AI短剧翻译模型怎么选:200部短剧、15个语种实测看这4个指标

AI短剧翻译模型怎么选:200部短剧、15个语种实测看这4个指标

2026/8/26 17:46:39

短剧出海做多语种翻译时,很多团队第一反应是问:哪个大模型翻译最好? 这个问题看似简单,但如果只看通用翻译能力,很容易选错。短剧不是几句独立字幕,也不是一篇文章翻译。它有连续人物关系、身份反转、称谓变…

芝士算法(模拟)

芝士算法(模拟)

2026/8/26 17:46:39

目录 替换所有问号 提莫攻击 Z字形变换 外观数列 数青蛙 替换所有问号 替换所有问号 public String modifyString(String s) {char[] s1 s.toCharArray();int n s.length();for(int i 0 ; i < n; i){if(s1[i] ?){for(char ch a ; ch < z; ch ){if((i 0 || c…

Go-strings与bytes包字符串操作从零拷贝到高效拼接

Go-strings与bytes包字符串操作从零拷贝到高效拼接

2026/8/26 17:36:38

Go strings与bytes包字符串操作从零拷贝到高效拼接 文章导语 字符串处理是日常开发中最高频的操作之一。Go的strings和bytes包提供了丰富的字符串操作API&#xff0c;但背后隐藏着大量性能优化细节——Builder的正确使用、零拷贝转换、内存分配优化——掌握这些才能写出高性能的…

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

2026/8/26 1:50:39

首先光是一种能量的载体和形态&#xff0c;宏观上观察到的光是由无数个微观的光量子组成的&#xff0c;每个光子在产生的瞬间&#xff0c;其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前&#xff0c;在微观层面&#xff0c;每个光量子的运动轨迹是以波函数所展现…

SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

2026/8/26 1:49:16

1. 通话转接不是“挂断再拨号”&#xff0c;而是SIP会话的动态重定向你有没有遇到过这样的场景&#xff1a;客服坐席A正在和客户通电话&#xff0c;突然需要把这通对话无缝转给专家坐席B&#xff0c;客户完全感知不到中间的断连——既没听到忙音&#xff0c;也没被要求重新拨号…

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

2026/8/26 17:50:58

1. 为什么选择Kolla-ansible来部署单节点OpenStack&#xff1f;如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法&#xff0c;那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

Python random 模块常用函数详解:从入门到实战

Python random 模块常用函数详解:从入门到实战

2026/8/26 0:05:45

目录 1. 引言2. 准备工作3. 基础随机函数4. 序列相关函数5. 随机种子与复现6. 实战案例7. 注意事项8. 常见问题与排查9. 总结 1. 引言 摘要&#xff1a; 本文系统介绍 Python 标准库 random 模块中最常用的随机数生成函数。内容涵盖基础随机函数&#xff08;random()、unifor…

Hermes接入团队协作后,我推翻了三个效率假设

Hermes接入团队协作后,我推翻了三个效率假设

2026/8/26 0:05:45

聊《Hermes真能提效吗&#xff1f;先看流程里最慢的那一步》之前&#xff0c;先说一句实在的&#xff1a;别急着背概念&#xff0c;先看它在真实项目里到底解决什么问题。摘要团队把 Hermes 接进项目三个月后&#xff0c;交付速度没有提升反而慢了。复盘后发现&#xff0c;最先…

免费AI大模型调教指南:打造专属网文写作助手

免费AI大模型调教指南:打造专属网文写作助手

2026/8/26 0:05:45

1. 先搞清楚“AI小说扩展模式”到底能帮你做什么如果你是一个刚开始写网文、或者卡在L3级别以下的作者&#xff0c;最头疼的可能是情节推进不下去、人物对话干瘪&#xff0c;或者世界观设定不够丰满。自己对着空白文档硬憋&#xff0c;效率很低。这时候&#xff0c;一个能理解你…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/22 2:02:26

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具&#xff0c;覆盖选题构思、文献整理、内容生成、格式排版等核心场景&#xff0c;真正帮你高效搞定论文难题。 一、全流程王者&#xff1a;一站式搞定论文全链路&#xff08;一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/22 4:13:47

2026年真正好用的AI论文工具&#xff0c;核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测&#xff0c;千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队&#xff0c;覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/22 1:32:34

告别游戏崩溃&#xff1a;XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…