zhengruifeng created SPARK-13435:
------------------------------------

             Summary: Add Weighted Cohen's kappa to MulticlassMetrics
                 Key: SPARK-13435
                 URL: https://issues.apache.org/jira/browse/SPARK-13435
             Project: Spark
          Issue Type: Improvement
          Components: MLlib
            Reporter: zhengruifeng


Add the missing Weighted Cohen's kappa to MulticlassMetrics.
Kappa is widely used in Competition and Statistics.
https://en.wikipedia.org/wiki/Cohen's_kappa

Some usage examples:

val metrics = new MulticlassMetrics(predictionAndLabels)

// The default kappa value (Unweighted kappa)
val kappa = metrics.kappa

// Three built-in weighting type ("default":unweighted, "linear":linear 
weighted, "quadratic":quadratic weighted)
val kappa = metrics.kappa("quadratic")

// User-defined weighting matrix
val matrix = Matrices.dense(n, n, values)
val kappa = metrics.kappa(matrix)

// User-defined weighting function
def getWeight(i: Int, j:Int):Double = {
          if (i == j) {
            0.0
          } else {
            1.0
          }
}
val kappa = metrics.kappa(getWeight) // equals to the unweighted kappa

The calculation correctness was tested on several small data, and compared to 
two python's package:  sklearn and ml_metrics.






--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to