mcc {mlr3measures} | R Documentation |
Matthews Correlation Coefficient
Description
Measure to compare true observed labels with predicted labels in multiclass classification tasks.
Usage
mcc(truth, response, positive = NULL, ...)
Arguments
truth |
( |
response |
( |
positive |
( |
... |
( |
Details
In the binary case, the Matthews Correlation Coefficient is defined as
where ,
,
,
are the number of true positives, false positives, true negatives, and false negatives respectively.
In the multi-class case, the Matthews Correlation Coefficient defined for a multi-class confusion matrix with
classes:
where
-
: total number of samples
-
: total number of correctly predicted samples
-
: number of predictions for each class
-
: number of true occurrences for each class
.
The above formula is undefined if any of the four sums in the denominator is 0 in the binary case and more generally if either or
is equal to 0.
The denominator is then set to 1.
When there are more than two classes, the MCC will no longer range between -1 and +1.
Instead, the minimum value will be between -1 and 0 depending on the true distribution. The maximum value is always +1.
Value
Performance value as numeric(1)
.
Meta Information
Type:
"classif"
Range:
Minimize:
FALSE
Required prediction:
response
References
https://en.wikipedia.org/wiki/Phi_coefficient
Matthews BW (1975). “Comparison of the predicted and observed secondary structure of T4 phage lysozyme.” Biochimica et Biophysica Acta (BBA) - Protein Structure, 405(2), 442–451. doi:10.1016/0005-2795(75)90109-9.
See Also
Other Classification Measures:
acc()
,
bacc()
,
ce()
,
logloss()
,
mauc_aunu()
,
mbrier()
,
zero_one()
Examples
set.seed(1)
lvls = c("a", "b", "c")
truth = factor(sample(lvls, 10, replace = TRUE), levels = lvls)
response = factor(sample(lvls, 10, replace = TRUE), levels = lvls)
mcc(truth, response)