一种简单的方法来测试基于树的分类器是否能很好地转移到目标人群?

数据挖掘 决策树 可能性 迁移学习
2022-02-18 08:09:19

我在种群 A 上训练了一个树集成分类器 (XGBOOST),对其进行了验证,我对其准确性感到满意 (AUC 0.78)。现在我试图将它转移到一个稍微不同的群体 B,并且模型的准确性严重恶化(AUC 0.68)

我尝试通过简单的单变量分析(比较分布)和比较每个特征与标签的相关性来隔离哪些特征没有很好地转移,但找不到任何明显的东西。

有没有办法调试和理解在 A 处持有的模型假设在 B 处不成立?我考虑过比较 A 和 B 中验证群体的每棵树中每个节点的标签分布,从而测试模型假设在 B 处实际持有的所有条件概率。

这会帮助我理解什么坏了?还是我会得到很多微小的差异?还有其他一些我想念的简单方法吗?

(与本次调查相关机器学习学会在未来的数据分布上很好地工作?

2个回答

不确定您是否已经尝试过,但您可能会深入研究 XGBOOST 特征重要性以确定您的模型如何进行预测,然后在这些拆分时对两个总体进行更深入的比较。

这与您提出的建议没有太大区别,但确实可以进行更有针对性的分析;您可能有时间查看更重要的功能之间的更高阶交互。(我假设不可能通过在人口 B 上训练分类器并比较每个模型的预测方式来作弊!)

ELI5LIME也用于调试特征重要性和解释模型预测。

我会训练新模型并用它来划分样本,然后对这些样本集进行探索性数据分析。

例如,仅在总体 B 上训练模型 B 并查看样本intersection(Aonly_wrong, Bonly_correct)可能还想在 A+B 上训练模型,然后进行比较。