1

我已经构建了一个玩具随机森林模型R(使用包中的German Credit数据集caret),使用库将其导出PMML 4.0并部署到 Hadoop 上Cascading Pattern

我遇到了一个问题,即Cascading Pattern对相同数据的评分(在二进制分类问题中)与R. 在 200 次观察中,有 2 次得分不同。

为什么是这样?可能是由于随机森林的实施有所不同吗?

4

2 回答 2

2

German Credit数据集代表一个分类类型的问题。分类型 RF 模型的获胜分数只是成员决策树中出现频率最高的类别标签。

假设您有一个包含 100 棵决策树的 RF 模型,其中 50 棵决策树预测“信用良好”,另外 50 棵决策树预测“信用不良”。有可能以不同RCascading Pattern方式解决这种平局情况——一个选择最先看到的分数,另一个选择最后看到的分数。您可以尝试使用奇数个成员决策树重新训练您的 RF 模型(即使用一些不可被 2 整除的值,例如 99 或 101)。

PMML 规范要求返回最先看到的分数。我不确定是否Cascading Pattern会注意这些细节。您可能想尝试一种称为JPMML-Cascading的替代解决方案。

于 2014-10-18T06:43:50.383 回答
1

分数匹配很重要。当模型从科学家的桌面移动到生产 IT 部署环境时,分数需要匹配。对于分类任务,这还包括所有目标类别的概率。有时不同的实现/平台之间存在精度问题,这可能会导致最小的差异(实际上是最小的)。无论如何,它们也需要被检查。

显然,也可能是模型在 PMML 中没有正确表示的情况……在 R PMML 包中不太可能。另一种选择是模型未正确部署。也就是说,级联使用的评分引擎没有正确解释 PMML 文件。

PMML 本身有一个名为 ModelVerification 的模型元素,它允许 PMML 文件包含评分数据,然后可以将这些数据用于评分匹配。这很有用但不是必需的,因为您应该能够对已经评分的数据集进行评分,并将计算结果与您已经在做的预期结果进行比较。

有关 PMML 中的模型验证和分数匹配以及错误处理的更多信息,请查看: https: //support.zementis.com/entries/21207918-Verifying-your-model-in-ADAPA-did-it-upload-correctly-

于 2014-10-18T13:35:45.257 回答