准确率,精确率,召回率,F1,AUC

以西瓜数据集为例,我们来详细解释一下什么是TP、TN、FP以及FN。

一、基础概念
TP:被模型预测为正类的正样本
TN:被模型预测为负类的负样本
FP:被模型预测为正类的负样本
FN:被模型预测为负类的正样本

二、通俗理解(以西瓜数据集为例)
以西瓜数据集为例,我们来通俗理解一下什么是TP、TN、FP、FN。

TP:被模型预测为好瓜的好瓜(是真正的好瓜,而且也被模型预测为好瓜)
TN:被模型预测为坏瓜的坏瓜(是真正的坏瓜,而且也被模型预测为坏瓜)
FP:被模型预测为好瓜的坏瓜(瓜是真正的坏瓜,但是被模型预测为了好瓜)
FN:被模型预测为坏瓜的好瓜(瓜是真正的好瓜,但是被模型预测为了坏瓜)
 

准确率
定义:对于给定的测试数据集,分类器正确分类的样本数与总样本数之比。
公式:

缺点:在正负样本不平衡的情况下,这个指标有很大的缺陷。

代码:

## accuracy
from sklearn.metrics import accuracy_score
y_pred = [0, 1, 0, 1]
y_true = [0, 1, 1, 1]
print('ACC:',accuracy_score(y_true, y_pred))
ACC: 0.75
 

精确率
定义:精确率是检索出相关文档数与检索出的文档总数的比率(正确分类的正例个数占分类为正例的实例个数的比例),衡量的是检索系统的查准率。
公式:
代码:
from sklearn import metrics
y_pred = [0, 1, 0, 0]
y_true = [0, 1, 1, 1]
print('Precision',metrics.precision_score(y_true, y_pred))
Precision 1.0
 

召回率
定义:召回率是指检索出的相关文档数和文档库中所有的相关文档数的比率(正确分类的正例个数占实际正例个数的比例),衡量的是检索系统的查全率。
公式:
代码:
from sklearn import metrics
y_pred = [0, 1, 0, 0]
y_true = [0, 1, 1, 1]
print('Recall',metrics.recall_score(y_true, y_pred))
Recall 0.3333333333333333
 

 F1
定义:F1分数(F1-score)是分类问题的一个衡量指标。它是精确率和召回率的调和平均数,最大为1,最小为0。
代码:
from sklearn import metrics
y_pred = [0, 1, 0, 0]
y_true = [0, 1, 1, 1]
print('F1-score:',metrics.f1_score(y_true, y_pred))
F1-score: 0.5
 

AUC
定义:AUC是一个模型评价指标,只能用于二分类模型的评价. AUC是Area under curve的首字母缩写。 Area under curve是什么呢,从字面理解,就是一条曲线下面区域的面积。
代码: 

import numpy as np
from sklearn.metrics import roc_auc_score
y_true = np.array([0, 0, 1, 1])
y_scores = np.array([0.1, 0.4, 0.35, 0.8])
print('AUC socre:',roc_auc_score(y_true, y_scores))
AUC socre: 0.75

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值