python人脸识别算法_画两家人脸识别算法的ROC曲线(Python)

该博客主要展示了如何使用Python的sklearn库绘制ROC曲线,并通过`read_labels`和`read_Feautures`函数读取标签和预测值,计算了ROC曲线下的一系列指标。最后,绘制了两个不同模型的ROC曲线进行比较。
摘要由CSDN通过智能技术生成

# -*- coding: utf-8 -*-

import math

import sklearn

import numpy as np

import matplotlib.pyplot as plt

import skimage

import caffe

import sklearn.metrics.pairwise as pw

#读取标签文件

def read_labels(labelfile):

fin=open(labelfile)

lines=fin.readlines()

labels=np.empty((len(lines),))

k=0;

for line

in lines:

labels[k]=int(line)

k=k+1;

fin.close()

return

labels

def read_Feautures(labelfile):

fin=open(labelfile)

lines=fin.readlines()

labels=np.empty((len(lines),))

k=0;

for line

in lines:

labels[k]=float(line)

k=k+1;

fin.close()

return

labels

#画ROC曲线图

def draw_roc_curve(fpr1,tpr1,fpr2,tpr2,

title='cosine',save_name='roc_lfw'):

plt.figure()

plt.plot(fpr1, tpr1,'r')

plt.plot(fpr2, tpr2,'g')

plt.plot([0, 1], [0, 1], 'k--')

plt.xlim([0.0, 1.0])

plt.ylim([0.0, 1.0])

plt.xlabel('FPR')

plt.ylabel('TPR')

plt.title('ROC(Receiver operating characteristic)using:

'+title)

plt.legend(loc="lower right")

plt.show()

plt.savefig(save_name+'.png')

if __name__=='__main__':

labels =

read_labels(u"e:/xxx/tlf-1.txt")

predicts

= read_Feautures(u"e:/xxx/tlf-2.txt")

fpr1,

tpr1, threshold1s=sklearn.metrics.roc_curve(labels,predicts)

print

threshold1s

#draw_roc_curve(fpr1,tpr1,title='JSS',save_name='lfw_evaluate')

labels =

read_labels(u"e:/xxx/alf-1.txt")

predicts

= read_Feautures(u"e:/xxx/alf-2.txt")

fpr2,

tpr2, threshold2s=sklearn.metrics.roc_curve(labels,predicts)

print

threshold2s

draw_roc_curve(fpr1,tpr1,fpr2,tpr2,title='AS',save_name='lfw_evaluate')​

sg_trans.gif生成的图表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值