1. auc 的意义及计算公式
https://blog.csdn.net/qq_22238533/article/details/78666436
2. roc的绘制代码
def roc_draw(predict, ground_truth):
nums = len(predict)
x, y = 1, 1
index = np.argsort(predict)
ground = ground_truth[index]
x_step = 1.0/(nums-sum(ground_truth)) # 负样本步长
y_step = 1./sum(ground_truth)
res_x = []
res_y = []
for i in range(nums):
if ground[i] == 1:
y -= y_step
else:
x -= x_step
res_x.append(x)
res_y.append(y)
return res_x, res_y
import numpy as np
predict = np.arange(0,1,0.01) #生成间隔为0.01的预测阈值
ground_truth = np.random.randint(0,2,100)
import matplotlib.pyplot as plt
x, y = roc_draw(predict, ground_truth)
plt.plot(x,y)