p y t h o n 实现图像二分类准确率( n u m p y ) python实现图像二分类准确率(numpy) python实现图像二分类准确率(numpy)
背景:二分类问题
一 了解TP、TN、FP、FN(表示样本的性质和数量)
TP:真的正例
真实值是positive,模型认为是positive的数量(True Positive=TP)
TN:真的负例
真实值是negative,模型认为是negative的数量(True Negative=TN)
FP:假的正例
真实值是negative,模型认为是positive的数量(False Positive=FP)
FN:假的负例
真实值是positive,模型认为是negative的数量(False Negative=FN)
二 确定输出和标签
y_true =[0,0,0,0,0,1,1,1,1,1]
y_pred =[1,0,0,0,1,0,1,1,0,0]
三 对应组合
for i in range(len(y_pred)):
list_pred_label.append([y_pred[i],y_true[i]])
四 初始化混淆矩阵
classes_num = 2
confusion_matrix = np.zeros((classes_num,classes_num))
confusion_matrix
五 赋值混淆矩阵
for i in list_pred_label:
confusion_matrix[i[0],i[1]] += 1
confusion_matrix
import pandas as pd
data = pd.DataFrame(confusion_matrix, columns=["0_label", "1_label"], index=["0_pred", "1_pred"])
data
六 得到TP、TN、FP、FN
根据公式到的准确率:分类模型所有判断正确的结果占总观测值的比重
acc = 2+3/10 = 0.5 # 即50%