Мне нужно извлечь атрибуты из обученных преобразователей, чтобы я мог использовать их для последующего обслуживания, например, границы бина из 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)
В Scala Spark работает:
discretizer_trained.getSplits
в вашем примере будет выдавать:
res1: Array[Double] = Array(-Infinity, 5.0, 18.0, Infinity)