我在R
中构建了一个玩具版的随机森林模型(使用caret
包中的German Credit
数据集),将其导出为PMML 4.0
格式,并部署到Hadoop上,使用了Cascading Pattern
库。
我遇到了一个问题,Cascading Pattern
对相同数据的评分(在二元分类问题中)与R
中的相同模型不同。在200个观测值中,有2个评分不同。
这是为什么呢?这是否可能是由于随机森林实现的差异所导致的?
回答:
German Credit
数据集代表了一种分类问题。分类型随机森林模型的获胜分数只是成员决策树中最常见的类别标签。
假设你有一个包含100个决策树的随机森林模型,其中50个决策树预测“信用良好”,另外50个决策树预测“信用不良”。R
和Cascading Pattern
可能以不同的方式解决这种平局情况——一个选择先看到的分数,另一个选择最后看到的分数。你可以尝试重新训练你的随机森林模型,使用奇数个成员决策树(即使用一些不能被二整除的值,如99或101)。
PMML规范要求返回先看到的分数。我不确定Cascading Pattern
是否关注这些细节。你可以尝试使用一个名为JPMML-Cascading的替代解决方案。