我正在使用h2o flow
生成的DRF模型。在针对此模型运行新输入数据时(在带有EasyPredictModelWrapper的java程序中使用其MOJO),有大量UnknownCategoricalLevels
(使用getUnknownCategoricalLevelsSeen()
和{{1}进行检查} methods)。
我的解决方法是仅使用具有超过某个阈值(例如0.90)的预测置信度的那些预测。 IE浏览器。模型选择的classProbability必须大于要使用的阈值。
我的问题是:
getUnknownCategoricalLevelsSeenPerColumn()
实际上不影响类概率值))或者它是有效解决问题的方法?感谢。
答案 0 :(得分:0)
未知的分类级别被视为该列的NA。
在不知道您的数据的详细信息(包括误报和漏报的成本影响)的情况下,我不会说您需要对具有NAs的阈值行进行任何不同的行。 (DR已经很好地处理了NA。)
请注意,内置阈值为max-F1(不是0.5)。因此,如果要更改具有未知值的行的阈值,则它相对于max-F1(不是0.5)。使用自己的阈值当然是一种有效的方法。
如果您希望可视化树木以更容易地了解NAs的行为方式,您可以按照此处的说明进行操作:
还有其他处理策略,例如对分类输入列进行目标编码,并将NA视为平均目标值。 (这有效地将分类变量转换为数字变量,但需要您预处理数据。)