Coder Social home page Coder Social logo

Comments (1)

Thie1e avatar Thie1e commented on May 30, 2024

Hi,

did you use the add_metric function to add PPV and NPV to the results? Maybe you can adapt the code below for your application.

The boot_ci function (which you have already found, I assume) extracts certain percentiles from the bootstrap distribution of metric values. You can select whether to use the in-bag or out-of-bag values.

library(cutpointr)
library(tidyverse)

oc <- cutpointr(suicide, dsi, suicide, boot_runs = 1000, metric = sum_sens_spec)
#> Assuming the positive class is yes
#> Assuming the positive class has higher x values
#> Running bootstrap...

oc <- oc %>% 
    add_metric(metric = list(ppv, npv))

oc
#> # A tibble: 1 x 18
#>   direction optimal_cutpoint method          sum_sens_spec      acc sensitivity
#>   <chr>                <dbl> <chr>                   <dbl>    <dbl>       <dbl>
#> 1 >=                       2 maximize_metric       1.75179 0.864662    0.888889
#>   specificity      AUC pos_class neg_class prevalence outcome predictor
#>         <dbl>    <dbl> <fct>     <fct>          <dbl> <chr>   <chr>    
#> 1    0.862903 0.923779 yes       no         0.0676692 suicide dsi      
#>   data               roc_curve                 boot                    ppv
#>   <list>             <list>                    <list>                <dbl>
#> 1 <tibble [532 x 2]> <roc_cutpointr [13 x 10]> <tibble [1,000 x 27]>  0.32
#>        npv
#>      <dbl>
#> 1 0.990741

# in_bag = FALSE -> apply cutpoints to the out-of-bag observations
boot_ci(x = oc, variable = ppv, in_bag = F)
#> # A tibble: 2 x 2
#>   quantile values
#>      <dbl>  <dbl>
#> 1    0.025  0.167
#> 2    0.975  0.447
boot_ci(x = oc, variable = npv, in_bag = F)
#> # A tibble: 2 x 2
#>   quantile values
#>      <dbl>  <dbl>
#> 1    0.025  0.969
#> 2    0.975  1

Created on 2022-11-10 by the reprex package (v2.0.1)

from cutpointr.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.