3 python false-positive predict roc auc
如何获得具有 fpr 和 tpr 的 AUC 值?Fpr 和 tpr 只是从这些公式中获得的 2 个浮点数:
my_fpr = fp / (fp + tn)
my_tpr = tp / (tp + fn)
my_roc_auc = auc(my_fpr, my_tpr)
Run Code Online (Sandbox Code Playgroud)
我知道这是不可能的,因为 fpr 和 tpr 只是一些浮点数,它们需要是数组,但我不知道如何做到这一点。我也知道我可以这样计算 AUC:
y_predict_proba = model.predict_proba(X_test)
probabilities = np.array(y_predict_proba)[:, 1]
fpr, tpr, _ = roc_curve(y_test, probabilities)
roc_auc = auc(fpr, tpr)
Run Code Online (Sandbox Code Playgroud)
但出于某些原因,我想避免使用 predict_proba。所以我的问题是:我怎样才能获得 AUC fp, tp, fn, tn, fpr, tpr?换句话说,是否有可能在没有 的情况下获得 AUC roc_curve?
您可以将空间分为两部分:三角形和梯形。三角形就有面积TPR*FRP/2,梯形(1-FPR)*(1+TPR)/2 = 1/2 - FPR/2 + TPR/2 - TPR*FPR/2。总面积为1/2 - FPR/2 + TPR/2. 这就是你如何获得它,只有 2 点。