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

How do UnknownCategoricalLevels affect the confidence values of H2O model predictions

我正在使用 h2o flow 生成的 DRF 模型。当 运行 针对此模型输入新数据时(在 java 程序中使用其 MOJO 和 EasyPredictModelWrapper), there are a large number of UnknownCategoricalLevels (checking with the getUnknownCategoricalLevelsSeen() and getUnknownCategoricalLevelsSeenPerColumn() methods)。

我的解决方法是仅使用那些预测置信度高于特定阈值(比如 0.90)的预测。 IE。模型选择的 classProbability 必须大于要使用的阈值。

我的问题是:

  1. 这个解决方案是错误的(即实际上 address/workaround 不是问题(例如 unknownlevels 实际上不影响 class 概率值))还是它问题的有效解决方法?
  2. 有没有更好的方法来解决这个问题?

谢谢。

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

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

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

如果您想可视化您的树以更轻松地查看 NA 的行为方式,您可以按照此处的说明进行操作:

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