in core/src/main/scala/com/spotify/featran/transformers/HashNHotEncoder.scala [85:101]
override def prepare(a: Seq[String]): HLL =
a.map(hllMonoid.toHLL(_)).fold(hllMonoid.zero)(hllMonoid.plus)
override def buildFeatures(a: Option[Seq[String]], c: Int, fb: FeatureBuilder[_]): Unit =
a match {
case Some(xs) =>
var prev = -1
SortedSet(xs.map(HashEncoder.bucket(_, c)): _*).foreach { curr =>
val gap = curr - prev - 1
if (gap > 0) fb.skip(gap)
fb.add(name + '_' + curr, 1.0)
prev = curr
}
val gap = c - prev - 1
if (gap > 0) fb.skip(gap)
case None => fb.skip(c)
}