《機器學習(周志華)》筆記--模型的評估與選擇(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))

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM