Spark Pipeline - Как извлечь атрибуты из обученных функций преобразователя - PullRequest
0 голосов
/ 03 июля 2019

Мне нужно извлечь атрибуты из обученных преобразователей, чтобы я мог использовать их для последующего обслуживания, например, границы бина из QuantileDiscretizer, имя для индексации карты из StringIndexer.Например, как извлечь границы бина из «discretizer_trained» в коде ниже.Я не смог найти введение по Google, а также из официальной документации https://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.ml.feature.QuantileDiscretizer

//https://spark.apache.org/docs/latest/ml-features.html#quantilediscretizer
import org.apache.spark.ml.feature.QuantileDiscretizer

val data = Array((0, 18.0), (1, 19.0), (2, 8.0), (3, 5.0), (4, 2.2))
val df = spark.createDataFrame(data).toDF("id", "hour")

val discretizer = new QuantileDiscretizer()
  .setInputCol("hour")
  .setOutputCol("result")
  .setNumBuckets(3)

val discretizer_trained = discretizer.fit(df)

1 Ответ

0 голосов
/ 17 июля 2019

В Scala Spark работает:

  discretizer_trained.getSplits

в вашем примере будет выдавать:

  res1: Array[Double] = Array(-Infinity, 5.0, 18.0, Infinity)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...