gpt4 book ai didi

python - 如何在不使用 sklearn 的情况下在 Python 中计算 TPR 和 FPR?

转载 作者:行者123 更新时间:2023-12-05 09:10:31 26 4
gpt4 key购买 nike

初始化列表列表:

data = [[1.0, 0.635165,0.0], [1.0, 0.766586,1.0], [1.0, 0.724564,1.0],
[1.0, 0.766586,1.0],[1.0, 0.889199,1.0],[1.0, 0.966586,1.0],
[1.0, 0.535165,0.0],[1.0, 0.55165,0.0],[1.0, 0.525165,0.0],
[1.0, 0.5595165,0.0] ]

创建 Pandas 数据框:

df = pd.DataFrame(data, columns = ['y', 'prob','y_predict']) 

打印数据框。

print(df)

对于这个数据集,我想找到:

  1. 不使用 Sklearn 的混淆矩阵
  2. 不使用 Sklearn 的 TPR 和 FPR 的 Numpy 数组,用于绘制 ROC。

如何在 python 中执行此操作?

最佳答案

您可以计算与不同阈值级别相关的误报率和真报率,如下所示:

import numpy as np

def roc_curve(y_true, y_prob, thresholds):

fpr = []
tpr = []

for threshold in thresholds:

y_pred = np.where(y_prob >= threshold, 1, 0)

fp = np.sum((y_pred == 1) & (y_true == 0))
tp = np.sum((y_pred == 1) & (y_true == 1))

fn = np.sum((y_pred == 0) & (y_true == 1))
tn = np.sum((y_pred == 0) & (y_true == 0))

fpr.append(fp / (fp + tn))
tpr.append(tp / (tp + fn))

return [fpr, tpr]

关于python - 如何在不使用 sklearn 的情况下在 Python 中计算 TPR 和 FPR?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61321778/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com