R: Matthews correlation coefficient

mcc {yardstick} | R Documentation

## Matthews correlation coefficient

### Description

Matthews correlation coefficient

### Usage

    mcc(data, ...)

    ## S3 method for class 'data.frame'
    mcc(data, truth, estimate, na_rm = TRUE, ...)

    mcc_vec(truth, estimate, na_rm = TRUE, ...)

### Arguments

`data` | Either a `data.frame` containing the `truth` and `estimate` columns, or a `table`/`matrix` where the true class results should be in the columns of the table.
`...` | Not currently used.
`truth` | The column identifier for the true class results (that is a `factor`). This should be an unquoted column name although this argument is passed by expression and supports quasiquotation (you can unquote column names). For `_vec()` functions, a `factor` vector.
`estimate` | The column identifier for the predicted class results (that is also `factor`). As with `truth` this can be specified different ways but the primary method is to use an unquoted variable name. For `_vec()` functions, a `factor` vector.
`na_rm` | A `logical` value indicating whether `NA` values should be stripped before the computation proceeds.

### Value

A `tibble` with columns `.metric`, `.estimator`, and `.estimate` and 1 row of values.

For grouped data frames, the number of rows returned will be the same as the number of groups.

For `mcc_vec()`, a single `numeric` value (or `NA`).

### Relevant Level

There is no common convention on which factor level should automatically be considered the "event" or "positive" result when computing binary classification metrics. In `yardstick`, the default is to use the first level. To alter this, change the argument `event_level` to `"second"` to consider the last level of the factor the level of interest. For multiclass extensions involving one-vs-all comparisons (such as macro averaging), this option is ignored and the "one" level is always the relevant result.

### Multiclass

`mcc()` has a known multiclass generalization and that is computed automatically if a factor with more than 2 levels is provided. Because of this, no averaging methods are provided.

### Author(s)

Max Kuhn

### References

Giuseppe, J. (2012). "A Comparison of MCC and CEN Error Measures in Multi-Class Prediction". PLOS ONE. Vol 7, Iss 8, e41882.

### See Also

Other class metrics: `accuracy()`, `bal_accuracy()`, `detection_prevalence()`, `f_meas()`, `j_index()`, `kap()`, `npv()`, `ppv()`, `precision()`, `recall()`, `sens()`, `spec()`

### Examples

    library(dplyr)
    data("two_class_example")
    data("hpc_cv")

    # Two class
    mcc(two_class_example, truth, predicted)

    # Multiclass
    # mcc() has a natural multiclass extension
    hpc_cv %>%
      filter(Resample == "Fold01") %>%
      mcc(obs, pred)

    # Groups are respected
    hpc_cv %>%
      group_by(Resample) %>%
      mcc(obs, pred)

[Package yardstick version 0.0.9 Index]