DAI如何在生产环境中处理新的(在培训中看不见的)分类价值?

时间:2019-05-06 02:43:44

标签: python mojo driverless-ai

我想确认DAI在处理训练中未遇到的分类变量时采用了类似的结构,如此答案h2o DRF unseen categorical values handling。我在H2O无人驾驶AI文档中找不到它。

还请说明该链接的某些部分是否已过时(如答案中所述),以及如果发生了不同的情况,将如何处理该链接。请注意h2o DAI的版本。谢谢!

1 个答案:

答案 0 :(得分:1)

以下是当您尝试在训练期间未看到的分类级别上进行预测时的说明。视您使用的DAI版本而定,您可能无权使用某种算法,但在给定算法的情况下,详细信息应适用于您的DAI版本。

  • XGBoost,LightGBM,RuleFit,TensorFlow,GLM

    无人驾驶AI的功能工程流水线将为数据中存在的每个分类级别计算一个数值,无论它是否为先前看到的值。对于频率编码,看不见的电平将替换为0。对于目标编码,将使用目标值的全局平均值。等等

  • FTRL

    FTRL模型无法区分分类值和数字值。无论FTRL在训练期间是否看到特定值,它都会逐行将所有数据散列为数值,然后进行预测。由于您可以将FTRL看作是认真学习数据集中所有可能的值,因此无法保证它将对看不见的数据做出准确的预测。因此,重要的是要确保训练数据集具有唯一值方面的合理“重叠”,并具有用于进行预测的值。

由于DAI使用的算法不同于H2O-3(XGBoost除外),因此最好将它们视为具有不同的看不见水平或缺失值处理方式的单独产品-尽管在某些情况下存在相似之处。

如评论中所述,H2O-3的DRF文档应该是最新的。

希望这种解释有所帮助!