混淆矩阵
混淆矩阵(Confusion Matrix):将分类问题按照真实情况与判别情况两个维度进行归类的一个矩阵,如在二分类问题中就是一个2*2的矩阵:
- TP(True Positive):表示实际为真预测为真
- FP(False Positive):表示实际为假预测为真 (误报)
- TN(True Negative):表示实际为假预测为假
- FN(False Negative):表示实际为真预测为假(漏报)
召回率与准确率
召回率 = TP/(TP+FN)
准确率 = TP/(TP+FP)
一个池塘有10条鱼和20只小龙虾,渔夫打鱼,捞上8条鱼和12只龙虾,那么召回率为8/10=80%,准确率为8/(8+12)=40% —《Web安全之强化学习与GAN》
准确度Accuracy
准确度Acc是对检测结果的均衡评价,是全体预测正确按整个样本的比例:
准确度
=
T
P
+
T
N
T
P
+
T
N
+
F
P
+
F
N
准确度 = \frac{TP+TN}{TP+TN+FP+FN}
准确度=TP+TN+FP+FNTP+TN文章来源:https://www.toymoban.com/news/detail-820834.html
sklearn代码示例
pip install scikit-learn==0.24.2文章来源地址https://www.toymoban.com/news/detail-820834.html
from sklearn import metrics # sklearn==0.24.2
import numpy as np
test_Y = np.array([0,0,1,0,0,1,0,1,1,0]) # 测试集的标签
predict_Y = np.array([1,0,1,0,0,0,0,1,0,0]) # 预测值
confusion_matrix = metrics.confusion_matrix(test_Y,predict_Y) # 混淆矩阵(注意与上面示例的混淆矩阵的图位置并不一一对应)
tn, fp, fn, tp = metrics.confusion_matrix(test_Y,predict_Y).ravel() # 混淆矩阵各值
recall_score = metrics.recall_score(test_Y,predict_Y) # 召回率
pre_score = metrics.precision_score(test_Y,predict_Y) # 准确率
ACC = metrics.accuracy_score(test_Y,predict_Y) # 准确度ACC
print(confusion_matrix)
print(tn, fp, fn, tp)
print(recall_score)
print(pre_score)
print(ACC)
[[5 1]
[2 2]]
5 1 2 2
0.5
0.6666666666666666
0.7
到了这里,关于【机器学习】二分类问题中的混淆矩阵、准确率、召回率等 (Python代码实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!