-
-
Notifications
You must be signed in to change notification settings - Fork 25.9k
Fix roc #6693
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix roc #6693
Conversation
cc: @jnothman |
So, this is effectively a reversion of @jblackburne's #3268, to which @arjoly objected, and which I and @ogrisel agreed was acceptable. You're right that there are solutions with dynamic tolerance. It seems like at least the fixed tolerance should be configurable. |
So what to do? Should I add function parameters to the top-most As you already stated in the corresponding issue, the default should be 0.0, like I implemented it in this PR, the reason being that the user does not even know that some potential thresholds are just discarded because they don't fulfill a more or less arbitrary tolerance threshold. |
I just checked the duplicate PR. I don't think that @arjoly's (understandable!) arguments apply in this case. In my real problem where this bug occured, the reduced number of thresholds suddenly yields artifacts in the ROC curve. I don't want to get into the details of my actual problem, but here you can see what happens. The input gradient norm line (light blue) should look like in this file correct And here, it's not just plotting artifacts, but the evaluation of my classifier is just plaing wrong (from close to perfect to suboptimal...). |
I don't think there's a big problem with adding new parameters. It's better On 21 April 2016 at 23:56, Maximilian Soelch [email protected]
|
OK, will do later. |
Hi, I caused all this with my previous PR. Sorry. Looking back, I could have solved my problem more easily by just rounding my So instead of making the threshold dropping more clever or adding kwargs that almost nobody will ever use, I propose just dropping the |
Thanks for clarification. Upon reconsideration, I don't think extra arguments are the best way. Way too much needs to be changed for little improvement, and documenting it properly is very hard. I second @jblackburne's: It should be left to the user to check |
Well, once atol and rtol are zero, EDIT: That's inaccurate, it's not a no-op. What I mean is that |
That's true, it's redundant. If @jnothman agrees, I will adjust this PR accordingly by simply deleting isclose entirely. |
Okay. Let's revert, assuming @ogrisel's happy with that. :/ |
And thanks for the input @jblackburne, even as I'm sorry we believed you the first time :P |
fixed in #7353. |
Reference Issue
#6688
What does this implement/fix? Explain your changes.
It sets the tolerance threshold to 0.0 so that only identical thresholds are ignored.
Any other comments?
This is a quick fix at the cost of time efficiency. One can think of several fixes, all of which have different drawbacks:
roc_curve
for the user to seta_tol
andr_tol