metric_constrain | R Documentation |
For example, calculate sensitivity where a lower bound (minimal desired value) for specificty can be defined. All returned metric values for cutpoints that lead to values of the constraining metric below the specified minimum will be zero. The inputs must be vectors of equal length.
metric_constrain( tp, fp, tn, fn, main_metric = sensitivity, constrain_metric = specificity, min_constrain = 0.5, suffix = "_constrain", ... ) sens_constrain( tp, fp, tn, fn, constrain_metric = specificity, min_constrain = 0.5, ... ) spec_constrain( tp, fp, tn, fn, constrain_metric = sensitivity, min_constrain = 0.5, ... ) acc_constrain( tp, fp, tn, fn, constrain_metric = sensitivity, min_constrain = 0.5, ... )
tp |
(numeric) number of true positives. |
fp |
(numeric) number of false positives. |
tn |
(numeric) number of true negatives. |
fn |
(numeric) number of false negatives. |
main_metric |
Metric to be optimized. |
constrain_metric |
Metric for constraint. |
min_constrain |
Minimum desired value of constrain_metric. |
suffix |
Character string to be added to the name of main_metric. |
... |
for capturing additional arguments passed by method. |
Other metric functions:
F1_score()
,
Jaccard()
,
abs_d_ppv_npv()
,
abs_d_sens_spec()
,
accuracy()
,
cohens_kappa()
,
cutpoint()
,
false_omission_rate()
,
misclassification_cost()
,
npv()
,
odds_ratio()
,
p_chisquared()
,
plr()
,
ppv()
,
precision()
,
prod_ppv_npv()
,
prod_sens_spec()
,
recall()
,
risk_ratio()
,
roc01()
,
sensitivity()
,
specificity()
,
sum_ppv_npv()
,
sum_sens_spec()
,
total_utility()
,
tpr()
,
tp()
,
youden()
## Maximum sensitivity when Positive Predictive Value (PPV) is at least 75% library(dplyr) library(purrr) library(cutpointr) cp <- cutpointr(data = suicide, x = dsi, class = suicide, method = maximize_metric, metric = sens_constrain, constrain_metric = ppv, min_constrain = 0.75) ## All metric values (m) where PPV < 0.75 are zero plot_metric(cp) cp$roc_curve ## We can confirm that PPV is indeed >= 0.75 cp %>% add_metric(list(ppv)) ## We can also do so for the complete ROC curve(s) cp %>% pull(roc_curve) %>% map(~ add_metric(., list(sensitivity, ppv))) ## Use the metric_constrain function for a combination of any two metrics ## Estimate optimal cutpoint for precision given a recall of at least 70% cp <- cutpointr(data = suicide, x = dsi, class = suicide, subgroup = gender, method = maximize_metric, metric = metric_constrain, main_metric = precision, suffix = "_constrained", constrain_metric = recall, min_constrain = 0.70) ## All metric values (m) where recall < 0.7 are zero plot_metric(cp) ## We can confirm that recall is indeed >= 0.70 and that precision_constrain ## is identical to precision for the estimated cutpoint cp %>% add_metric(list(recall, precision)) ## We can also do so for the complete ROC curve(s) cp %>% pull(roc_curve) %>% map(~ add_metric(., list(recall, precision)))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.