如何找到纯度高的“区域”

数据挖掘 分类 决策树
2022-03-05 08:29:58

我正在将 ML 模型(LGBM 二元分类器)应用于数据,现在想识别我的假阴性率低(假阳性不是这样的问题)和尽可能真实的数据部分 -底片。

背景

我正在分类的数据来自一个系统,其中包括许多复杂的规则,这些规则决定公司是否在某些情况下支付商誉/保修。在许多情况下,这个基于规则的系统已经完成了决定并启动了支付。但是,在某些情况下,此基于规则的系统无法最终确定决策,而是将案例与提议的决策一起转发到手动决策过程。似乎这种情况也经常发生,因为规则(高度可配置)不够清晰,或者因为价格依赖部分没有根据通货膨胀进行调整等。

现在在这种配置中,事实证明,手动决策过程通常只接受建议的决策。我正在训练一个 ML 模型(LGBM 分类器)来识别案例,在这些案例中,手动决策过程导致只接受提议的决策而不更改它。

动机

我只对确定可以接管规则系统提出的决策的情况感兴趣,因为我想减少必须手动检查的决策数量。我的模型目前的 MAE 约为 0.8。

我现在想找到一段数据,其中假阴性的比率(模型声明的决策,它们不需要改变,但实际上决策者改变了它们)最小(或低于某个阈值-->说0.02)。

问题

任何人都可以建议,我怎么能找到这样一个假阴性率低的区域(区域中的假阴性按区域中的样本数量)?我想过一个简单的决策树,但想知道是否有更好的选择。

例如,我怀疑,如果叶子包含高比例的 95% 1 类样本和 5% 0 类样本,并且某些条件允许将其分成 98% 1 类和 92% 1 类的两个区域,它不会执行该拆分,因为无论如何都将被归类为 1 类,还是我在这里错了?

2个回答

探索数据集的一种方法是使用不同的技术,看看它们是如何形成的。我会考虑的第一种方法是基于树的适度复杂性(或至少没有提升)的学习器,如C4.5。有可能(或者很可能)它的性能不如一些更强大的方法,但它具有相对易读的额外好处。

如果您熟悉决策树可视化,您就会知道您可以非常快速地识别具有高(er)杂质和大量(r)种群的(叶)节点。您可以在此处找到此类可视化的示例这些节点可以帮助您了解您的领域,以及可能如何提高性能(例如,通过提升,LGBM 已经为您做了一些事情)。

如果您想立即优化 LGBM,另一件可以帮助的事情是对您的数据集进行聚类(kMeans 可能是一个很好的起点),然后计算每个聚类的性能指标。可能您还可以考虑对评分项目进行聚类,包括分类,甚至评估(TP、FP、TN、FN)。如果使用得当,可以帮助识别假阴性集群,以及它们共享的共性。免责声明:我自己从来没有这样做过。

PS:很多时候我发现使用KNN(在特征空间的子样本上)和Naive Bayes很有帮助。他们可以快速告诉您有关全球相关性的信息。其他黄金老歌是特征重要性排名和相关图。

也许我没有 100% 理解您所说的区域究竟是什么意思,但假设您的模型输出经过良好校准的概率,您可以直接从预测中读取这些“区域”。在所有概率大于的实例中98%将少于2%底片(基本上根据定义)。

LGBM 分类器应该能够使用(默认情况下)二进制设置中的交叉熵对数损失来产生经过良好校准的概率估计。您可以目视检查它们是否确实经过良好校准。如果它们不是,您可以通过在概率预测上拟合“元”模型来明确校准它们。scikit-learn 文档对概率校准有很好的描述

如果您需要直观地弄清楚可以接管的案例是什么,您可以根据预测的概率对案例进行分类,并进行一些探索性分析。