Comments (5)
This is the same as the request in #41, except specifically requesting support in the ggroc function.
from proc.
Sort of, except the visualization they show should be smoother. I have provided the sklearn version above which you should take a look at. Another issue I've noticed and this prehaps should be a seperate bug issue, is that the ROC curve is sometimes plotting diagonal lines. This absolutely should not happen.
This plot is made using your ggroc() function from a list of roc objects:
It should not be displaying diagonal interpolations between cuts. There should be steps occurring.
from proc.
I don't know what you mean by they should be smoother. Of course if you average many curve the result will be smoother, but this is given by the averaging itself.
By the way diagonal lines in ROC curves are 100% normal.
from proc.
Smoother CI: The blocks of CI are not a very nice solution IMO, if you look at the sklearn method they show the CI as a blurred or shaded area displaying the error bars across the whole plot. Here is an example of this in ggplot2: https://stackoverflow.com/questions/26396149/custom-ggplot2-shaded-error-areas-on-categorical-line-plot
Diagonal Interpolation: I am only passing on a complaint from my supervisor, he's not wrong either. I think he is being nitpicky but it isn't invalid criticism. If you think about what the ROC is it should only grow in steps, as the threshold is increased it does not result in smooth FPR or FNR changes, it jumps as the classification of the datapoints changes. With lots of data it will look smoother since the steps will be smaller but in reality small discrete jumps are occurring. I appreciate that the diagonals are just a result of interpolating between two datapoints but in this case it is technically incorrect. If you look at any other ROC plotting package in R they do not plot the ROC like that because it's technically incorrect.
https://cran.r-project.org/web/packages/plotROC/vignettes/examples.html
The ROC curve should be a sawtoothed curve, no graded continuous changes should be present because it jumps in discrete steps.
from proc.
This is getting out of hand. You're asking about mean which should be smooth, but now suddenly confidence intervals are coming into the picture. You're linking to stack overflow posts which do things but I don't know which part you're referring to. Ultimately I have no clear idea what you're after exactly. Please be very clear and precise with what you'd like, what algorithm should be used, how it should be displayed, etc. See the Feature request template and follow it as much as possible. Please include things rather than link to pages that may change or disappear. Stick to one feature request at a time if possible. Otherwise I'll have to close this one as unclear.
Diagonals are the correct way to handle ties as per ROC definition, see Fawcett's An introduction to ROC analysis. I don't care what your supervisor is thinking, breaking ties other than with the expected segment is wrong. The plotROC package does that too, as expected and as appropriate.
from proc.
Related Issues (20)
- ggroc.list parameter legacy.axes break HOT 2
- One-sided CIs for AUCs HOT 2
- Averaging 10 ROC curves HOT 4
- How to print the threshold without specificity and sensitivity HOT 2
- Cannot create a roc curve with a formula and a with clause HOT 2
- CRAN submission failed with new message Apparent methods for exported generics not registered
- Fix warning: `aes_string()` was deprecated in ggplot2 3.0.0 HOT 1
- Move aes_string() to aes() HOT 1
- Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0. HOT 1
- The `path` argument of `expect_doppelganger()` is deprecated as of vdiffr 1.0.0. HOT 1
- Uncaught warnings in tests HOT 1
- Support for spaces in column names with formula
- A non-monotonic ROC is being produced by ggroc HOT 2
- Obuchowski and McClish (1997) sample size calculation incorrect HOT 6
- pROC, detectable AUC HOT 2
- What does "direction" mean in roc function HOT 3
- Default method parameter in ci.auc function is different from documentation HOT 1
- Example for AUPRC with confidence interval HOT 1
- Incorrect AUC value and CI [bug] HOT 5
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 proc.