Github user MLnick commented on a diff in the pull request:
https://github.com/apache/spark/pull/19715#discussion_r156323615
--- Diff:
mllib/src/main/scala/org/apache/spark/ml/feature/QuantileDiscretizer.scala ---
@@ -168,20 +168,13 @@ final class QuantileDiscretizer @Since("1.6.0")
(@Since("1.6.0") override val ui
@Since("2.3.0")
def setOutputCols(value: Array[String]): this.type = set(outputCols,
value)
- private[feature] def isQuantileDiscretizeMultipleColumns(): Boolean = {
- if (isSet(inputCols) && isSet(inputCol)) {
- logWarning("Both `inputCol` and `inputCols` are set, we ignore
`inputCols` and this " +
- "`QuantileDiscretizer` will only map one column specified by
`inputCol`")
- false
- } else if (isSet(inputCols)) {
- true
- } else {
- false
- }
- }
-
private[feature] def getInOutCols: (Array[String], Array[String]) = {
- if (!isQuantileDiscretizeMultipleColumns) {
+ require((isSet(inputCol) && isSet(outputCol) && !isSet(inputCols) &&
!isSet(outputCols)) ||
+ (!isSet(inputCol) && !isSet(outputCol) && isSet(inputCols) &&
isSet(outputCols)),
+ "Only allow to set either inputCol/outputCol, or
inputCols/outputCols"
--- End diff --
I think a better message is something like `QuantileDiscretizer only
supports setting either ...`
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]