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

    https://github.com/apache/spark/pull/19993#discussion_r161681586
  
    --- Diff: mllib/src/main/scala/org/apache/spark/ml/param/params.scala ---
    @@ -249,6 +250,27 @@ object ParamValidators {
       def arrayLengthGt[T](lowerBound: Double): Array[T] => Boolean = { 
(value: Array[T]) =>
         value.length > lowerBound
       }
    +
    +  /**
    +   * Checks that either inputCols and outputCols are set or inputCol and 
outputCol are set. If
    +   * this is not true, an `IllegalArgumentException` is raised.
    +   * @param model
    +   */
    +  private[spark] def checkMultiColumnParams(model: Params): Unit = {
    +    model match {
    +      case m: HasInputCols with HasInputCol if m.isSet(m.inputCols) && 
m.isSet(m.inputCol) =>
    +        raiseIncompatibleParamsException("inputCols", "inputCol")
    +      case m: HasOutputCols with HasOutputCol if m.isSet(m.outputCols) && 
m.isSet(m.outputCol) =>
    +        raiseIncompatibleParamsException("outputCols", "outputCol")
    +      case _ =>
    +    }
    --- End diff --
    
    I am not sure if #20146 will get merged for `2.3` - but I think we must 
merge this PR for `2.3` because I'd prefer not to have this inconsistency in 
param error handling between `QuantileDiscretizer` and `Bucketizer`. This is a 
relatively small change, so we can merge it into the branch if we move it 
quickly.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to