如何从spark中的ParamMap中提取值

时间:2017-04-07 14:03:41

标签: scala apache-spark apache-spark-mllib apache-spark-ml

我正在使用管道和Crossvalidator在Spark中使用Scala进行一些参数调整。我得到一个包含最佳参数集的ParamMap,但是我不知道如何从这个ParamMap中提取值。假设我的ParamMap被称为params,这就是我尝试的:

params(new Param(????, "maxDepth", "description")

然而Param的第一个参数必须是Identifiable类型,我不知道要传递什么。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

您可以先检查ParamMap中的所有值:

params.toSeq.foreach(pair => {
  println(s"${pair.param.parent} ${pair.param.name} ${pair.param.doc}")
  println(pair.value)
})

然后只检索一个值:

params(new Param(parent, name, doc))

实际上父母可以是一个字符串(非强制性可识别)