in core/src/main/scala/com/spotify/featran/transformers/Bucketizer.scala [84:99]
override def featureDimension(c: Unit): Int = splits.length - 1
override def featureNames(c: Unit): Seq[String] = names(splits.length - 1)
override def buildFeatures(a: Option[Double], c: Unit, fb: FeatureBuilder[_]): Unit = a match {
case Some(x) =>
if (x < lower || x > upper) {
fb.skip(splits.length - 1)
fb.reject(this, FeatureRejection.OutOfBound(lower, upper, x))
} else {
val e = map.higherEntry(x)
val offset = if (e != null) e.getValue else splits.length - 2
fb.skip(offset)
fb.add(nameAt(offset), 1.0)
fb.skip(splits.length - 2 - offset)
}
case None => fb.skip(splits.length - 1)
}