(H2O.ai)如何处理hex.genmodel.easy.EasyPredictModelWrapper.predictBinomial中的空时间戳值

时间:2017-08-11 04:01:25

标签: java h2o

使用h2o,我使用了.csv数据框,其中包含一列日期,其中一些是NULL,用于训练模型。查看解析输入.csv文件后由h2o Flow UI输出的.hex数据帧,空值由. s表示,其余日期表示为时间戳加倍(即自纪元时间以来的毫秒数)

当尝试在java程序中使用模型的MOJO文件进行预测时,在数据集上,我收到错误

Exception in thread "main" java.lang.NullPointerException
        at hex.genmodel.easy.EasyPredictModelWrapper.fillRawData(EasyPredictModelWrapper.java:554)
        at hex.genmodel.easy.EasyPredictModelWrapper.predict(EasyPredictModelWrapper.java:615)
        at hex.genmodel.easy.EasyPredictModelWrapper.preamble(EasyPredictModelWrapper.java:489)
        at hex.genmodel.easy.EasyPredictModelWrapper.predictBinomial(EasyPredictModelWrapper.java:303)
        at SimpleCsvPredictor.predictCsv(SimpleCsvPredictor.java:287)
        at SimpleCsvPredictor.main(SimpleCsvPredictor.java:210)

因为我在数据集的日期列中处理NULL值,方法是在enter image description here对象中将它们设置为null,而模型EasyPredictionModelWrapper可以对其进行预测。

问题在于,对于此列,模型期望Double值。但是没有要传入的Double值,因为该值为null。请注意,我不能将这些空值设置为0.0,因为模型是如何训练的(因为并非所有日期都为空,因此将某些日期设置为零将错误地表示模型的特定样本)。那么我该如何解决这个问题呢?或者我可以把它放在一个预期会出现Double的空位置?

感谢您的建议:)

0 个答案:

没有答案