《机器学习(周志华)》笔记--模型的评估与选择(7)--sklearn中的分类性能指标

六、sklearn中的分类性能指标

  机器学习中常使用 sklearn 完成对模型分类性能的评估,我们需要掌握使用 sklearn 提供的以下接口:

  • accuracy_score   准确度
  • precision_score   精准率
  • recall_score  召回率
  • f1_score    F1 Score
  • roc_auc_score  AUC 
  • confusion_matrix  混淆矩阵

  (1)accu\fracy_score

  sklearn 提供了计算准确度的接口 accuracy_score。其中参数如下:

  • y_true:为样本真实标签,类型为一维的 ndarray 或者 list;
  • y_predict:为模型预测标签,类型为一维的 ndarray 或者 list。

示例代码如下:

import numpy as np
from sklearn.metrics import accuracy_score
#y_true为真实标签,y_predict为预测标签
y_true = [1, 0, 0, 1]
y_predict = [1, 0, 1, 0]
print(accuracy_score(y_true, y_predict))

  (2)precision_score

  sklearn 提供了计算精准率的接口 precision_score 。其中参数如下:

  • y_true:为样本真实标签,类型为一维的 ndarray 或者 list;
  • y_predict:为模型预测标签,类型为一维的 ndarray 或者 list;
  • pos_label:用什么值表示 Positive,默认为 1。

示例代码如下:

import numpy as np
from sklearn.metrics import precision_score
#y_true为真实标签,y_predict为预测标签
y_true = [1, 0, 0, 1]
y_predict = [1, 0, 1, 0]
print(precision_score(y_true, y_predict))

  (3)recall_score

  sklearn 提供了计算召回率的接口 recall_score 。其中参数如下:

  • y_true:为样本真实标签,类型为一维的 ndarray 或者 list;
  • y_predict:为模型预测标签,类型为一维的 ndarray 或者 list;
  • pos_label:用什么值表示 Positive ,默认为 1。

示例代码如下:

import numpy as np
from
sklearn.metrics import recall_score #y_true为真实标签,y_predict为预测标签 y_true = [1, 0, 0, 1] y_predict = [1, 0, 1, 0] print(recall_score(y_true, y_predict))

  (4)f1_score

  sklearn 提供了计算 F1 Score 的接口 f1_score 。其中参数如下:

  • y_true:为样本真实标签,类型为一维的 ndarray 或者 list;
  • y_predict:为模型预测标签,类型为一维的 ndarray 或者 list;
  • pos_label:用什么值表示 Positive ,默认为 1。

示例代码如下:

import numpy as np
from sklearn.metrics import f1_score
#y_true为真实标签,y_predict为预测标签
y_true = [1, 0, 0, 1]
y_predict = [1, 0, 1, 0]
print(f1_score(y_true, y_predict))

  (5)roc_auc_score

  sklearn 提供了计算 AUC 的接口 roc_auc_score 。其中参数如下:

  • y_true:为样本真实标签,类型为一维的 ndarray 或者 list;
  • y_score:为模型预测样本为 Positive 的概率,类型为一维的 ndarray 或者 list。

 示例代码如下:

import numpy as np
from sklearn.metrics import roc_auc_score
#y_true为真实标签,y_score为预测为Positive的概率
y_true = np.array([0, 0, 1, 1])
y_score = np.array([0.1, 0.4, 0.35, 0.8])
print(roc_auc_score(y_true, y_score))

  (6)confusion_matrix

  sklearn 提供了计算混淆矩阵的接口 confusion_matrix 。其中参数如下:

  • y_true:为样本真实标签,类型为一维的 ndarray 或者 list;
  • y_predict:为模型预测标签,类型为一维的 ndarray 或者 list。

示例代码如下:

import numpy as np
from sklearn.metrics import confusion_matrix
#y_true为真实标签,y_predict为预测标签
y_true = [1, 0, 0, 1]
y_predict = [1, 0, 1, 0]
print(confusion_matrix(y_true, y_predict))

 

猜你喜欢

转载自www.cnblogs.com/lsm-boke/p/12210175.html