如何获得具有fpr和tpr的AUC值?Fpr和tpr仅仅是从这些公式中获得的2个浮点数:
my_fpr = fp / (fp + tn)
my_tpr = tp / (tp + fn)
my_roc_auc = auc(my_fpr, my_tpr)我知道这是不可能的,因为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)但出于某些原因,我想避免使用predict_proba。所以我的问题是:我怎样才能获得拥有fp, tp, fn, tn, fpr, tpr的AUC?换句话说,有没有可能在没有roc_curve的情况下获得AUC
发布于 2018-06-17 08:30:36
你可以把空间分成两部分:三角形和梯形。三角形将具有面积TPR*FRP/2,即梯形(1-FPR)*(1+TPR)/2 = 1/2 - FPR/2 + TPR/2 - TPR*FPR/2。总面积为1/2 - FPR/2 + TPR/2。这就是你可以得到它的方式,只有2分。
发布于 2019-05-28 13:58:12
可以,可以在不调用roc_curve的情况下获取AUC。
首先需要创建ROC (接收器操作特性)曲线。为了能够使用ROC曲线,您的分类器应该能够对示例进行排名,以便排名较高的示例更有可能是正面的(例如,欺诈性的)。例如,Logistic回归输出概率,这是一个可用于排名的分数。ROC曲线是通过在各种阈值设置下绘制真阳性Pate (TPR)与假阳性率(FPR)的曲线来创建的。举个例子:

通过观察ROC曲线(或AUC)下的面积来确定模型的性能

你可以在here上找到更详细的解释。
https://stackoverflow.com/questions/50848163
复制相似问题