python - sklearn 计算准确率

python - sklearn 计算准确率

因为最近写的分类模型需要性能评价 ,常用的分类性能评价有 准确率、查准率、召回率、F1

分类问题的常用的包 sklearn ,下面对准确率所用的方法进行介绍

召回率 请看另外一篇文章: sklearn 计算召回率

查准率 请看另外一篇文章: sklearn 计算查准率

F1 请看另外一篇文章:sklearn 计算 F1

前提知识

对于我们的二分类问题,会有以下情况:

  • 真正例(True Positive,TP):真实类别为正例,预测类别为正例。
  • 假正例(False Positive,FP):真实类别为负例,预测类别为正例。
  • 假负例(False Negative,FN):真实类别为正例,预测类别为负例。
  • 真负例(True Negative,TN):真实类别为负例,预测类别为负例。

然后可以构建混淆矩阵(Confusion Matrix)如下表所示。

真实类别 预测类别 预测类别
正例 负例
正例 TP FN
负例 FP TN

ACC
A c c = ( T P + T N ) / t o t a l Acc=(TP+TN)/total Acc=(TP+TN)/total

1、sklearn.metrics.accuracy_score()方法

方法说明:

sklearn.metrics.accuracy_score(y_true, y_pred, *, normalize=True, sample_weight=None):

参数介绍:

  • y_true:真实的标签,即数据集中真实的分类标签情况,是一个1维的数组

  • y_pred:预测标签,即模型预测的分类标签情况,是一个1维的数组

  • normalize:默认为True,返回正确分类样本的分数,如果“False”,则返回正确分类的样本数

  • sample_weight:数组类型,样本的权重

举例:

from sklearn.metrics import accuracy_score

pred = [0, 1, 0, 1]

target = [0, 1, 1, 0]

acc = accuracy_score(pred , target)

print(acc)

====>0.5

你可能感兴趣的:(学习记录,机器学习,python,python,sklearn,acc)