Coder Social home page Coder Social logo

Comments (4)

jo1511 avatar jo1511 commented on May 30, 2024 1

Ok, got it, and worked well!
Many thanks again, you made my day!

jo1511

from cutpointr.

Thie1e avatar Thie1e commented on May 30, 2024

Hi, the easiest way to do that is probably to just take the ROC curve values from the result of cutpointr and plot the ROC curve manually with ggplot. cutpointr returns all the necessary values. Maybe something like this?

library(cutpointr)
library(tidyverse)

cp <- cutpointr(suicide, dsi, suicide) 
#> Assuming the positive class is yes
#> Assuming the positive class has higher x values
    
res_unnested <- cp %>% 
    unnest(cols = roc_curve)
annotation <- paste0("AUC: ", round(cp$AUC, 2), "\n", 
                     "Cutpoint: ", round(cp$optimal_cutpoint, 2))
ggplot(res_unnested, aes(x = 1 - tnr, y = tpr)) +
    xlab("1 - Specificity") +
    ylab("Sensitivity") +
    theme_bw() +
    theme(aspect.ratio = 1) +
    geom_line(color = "blue") +
    geom_vline(xintercept = 1 - cp$specificity, linetype = 2) +
    geom_hline(yintercept = cp$sensitivity, linetype = 2) +
    annotate("text", x = 0.85, y = 0.05, label = annotation) +
    ggtitle("ROC curve",  "with custom styling and annotation")

Created on 2021-11-01 by the reprex package (v2.0.0)

from cutpointr.

jo1511 avatar jo1511 commented on May 30, 2024

Great, many thanks for your fast reply, everything worked well with my data!!!

Just one, probably easy question, if you don't mind.
I used the youden metric with OptimalCutpoints and cutpointr and they gave the same results.
However, when I used the MinValueSp metric with OptimalCutpoints I was not quite sure which metric to use in cutpointr.
I tried spec_constrain and minimize_metric, but that did not give the same results.

Again sorry for my stupidity:-(

Jo1511

from cutpointr.

Thie1e avatar Thie1e commented on May 30, 2024

Hi, no problem. I think it is the other way around:

  • MinValueSp in OptimalCutpoints maximizes sensitivity given a minimum value of specificity given in something like control = control.cutpoints(valueSp = 0.8)
  • spec_constrain in cutpointr optimizes (depending on the chosen function for method) the specificity given a minimum value of another metric, such as sensitivity. For example: constrain_metric = sensitivity, min_constrain = 0.8

If you want to maximize sensitivity given a minimum value for specificity in cutpointr that would be something like:

cutpointr(suicide, dsi, suicide, 
                metric = sens_constrain, 
                method = maximize_metric,
                pos_class = "yes", direction = ">=",
                constrain_metric = specificity, min_constrain = 0.8)

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.