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

    https://github.com/apache/spark/pull/8079#discussion_r36792673
  
    --- Diff: 
mllib/src/main/scala/org/apache/spark/ml/classification/LogisticRegression.scala
 ---
    @@ -43,36 +42,76 @@ import org.apache.spark.storage.StorageLevel
      */
     private[classification] trait LogisticRegressionParams extends 
ProbabilisticClassifierParams
       with HasRegParam with HasElasticNetParam with HasMaxIter with 
HasFitIntercept with HasTol
    -  with HasStandardization {
    +  with HasStandardization with HasThreshold {
     
       /**
    -   * Version of setThresholds() for binary classification, available for 
backwards
    -   * compatibility.
    +   * Set threshold in binary classification prediction, in range [0, 1].
        *
    -   * Calling this with threshold p will effectively call 
`setThresholds(Array(1-p, p))`.
    +   * If the estimated probability of class label 1 is > threshold, then 
predict 1, else 0.
    +   * A high threshold encourages the model to predict 0 more often;
    +   * a low threshold encourages the model to predict 1 more often.
        *
    -   * Default is effectively 0.5.
    +   * Note: Calling this with threshold p is equivalent to calling 
`setThresholds(Array(1-p, p))`.
    +   *       If both [[threshold]] and [[thresholds]] are set, then they 
must agree in this way,
    +   *       else an [[IllegalArgumentException]] will be thrown.
    +   *
    +   * Default is 0.5.
        * @group setParam
        */
    -  def setThreshold(value: Double): this.type = set(thresholds, Array(1.0 - 
value, value))
    +  def setThreshold(value: Double): this.type
     
       /**
    -   * Version of [[getThresholds()]] for binary classification, available 
for backwards
    -   * compatibility.
    +   * Get threshold for binary classification prediction.
        *
    -   * Param thresholds must have length 2 (or not be specified).
    -   * This returns {{{1 / (1 + thresholds(0) / thresholds(1))}}}.
    +   * @return If [[threshold]] is set, returns that value.
    +   *         Otherwise, if [[thresholds]] is set with length 2 (i.e., 
binary classification),
    +   *         this returns the equivalent threshold: {{{1 / (1 + 
thresholds(0) / thresholds(1))}}}.
    +   *         Otherwise, returns [[threshold]] default value.
    +   * @group getParam
    +   * @throws RuntimeException if [[thresholds]] is set to an array of 
length other than 2.
    +   */
    --- End diff --
    
    Right


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

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

Reply via email to