override def prepare()

in core/src/main/scala/com/spotify/featran/transformers/OneHotEncoder.scala [59:79]


  override def prepare(a: String): Set[String] = Set(a)

  override def buildFeatures(
    a: Option[String],
    c: SortedMap[String, Int],
    fb: FeatureBuilder[_]
  ): Unit =
    a match {
      case Some(k) =>
        c.get(k) match {
          case Some(v) =>
            fb.skip(v)
            fb.add(name + '_' + k, 1.0)
            fb.skip(math.max(0, c.size - v - 1))
            if (encodeMissingValue) fb.skip()
          case None =>
            addMissingItem(c, fb)
            fb.reject(this, FeatureRejection.Unseen(Set(k)))
        }
      case None => addMissingItem(c, fb)
    }