Tidy summarizes information about the components of a model. A model component might be a single term in a regression, a single hypothesis, a cluster, or a class. Exactly what tidy considers to be a model component varies cross models but is usually self-evident. If a model has several distinct types of components, you will need to specify which components to return.

# S3 method for confusionMatrix
tidy(x, by_class = TRUE, ...)

Arguments

x

An object of class confusionMatrix created by a call to caret::confusionMatrix().

by_class

Logical indicating whether or not to show performance measures broken down by class. Defaults to TRUE. When by_class = FALSE only returns a tibble with accuracy and kappa statistics.

...

Additional arguments. Not used. Needed to match generic signature only. Cautionary note: Misspelled arguments will be absorbed in ..., where they will be ignored. If the misspelled argument has a default value, the default value will be used. For example, if you pass conf.lvel = 0.9, all computation will proceed using conf.level = 0.95. Additionally, if you pass newdata = my_tibble to an augment() method that does not accept a newdata argument, it will use the default value for the data argument.

Value

A tibble::tibble with one or more of the following columns:

term

The name of a statistic from the confusion matrix

class

Which class the term is a measurement of

estimate

The value of the statistic

conf.low

Low end of 95 percent CI only applicable to accuracy

conf.high

High end of 95 percent CI only applicable to accuracy

p.value

P-value for accuracy and kappa statistics

See also

Examples

if (requireNamespace("caret", quietly = TRUE)) { set.seed(27) two_class_sample1 <- as.factor(sample(letters[1:2], 100, TRUE)) two_class_sample2 <- as.factor(sample(letters[1:2], 100, TRUE)) two_class_cm <- caret::confusionMatrix( two_class_sample1, two_class_sample2 ) tidy(two_class_cm) tidy(two_class_cm, by_class = FALSE) # multiclass example six_class_sample1 <- as.factor(sample(letters[1:6], 100, TRUE)) six_class_sample2 <- as.factor(sample(letters[1:6], 100, TRUE)) six_class_cm <- caret::confusionMatrix( six_class_sample1, six_class_sample2 ) tidy(six_class_cm) tidy(six_class_cm, by_class = FALSE) }
#> # A tibble: 2 x 5 #> term estimate conf.low conf.high p.value #> <chr> <dbl> <dbl> <dbl> <dbl> #> 1 accuracy 0.2 0.127 0.292 0.795 #> 2 kappa 0.0351 NA NA 0.873