我正在使用用h2o flow
生成的DRF模型。当针对这个模型运行新的输入数据(在EasyPredictModelWrapper的java程序中使用它的MOJO )时,有大量的UnknownCategoricalLevels
(使用getUnknownCategoricalLevelsSeen()
和getUnknownCategoricalLevelsSeenPerColumn()
方法进行检查)。
我的解决办法是只使用那些在某个阈值(比如0.90)以上具有预测可信度的预测。即。模型选择的classProbability必须比要使用的阈值更高。
我的问题是:
unknownlevels
实际上不会影响类的概率值),或者它是解决问题的有效方法吗?谢谢。
发布于 2017-11-11 08:00:04
未知的分类级别被视为该列的安娜。
在不了解数据的详细信息(包括假阳性和假阴性的成本影响)的情况下,我不会说您需要对具有NAs的行进行阈值化,这些行与不具有NAs的行有任何不同。(DRF已经很好地处理了NA。)
注意,内置阈值是max-F1 (不是0.5)。因此,如果要更改值未知的行的阈值,则相对于max-F1 (而不是0.5)。使用您自己的阈值当然是一种有效的方法。
如果您想要可视化您的树,以便更容易地查看NAs的行为,您可以按照这里的说明这样做:
还有其他处理它的策略,比如目标--编码你的分类输入列,并将安娜作为平均目标值。(这实际上将一个分类变量转换为一个数字变量,但需要对数据进行预处理。)
https://stackoverflow.com/questions/47025680
复制相似问题