Github user jkbradley commented on a diff in the pull request:

    https://github.com/apache/spark/pull/19208#discussion_r148885817
  
    --- Diff: 
mllib/src/main/scala/org/apache/spark/ml/tuning/CrossValidator.scala ---
    @@ -282,12 +328,40 @@ object CrossValidatorModel extends 
MLReadable[CrossValidatorModel] {
     
         ValidatorParams.validateParams(instance)
     
    +    protected var shouldPersistSubModels: Boolean = if 
(instance.hasSubModels) true else false
    +
    +    /**
    +     * Extra options for CrossValidatorModelWriter, current support 
"persistSubModels".
    +     * if sub models exsit, the default value for option 
"persistSubModels" is "true".
    +     */
    +    @Since("2.3.0")
    +    override def option(key: String, value: String): this.type = {
    +      key.toLowerCase(Locale.ROOT) match {
    +        case "persistsubmodels" => shouldPersistSubModels = value.toBoolean
    +        case _ => throw new IllegalArgumentException(
    +          s"Illegal option ${key} for CrossValidatorModelWriter")
    +      }
    +      this
    +    }
    +
         override protected def saveImpl(path: String): Unit = {
           import org.json4s.JsonDSL._
    -      val extraMetadata = "avgMetrics" -> instance.avgMetrics.toSeq
    +      val extraMetadata = ("avgMetrics" -> instance.avgMetrics.toSeq) ~
    +        ("shouldPersistSubModels" -> shouldPersistSubModels)
    --- End diff --
    
    Let's have 1 name for this argument: "persistSubModels"


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to