如何处理模型报告任务

数据挖掘 机器学习 集成建模 计分
2022-03-12 07:36:14

我的任务是报告在 h2o 中创建的集成模型,其中包括几种模型子类型,例如随机森林、GBM、线性模型等。最终目标是预测大型电信公司产品的流失率,但方法我们使用可以适用于任何类似的问题。

以这种方式生成的模型包含一些潜在有用的性能度量,例如变量重要性、精度、召回率和其他一些。每个模型大约有 150 个输入变量。

模型分数已用于按十分位数对客户进行分组,并衡量每组的流失率。

目前的情况是分数似乎太好了,这表明我们可能存在数据泄漏问题。例如,对于其中一个模型,第 1 个十分位数捕获了 84% 的流失率,而第 4 个十分位数捕获了 99% 的流失率。

我的任务是了解和报告模型性能的潜在问题,以便我们改进模型并向业务部门推荐行动。我想知道的是:

  1. 我可以执行哪些基本分析来解决数据泄漏问题。
  2. 如何利用模型元数据更好地了解模型性能?
  3. 为了全面完成这项任务,我还应该知道哪些其他重要问题?
1个回答

删除输入数据以测试泄漏

这是一个非常笼统的问题,因此在不知道输入数据的类型和来源的情况下,这可能很难回答。

但是,一般来说,要检查泄漏,您可以在输入变量的某些子集上使用该模型,同时删除其他输入变量。如果您从多个来源获取数据,请尝试从单个来源中删除所有输入变量,然后重新运行您的模型。您也许能够确定数据泄漏的来源。或者,如果计算能力允许,您可以通过删除 150 个输入变量中的每一个或所有两个变量的集合等运行模型来强制执行它。

使用以客户为中心的时间数据

关于模型元数据,我将再次调查数据来源。您是否使用停止使用该服务的客户的完整模式来预测客户流失?我的意思是,不要像今天那样从固定的实时时间段往回看,对所有停止或未停止使用服务的客户,试着从固定的客户时间看。仅使用每位客户使用该服务的第一年的数据,并尝试预测每位客户是否会再使用该服务一年。

在客户放弃服务之前的几个月中,客户放弃服务的警告信号可能很明显,但到那时,您的模型的预测能力可能已经太迟,无法阻止该客户离开。相反,当第一次开始使用该服务时,将每个客户历史记录的时间分量索引为零,并在此数据上运行您的模型。