目录
二、自定义TP,FP,TN,FN,accuracy,precision,recall,f1-score
一、回顾概念
TP:预测为正向(P),实际上预测正确(T),即判断为正向的正确率;
TN:预测为负向(N),实际上预测正确(T),即判断为负向的正确率;
FP:预测为正向(P),实际上预测错误(F),误报率,即把负向判断成了正向;
FN:预测为负向(N),实际上预测错误(F),漏报率,即把正向判断称了负向;
y_true = [0, 1, 1, 0] #真实值
y_pred = [1, 1, 1, 0] #预测值
1、准确率
Accuracy=(TP+TN)/(TP+FP+TN+FN), 即预测正确的比上全部数据。
from sklearn.metrics import accuracy_score
accuracy = accuracy_score(y_true, y_pred)
2、精确率
Precision=TP /(TP+FP),即在预测为正向的数据中,有多少预测正确了。
from sklearn.metrics import precision_score
p = precision_score(y_true, y_pred)
3、召回率
Recall=TP /(TP+FN),即在所有正向的数据中,有多少预测正确了。
from sklearn.metrics import recall_score
r = recall_score(y_true, y_pred)
4、F1
from sklearn.metrics import f1_score
f1score = f1_score(y_true, y_pred)
5、ACU
from sklearn.metrics import roc_auc_score
AUC = roc_auc_score(y_true, y_pred)
二、自定义TP,FP,TN,FN,accuracy,precision,recall,f1-score
y_true = np.array([0,1,1,0,1,0])
y_pred = np.array([1,1,0,0,1,0])
TP = np.sum(np.logical_and(np.equal(y_true,1),np.equal(y_pred,1))) # 正向、正确
TN = np.sum(np.logical_and(np.equal(y_true,0),np.equal(y_pred,0))) # 负向、正确
FP = np.sum(np.logical_and(np.equal(y_true,0),np.equal(y_pred,1))) # 正向、错误
FN = np.sum(np.logical_and(np.equal(y_true,1),np.equal(y_pred,0))) # 负向、错误
Accuracy = (TP+TN)/(TP+FP+TN+FN)
precision = TP/(TP+FP)
recall = TP/(TP+FN)