Python 代码实现假正率 (FPR) 和真正率 (TPR) 计算
这段代码定义了两个函数,calculate_fpr 和 calculate_tpr,用于计算假正率和真正率。
calculate_fpr 函数的参数包括真实标签 truelabels、预测值 predictedvalues、样本数量 num_samples 和阈值 j。首先,将预测值转换为二进制标签,即大于等于阈值 j 的被认为是正类,小于阈值 j 的被认为是负类。然后,计算负类样本的数量。接着,计算预测为正类但实际为负类的样本数量。最后,计算假正率,即 false_positive_samples 除以 num_negative_samples。最后返回假正率 fpr。
calculate_tpr 函数的参数和计算过程与 calculate_fpr 函数类似,只是计算的是真正率。计算真正率的方式是计算正类样本中预测为正类且实际为正类的样本数量,然后除以正类样本的数量。最后返回真正率 tpr。
def calculate_fpr(truelabels, predictedvalues, num_samples, j):
# 将预测值转换为二进制标签
predicted_labels = [1 if p >= j else 0 for p in predictedvalues]
# 计算负类样本的数量
num_negative_samples = num_samples - sum(truelabels)
# 计算预测为正类但实际为负类的样本数量
false_positive_samples = sum([1 for tl, pl in zip(truelabels, predicted_labels) if tl == 0 and pl == 1])
# 计算假正率
fpr = false_positive_samples / num_negative_samples
return fpr
def calculate_tpr(truelabels, predictedvalues, num_samples, j):
# 将预测值转换为二进制标签
predicted_labels = [1 if p >= j else 0 for p in predictedvalues]
# 计算正类样本的数量
num_positive_samples = sum(truelabels)
# 计算预测为正类且实际为正类的样本数量
true_positive_samples = sum([1 for tl, pl in zip(truelabels, predicted_labels) if tl == 1 and pl == 1])
# 计算真正率
tpr = true_positive_samples / num_positive_samples
return tpr
原文地址: https://www.cveoy.top/t/topic/njoT 著作权归作者所有。请勿转载和采集!