我写了一个Miss Class来扩展MRTask以检查H2oFrame中的缺失值。这就是我所做的
package org.apache.spark.h2o.utils
import water.fvec.{NewChunk, Frame, Chunk}
import water._
class Miss extends MRTask[Log] {
override def map(c: Chunk, nc: NewChunk): Unit = {
for (row <- 0 until c.len()) {
if(c.atd(row).isNaN){
nc.addNum(0)
}
else
nc.addNum(1)
}
}
}
正如你所看到的,当一行是NaN时,我们可以在新列中获得0。如果我想使用0以外的数字来标记缺失值,我必须更改我的代码才能执行此操作。我可以在我的Miss Class中添加一个新的参数X吗?当我打电话给这堂课时,我可以写一些像
这样的东西H2OFrame.add(new Miss(8).doAll(1, pred.vec(0)).outputFrame(Array("Miss"), null))
非常感谢你的帮助!