UnknownCategoricalLevels如何影响H2O模型预测的置信度值

时间:2017-10-30 23:22:51

标签: machine-learning h2o

我正在使用h2o flow生成的DRF模型。在针对此模型运行新输入数据时(在带有EasyPredictModelWrapper的java程序中使用其MOJO),有大量UnknownCategoricalLevels(使用getUnknownCategoricalLevelsSeen()和{{1}进行检查} methods)。

我的解决方法是仅使用具有超过某个阈值(例如0.90)的预测置信度的那些预测。 IE浏览器。模型选择的classProbability必须大于要使用的阈值。

我的问题是:

  1. 这个解决方案是错误的(即实际上没有解决/解决问题(例如getUnknownCategoricalLevelsSeenPerColumn()实际上不影响类概率值))或者它是有效解决问题的方法?
  2. 有没有更好的方法来解决这个问题?
  3. 感谢。

1 个答案:

答案 0 :(得分:0)

未知的分类级别被视为该列的NA。

在不知道您的数据的详细信息(包括误报和漏报的成本影响)的情况下,我不会说您需要对具有NAs的阈值行进行任何不同的行。 (DR已经很好地处理了NA。)

请注意,内置阈值为max-F1(不是0.5)。因此,如果要更改具有未知值的行的阈值,则它相对于max-F1(不是0.5)。使用自己的阈值当然是一种有效的方法。

如果您希望可视化树木以更容易地了解NAs的行为方式,您可以按照此处的说明进行操作:

还有其他处理策略,例如对分类输入列进行目标编码,并将NA视为平均目标值。 (这有效地将分类变量转换为数字变量,但需要您预处理数据。)