本文簡要介紹python語言中 sklearn.metrics.precision_recall_fscore_support
的用法。
用法:
sklearn.metrics.precision_recall_fscore_support(y_true, y_pred, *, beta=1.0, labels=None, pos_label=1, average=None, warn_for=('precision', 'recall', 'f-score'), sample_weight=None, zero_division='warn')
計算每個類的精度、召回率、F-measure 和支持。
精度是比率
tp / (tp + fp)
,其中tp
是真陽性數,fp
是假陽性數。精度直觀地是分類器不將負樣本標記為正樣本的能力。召回率是
tp / (tp + fn)
的比率,其中tp
是真陽性數,fn
是假陰性數。召回率直觀地是分類器找到所有正樣本的能力。F-beta 分數可以解釋為準確率和召回率的加權調和平均值,其中 F-beta 分數在 1 處達到其最佳值,在 0 處達到最差分數。
F-beta 分數權重的召回率比準確率高出
beta
的係數。beta == 1.0
表示召回率和準確率同樣重要。支持是
y_true
中每個類的出現次數。如果
pos_label is None
且處於二元分類中,則此函數返回平均精度、召回率,如果average
是'micro'
、'macro'
、'weighted'
或'samples'
之一,則返回 F-measure 。在用戶指南中閱讀更多信息。
- y_true:一維數組,或標簽指示符數組/稀疏矩陣
基本事實(正確)目標值。
- y_pred:一維數組,或標簽指示符數組/稀疏矩陣
分類器返回的估計目標。
- beta:浮點數,默認=1.0
F-score 中召回率與精度的對比。
- labels:類似數組,默認=無
當
average != 'binary'
時要包含的標簽集,如果average is None
則它們的順序。可以排除數據中存在的標簽,例如計算忽略多數負類的多類平均值,而數據中不存在的標簽將導致宏觀平均值中的 0 個分量。對於多標簽目標,標簽是列索引。默認情況下,y_true
和y_pred
中的所有標簽都按排序順序使用。- pos_label:str 或 int,默認 = 1
如果
average='binary'
並且數據是二進製的,則要報告的類。如果數據是多類或多標簽的,這將被忽略;設置labels=[pos_label]
和average != 'binary'
將僅報告該標簽的分數。- average:{‘binary’, ‘micro’, ‘macro’, ‘samples’,'加權'},默認=無
如果
None
,則返回每個類的分數。否則,這將確定對數據執行的平均類型:'binary'
:僅報告
pos_label
指定的類的結果。這僅適用於目標 (y_{true,pred}
) 是二進製的。'micro'
:通過計算總的真陽性、假陰性和假陽性來全局計算指標。
'macro'
:計算每個標簽的指標,並找到它們的未加權平均值。這沒有考慮標簽不平衡。
'weighted'
:計算每個標簽的指標,並通過支持度(每個標簽的真實實例數)找到它們的平均加權值。這會改變 ‘macro’ 以解決標簽不平衡問題;它可能導致 F-score 不在精確率和召回率之間。
'samples'
:計算每個實例的指標,並找到它們的平均值(僅對不同於
accuracy_score
的多標簽分類有意義)。
- warn_for:元組或集合,供內部使用
這決定了在此函數僅用於返回其指標之一的情況下將發出哪些警告。
- sample_weight:形狀類似數組 (n_samples,),默認=None
樣本權重。
- zero_division:“warn”,0或1,默認=”warn”
- 設置零除法時要返回的值:
- 回憶:當沒有正麵標簽時
- 精度:當沒有正麵預測時
- f-score:兩者都有
如果設置為“warn”,這將作為 0,但也會引發警告。
- precision:浮點數(如果平均值不是無)或浮點數數組,形狀 = [n_unique_labels]
- recall:浮點數(如果平均值不是無)或浮點數數組,形狀 = [n_unique_labels]
- fbeta_score:浮點數(如果平均值不是無)或浮點數數組,形狀 = [n_unique_labels]
- support:無(如果平均值不是無)或 int 數組,形狀 = [n_unique_labels]
y_true
中每個標簽的出現次數。
參數:
返回:
注意:
當
true positive + false positive == 0
時,精度未定義。當true positive + false negative == 0
時,召回未定義。在這種情況下,默認情況下,度量將設置為 0,f-score 和UndefinedMetricWarning
將被提高。可以使用zero_division
修改此行為。參考:
例子:
>>> import numpy as np >>> from sklearn.metrics import precision_recall_fscore_support >>> y_true = np.array(['cat', 'dog', 'pig', 'cat', 'dog', 'pig']) >>> y_pred = np.array(['cat', 'pig', 'dog', 'cat', 'cat', 'dog']) >>> precision_recall_fscore_support(y_true, y_pred, average='macro') (0.22..., 0.33..., 0.26..., None) >>> precision_recall_fscore_support(y_true, y_pred, average='micro') (0.33..., 0.33..., 0.33..., None) >>> precision_recall_fscore_support(y_true, y_pred, average='weighted') (0.22..., 0.33..., 0.26..., None)
可以計算per-label 精度、召回率、F1 分數和支持,而不是平均:
>>> precision_recall_fscore_support(y_true, y_pred, average=None, ... labels=['pig', 'dog', 'cat']) (array([0. , 0. , 0.66...]), array([0., 0., 1.]), array([0. , 0. , 0.8]), array([2, 2, 2]))
相關用法
- Python sklearn precision_recall_curve用法及代碼示例
- Python sklearn precision_score用法及代碼示例
- Python sklearn power_transform用法及代碼示例
- Python sklearn.metrics.plot_confusion_matrix用法及代碼示例
- Python sklearn.metrics.plot_roc_curve用法及代碼示例
- Python sklearn parallel_backend用法及代碼示例
- Python sklearn pairwise_distances_chunked用法及代碼示例
- Python sklearn plot_tree用法及代碼示例
- Python sklearn permutation_importance用法及代碼示例
- Python sklearn partial_dependence用法及代碼示例
- Python sklearn parametrize_with_checks用法及代碼示例
- Python sklearn pair_confusion_matrix用法及代碼示例
- Python sklearn.metrics.plot_det_curve用法及代碼示例
- Python sklearn.inspection.plot_partial_dependence用法及代碼示例
- Python sklearn polynomial_kernel用法及代碼示例
- Python sklearn paired_distances用法及代碼示例
- Python sklearn jaccard_score用法及代碼示例
- Python sklearn WhiteKernel用法及代碼示例
- Python sklearn CalibrationDisplay.from_predictions用法及代碼示例
- Python sklearn VotingRegressor用法及代碼示例
- Python sklearn gen_batches用法及代碼示例
- Python sklearn ExpSineSquared用法及代碼示例
- Python sklearn MDS用法及代碼示例
- Python sklearn adjusted_rand_score用法及代碼示例
- Python sklearn MLPClassifier用法及代碼示例
注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.metrics.precision_recall_fscore_support。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。