混淆矩阵

混淆矩阵(Confusion matrix)

写博客之前在网上看了很多混淆矩阵的定义,说法各不一致,最后只好祭出了我的西瓜书。

混淆矩阵是判断分类好坏程度的一种方法。
另外还有ROC曲线和AUC曲线

1.概念

在这里插入图片描述
1)TN(True Negative):真负类,负类预测为负类(0->>0)
2)FP(False Positive):假正类,负类预测为正类(0->>1)
3)FN(False Negative):假负类,正类预测为负类(1->>0)
4)TP(True Positive):正类预测为正类(1->>1)

5)准确率:模型中所有判断正确的占总样本的比例
A c c u r a c y = T P + T N T N + F P + F N + T P Accuracy = \frac{TP+TN}{TN+FP+FN+TP} Accuracy=TN+FP+FN+TPTP+TN
6)精准率:所有预测正类中,真实也是正类的比例
P r e c i s i o n = T P T P + F P Precision = \frac{TP}{TP+FP} Precision=TP+FPTP
7)召回率:所有真实正类中,预测也是正类的比例
R e c a l l = S e n s i t i v i t y = T P T P + F N Recall =Sensitivity= \frac{TP}{TP+FN} Recall=Sensitivity=TP+FNTP
8)特异度:所有真实负类中,预测为负类的比例
S p e c i f i c i t y = T N T N + F P Specificity = \frac{TN}{TN+FP} Specificity=TN+FPTN

2.sklearn中的混淆矩阵

代码实现:
1)混淆矩阵(confusion_matrix)

y_test = [0, 1, 1, 0, 1, 1]
y_predict = [1, 0, 1, 0, 1, 0]
#构造混淆矩阵
from sklearn.metrics import confusion_matrix
cm = confusion_matrix(y_test, y_predict)
print(cm)
#out 
array([1, 1]
[2, 2])

2)精准率(precision_score)

#精准率
from sklearn.metrics import precision_score
ps = precision_score(y_test, y_predict)
print('精准率为:', '%.2f' % ps)# 2/(1+2)
#out
精准率为: 0.67

3) 召回率(recall_score)

#召回率
from sklearn.metrics import recall_score
rs = recall_score(y_test, y_predict)
print('召回率为:', '%.2f' % rs)# 2/(2+2)
#out
召回率为: 0.50
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值