1 绘制roc曲线,并计算auc
from sklearn import metrics
import matplotlib.pyplot as plt
tpr,fpr,threshold=metrics.roc_curve(tempdf['label'], score)
fig, ax = plt.subplots(figsize=(5, 3))
plt.figure()
ax.plot(tpr, fpr)
print(metrics.roc_auc_score(tempdf['label'], score))
2 绘制prc曲线,并计算prc-auc
p, r, threshold = metrics.precision_recall_curve(testdf['label'], score)
fig, ax = plt.subplots(figsize=(5, 3))
ax.plot(r, p)
print(metrics.auc(r, p))
3 绘制结果柱状图,并标注数据
def auto_text(rects):
for rect in rects:
plt.text(rect.get_x(), rect.get_height(), '%.3f'%rect.get_height(), ha='left', va='bottom')
fig=plt.figure(figsize=(5,3),dpi=80)
y1=[v4_auc,v4_prc]
y2,y3,y4,y5=[xgb_raw_auc,xgb_raw_prc],[xgb_text_auc,xgb_text_prc],[xgb_jushi_auc,xgb_jushi_prc],[xgb_jushi_text_auc,xgb_jushi_text_prc]
y6,y7=[nn_auc,nn_prc],[fgcnn_auc,fgcnn_prc]
label=['ROC-AUC','PRC-AUC']
model=['notboard_v4','notboard_v5_xgb_raw','notboard_v5_xgb_text','notboard_v5_xgb_jushi','notboard_v5_xgb_jushi_text','notboard_v5_nn','notboard_v5_fgcnn']
all_y=[y1,y2,y3,y4,y5,y6,y7]
bar_width=0.1
index=np.arange(len(all_y[0]))
for i in range(len(model)):
r=plt.bar(index+bar_width*i,all_y[i],bar_width,label=model[i])
auto_text(r)
plt.legend(loc='lower center',bbox_to_anchor=(1.35,0.15))
plt.xticks([i+0.2 for i in index],label)
plt.ylim(ymin=0.0,ymax=1.0)
plt.show()
4 常用镜像
清华大学: https://pypi.tuna.tsinghua.edu.cn/simple/
(清华的源5分钟同步官网一次,推荐使用)
阿里云: http://mirrors.aliyun.com/pypi/simple/
中国科技大学: https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban): http://pypi.douban.com/simple/
中国科学技术大学: http://pypi.mirrors.ustc.edu.cn/simple/