precision_score:精确率,查准率
P = T P T P + F P P=\frac{TP}{TP+FP} P=TP+FPTP
# 假设二分类标签为1,2
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score
precision_score(y_true, y_pred, average="binary", pos_label=1)
# pos_label设置为1,代表标签为1的样本是正例,标签为2的样本是负例。
accuracy_score:准确率
A c c = T P + T N T P + F P + T N + F N Acc=\frac{TP+TN}{TP+FP+TN+FN} Acc=TP+FP+TN+FNTP+TN
# 假设二分类标签为1,2
accuracy_score(y_true, y_pred)
recall_score:召回率,查全率
R = T P T P + F N R=\frac{TP}{TP+FN} R=TP+FNTP
# 假设二分类标签为1,2
recall_score(y_true, y_pred, average="binary", pos_label=1)
f1_score: F1值
F 1 = 2 ∗ P ∗ R P + R F1=\frac{2*P*R}{P+R} F1=P+R2∗P∗R
# 假设二分类标签为1,2
f1_score(y_true, y_pred, average="binary", pos_label=1)
附:二分类的混淆矩阵
真实情况 | 预测结果 | |
正例 | 反例 | |
正例 | TP(真正例) | FN(假反例) |
反例 | FP(假正例) | TN(真反例) |