R: Summary Statistics for Confusion Matrices

summary.conf_mat {yardstick} | R Documentation

## Summary Statistics for Confusion Matrices

### Description

Various statistical summaries of confusion matrices are produced and returned in a tibble. These include those shown in the help pages for `sens()`, `recall()`, and `accuracy()`, among others.

### Usage

    ## S3 method for class 'conf_mat'
    summary(
      object,
      prevalence = NULL,
      beta = 1,
      estimator = NULL,
      event_level = yardstick_event_level(),
      ...
    )

### Arguments

`object` | An object of class `conf_mat()`.
`prevalence` | A number in `(0, 1)` for the prevalence (i.e. prior) of the event. If left to the default, the data are used to derive this value.
`beta` | A numeric value used to weight precision and recall for `f_meas()`.
`estimator` | One of: `"binary"`, `"macro"`, `"macro_weighted"`, or `"micro"` to specify the type of averaging to be done. `"binary"` is only relevant for the two class case. The other three are general methods for calculating multiclass metrics. The default will automatically choose `"binary"` or `"macro"` based on `estimate`.
`event_level` | A single string. Either `"first"` or `"second"` to specify which level of `truth` to consider as the "event". This argument is only applicable when `estimator = "binary"`. The default uses an internal helper that generally defaults to `"first"`, however, if the deprecated global option `yardstick.event_first` is set, that will be used instead with a warning.
`...` | Not currently used.

### Value

A tibble containing various classification metrics.

### 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.

### See Also

`conf_mat()`

### Examples

    data("two_class_example")

    cmat <- conf_mat(two_class_example, truth = "truth", estimate = "predicted")
    summary(cmat)
    summary(cmat, prevalence = 0.70)

    library(dplyr)
    library(purrr)
    library(tidyr)
    data("hpc_cv")

    # Compute statistics per resample then summarize
    all_metrics <- hpc_cv %>%
      group_by(Resample) %>%
      conf_mat(obs, pred) %>%
      mutate(summary_tbl = map(conf_mat, summary)) %>%
      unnest(summary_tbl)

    all_metrics %>%
      group_by(.metric) %>%
      summarise(
        mean = mean(.estimate, na.rm = TRUE),
        sd = sd(.estimate, na.rm = TRUE)
      )

[Package yardstick version 0.0.9 Index]