diff --git a/compare.py b/compare.py index 55ac03dc952746107f00eb9ec26863b8aad05ead..7e4c9a86870dd1b01b4e733d0b9164929b049758 100755 --- a/compare.py +++ b/compare.py @@ -38,7 +38,11 @@ def overlay_ROC(filename, *projects, **kwargs): for p, color in zip(projects, colors): fpr, tpr, threshold = roc_curve(p.y_test, p.scores_test, sample_weight = p.w_test) fpr = 1.0 - fpr - roc_auc = auc(tpr, fpr) + try: + roc_auc = auc(tpr, fpr) + except ValueError: + logger.warning("Got a value error from auc - trying to rerun with reorder=True") + roc_auc = auc(tpr, fpr, reorder=True) ax.grid(color='gray', linestyle='--', linewidth=1) ax.plot(tpr, fpr, label=str(p.name+" (AUC = {:.3f})".format(roc_auc)), color=color) diff --git a/toolkit.py b/toolkit.py index a3794133b4425c76fdf6e9f5ca7653ecbbce83f8..776ae2bbcb162de78cadd12cd63329f15f7969ac 100755 --- a/toolkit.py +++ b/toolkit.py @@ -911,9 +911,12 @@ class ClassificationProject(object): logger.info("Plot ROC curve") fpr, tpr, threshold = roc_curve(self.y_test, self.scores_test, sample_weight = self.w_test) - fpr = 1.0 - fpr - roc_auc = auc(tpr, fpr) + try: + roc_auc = auc(tpr, fpr, reorder=True) + except ValueError: + logger.warning("Got a value error from auc - trying to rerun with reorder=True") + roc_auc = auc(tpr, fpr, reorder=True) plt.grid(color='gray', linestyle='--', linewidth=1) plt.plot(tpr, fpr, label=str(self.name + " (AUC = {})".format(roc_auc)))