Comments (3)
Hi, thanks for the report. We have a unit test that checks if the F1-scores from cutpointr
are identical to the ones returned by ROCR
, so I hope the results from cutpointr
are correct.
I'll look into it and will try to check why the difference occurs.
If you have a look at cutpointr::F1_score
you'll see that the code is basically identical to yours:
function(tp, fp, tn, fn, ...) {
f <- (2 * tp) / (2 * tp + fp + fn)
f <- matrix(f, ncol = 1)
colnames(f) <- "F1_score"
return(f)
}
from cutpointr.
Upon reviewing the issue, I'm noticing that you're hardcoding the positive class to be 1
, the negative class to be 0
and direction = ">="
, so that values larger than the threshold indicate the positive class. As the output from cutpointr()
states (also via the messages #> Assuming the positive class is 0
and #> Assuming the positive class has higher x values
), it assumes that the positive class is 0
because it is the class with the higher median value for df_test$resp
.
If you simply specify classes and direction as follows, you'll get an F1-score that is identical to the one from your function:
> cp <- cutpointr(data = df_test, x = pred, class = resp,
+ method = maximize_metric, metric = F1_score,
+ pos_class = 1, direction = ">=")
> cp %>% select(optimal_cutpoint, F1_score)
# A tibble: 1 x 2
optimal_cutpoint F1_score
<dbl> <dbl>
1 0.000465349 0.663995
> dice(pred = df_test$pred, label = df_test$resp, thr = cp$optimal_cutpoint)
[1] 0.6639947
from cutpointr.
I guess I was somehow confused ;-)
Thanks a lot for taking the time to review this and also for pointing out the reasonable messages.
Indeed super clear.
from cutpointr.
Related Issues (20)
- Cutpointr confidence interval predictive positive value HOT 2
- Missing metrics if maximize/minimize_boot_metric HOT 2
- Allow bootstrap stratification for maximize_boot_metric and minimize_boot_metric HOT 1
- Make printing of summary_cutpointr nicer in Rmd documents HOT 1
- 95% confidence intervals instead of getting limits at 5% and 95% in summary of cutpointr HOT 1
- Documentation and cutpointr output suggestion HOT 3
- Confidence Intervals for ROC curves
- Plot a the ROC curve with manual settings HOT 4
- cutpointr() subgroup option how to determine opt_cut$boot list belonging to which subgroup? HOT 2
- Specify a customer cutpoint using oc_manual=avalue ignored? HOT 2
- Can we specify the bootstrap sampling size? HOT 2
- How to access ppv values given a custom cutpoint HOT 2
- How to include more than one predictors? HOT 5
- Calculating confidence intervals in cutpointr HOT 1
- Creating a composite biomarker score using regression coefficients HOT 2
- direction parameter in the cutpointr() HOT 2
- Set manual color for only one line HOT 3
- add_metric adds the metric column multiple times
- An ambiguous region bounded by two cutpoint
- Explain oc_youden Kernel
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cutpointr.