Description Usage Arguments Details Value Relevant Level Multiclass Implementation Author(s) References See Also Examples

These functions calculate the `sens()`

(sensitivity) of a measurement system
compared to a reference result (the "truth" or gold standard).
Highly related functions are `spec()`

, `ppv()`

, and `npv()`

.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | ```
sens(data, ...)
## S3 method for class 'data.frame'
sens(
data,
truth,
estimate,
estimator = NULL,
na_rm = TRUE,
event_level = yardstick_event_level(),
...
)
sensitivity(data, ...)
sens_vec(
truth,
estimate,
estimator = NULL,
na_rm = TRUE,
event_level = yardstick_event_level(),
...
)
sensitivity_vec(
truth,
estimate,
estimator = NULL,
na_rm = TRUE,
event_level = yardstick_event_level(),
...
)
``` |

`data` |
Either a |

`...` |
Not currently used. |

`truth` |
The column identifier for the true class results
(that is a |

`estimate` |
The column identifier for the predicted class
results (that is also |

`estimator` |
One of: |

`na_rm` |
A |

`event_level` |
A single string. Either |

The sensitivity (`sens()`

) is defined as the proportion of positive
results out of the number of samples which were actually
positive.

When the denominator of the calculation is `0`

, sensitivity is undefined.
This happens when both `# true_positive = 0`

and `# false_negative = 0`

are true, which mean that there were no true events. When computing binary
sensitivity, a `NA`

value will be returned with a warning. When computing
multiclass sensitivity, the individual `NA`

values will be removed, and the
computation will procede, with a warning.

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 `sens_vec()`

, a single `numeric`

value (or `NA`

).

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.

Macro, micro, and macro-weighted averaging is available for this metric.
The default is to select macro averaging if a `truth`

factor with more
than 2 levels is provided. Otherwise, a standard binary calculation is done.
See `vignette("multiclass", "yardstick")`

for more information.

Suppose a 2x2 table with notation:

Reference | ||

Predicted | Positive | Negative |

Positive | A | B |

Negative | C | D |

The formulas used here are:

*Sensitivity = A/(A+C)*

*Specificity = D/(B+D)*

*Prevalence = (A+C)/(A+B+C+D)*

*PPV = (Sensitivity * Prevalence) / ((Sensitivity * Prevalence) + ((1-Specificity) * (1-Prevalence)))*

*NPV = (Specificity * (1-Prevalence)) / (((1-Sensitivity) * Prevalence) + ((Specificity) * (1-Prevalence)))*

See the references for discussions of the statistics.

Max Kuhn

Altman, D.G., Bland, J.M. (1994) “Diagnostic tests 1:
sensitivity and specificity,” *British Medical Journal*,
vol 308, 1552.

Other class metrics:
`accuracy()`

,
`bal_accuracy()`

,
`detection_prevalence()`

,
`f_meas()`

,
`j_index()`

,
`kap()`

,
`mcc()`

,
`npv()`

,
`ppv()`

,
`precision()`

,
`recall()`

,
`spec()`

Other sensitivity metrics:
`npv()`

,
`ppv()`

,
`spec()`

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | ```
# Two class
data("two_class_example")
sens(two_class_example, truth, predicted)
# Multiclass
library(dplyr)
data(hpc_cv)
hpc_cv %>%
filter(Resample == "Fold01") %>%
sens(obs, pred)
# Groups are respected
hpc_cv %>%
group_by(Resample) %>%
sens(obs, pred)
# Weighted macro averaging
hpc_cv %>%
group_by(Resample) %>%
sens(obs, pred, estimator = "macro_weighted")
# Vector version
sens_vec(
two_class_example$truth,
two_class_example$predicted
)
# Making Class2 the "relevant" level
sens_vec(
two_class_example$truth,
two_class_example$predicted,
event_level = "second"
)
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.