code: def auc_roc_score(input:Tensor, targ:Tensor):
      "Using trapezoid method to calculate the area under roc curve"
      fpr, tpr = roc_curve(input, targ)
      d = fpr[1:] - fpr[:-1]
      sl1, sl2 = [slice(None)], [slice(None)]
      sl1[-1], sl2[-1] = slice(1, None), slice(None, -1)
      return (d * (tpr[tuple(sl1)] + tpr[tuple(sl2)]) / 2.).sum(-1f auc_roc_score(input:Tensor, targ:Tensor):
      "Using trapezoid method to calculate the area under roc curve"
      fpr, tpr = roc_curve(input, targ)
      d = fpr[1:] - fpr[:-1]
      sl1, sl2 = [slice(None)], [slice(None)]
      sl1[-1], sl2[-1] = slice(1, None), slice(None, -1)
      return (d * (tpr[tuple(sl1)] + tpr[tuple(sl2)]) / 2.).sum(-1)
docs: Using trapezoid method to calculate the area under roc curve