扩展MRTask

时间:2015-10-29 19:17:25

标签: scala h2o

我写了一个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))

非常感谢你的帮助!

0 个答案:

没有答案