本文簡要介紹python語言中 sklearn.metrics.jaccard_score
的用法。
用法:
sklearn.metrics.jaccard_score(y_true, y_pred, *, labels=None, pos_label=1, average='binary', sample_weight=None, zero_division='warn')
Jaccard 相似係數得分。
Jaccard index [1] 或 Jaccard 相似度係數,定義為交集的大小除以兩個標簽集的並集大小,用於將樣本的預測標簽集與對應的標簽集進行比較
y_true
。在用戶指南中閱讀更多信息。
- y_true:一維數組,或標簽指示符數組/稀疏矩陣
基本事實(正確)標簽。
- y_pred:一維數組,或標簽指示符數組/稀疏矩陣
分類器返回的預測標簽。
- labels:形狀類似數組 (n_classes,),默認=無
當
average != 'binary'
時要包含的標簽集,如果average is None
則它們的順序。可以排除數據中存在的標簽,例如計算忽略多數負類的多類平均值,而數據中不存在的標簽將導致宏觀平均值中的 0 個分量。對於多標簽目標,標簽是列索引。默認情況下,y_true
和y_pred
中的所有標簽都按排序順序使用。- pos_label:str 或 int,默認 = 1
如果
average='binary'
並且數據是二進製的,則要報告的類。如果數據是多類或多標簽的,這將被忽略;設置labels=[pos_label]
和average != 'binary'
將僅報告該標簽的分數。- average:{‘micro’, ‘macro’, ‘samples’, ‘weighted’, ‘binary’} 或無,默認='二進製'
如果
None
,則返回每個類的分數。否則,這將確定對數據執行的平均類型:'binary'
:僅報告
pos_label
指定的類的結果。這僅適用於目標 (y_{true,pred}
) 是二進製的。'micro'
:通過計算總的真陽性、假陰性和假陽性來全局計算指標。
'macro'
:計算每個標簽的指標,並找到它們的未加權平均值。這沒有考慮標簽不平衡。
'weighted'
:計算每個標簽的指標,並找到它們的平均值,按支持度加權(每個標簽的真實實例數)。這會改變 ‘macro’ 以解決標簽不平衡問題。
'samples'
:計算每個實例的指標,並找到它們的平均值(僅對多標簽分類有意義)。
- sample_weight:形狀類似數組 (n_samples,),默認=None
樣本權重。
- zero_division:“warn”, {0.0, 1.0}, 默認=”warn”
設置當有零除法時返回的值,即當預測和標簽中沒有負值時。如果設置為“warn”,這就像 0,但也會引發警告。
- score:浮點數(如果平均值不是無)或浮點數數組,形狀 = [n_unique_labels]
參數:
返回:
注意:
如果某些樣本或類沒有陽性結果,
jaccard_score
可能是一個糟糕的指標。如果沒有真實或預測的標簽,Jaccard 是未定義的,我們的實現將返回 0 分並帶有警告。參考:
例子:
>>> import numpy as np >>> from sklearn.metrics import jaccard_score >>> y_true = np.array([[0, 1, 1], ... [1, 1, 0]]) >>> y_pred = np.array([[1, 1, 1], ... [1, 0, 0]])
在二進製情況下:
>>> jaccard_score(y_true[0], y_pred[0]) 0.6666...
在多標簽情況下:
>>> jaccard_score(y_true, y_pred, average='samples') 0.5833... >>> jaccard_score(y_true, y_pred, average='macro') 0.6666... >>> jaccard_score(y_true, y_pred, average=None) array([0.5, 0.5, 1. ])
在多類情況下:
>>> y_pred = [0, 2, 1, 2] >>> y_true = [0, 1, 2, 2] >>> jaccard_score(y_true, y_pred, average=None) array([1. , 0. , 0.33...])
相關用法
- Python sklearn johnson_lindenstrauss_min_dim用法及代碼示例
- 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用法及代碼示例
- Python sklearn train_test_split用法及代碼示例
- Python sklearn RandomTreesEmbedding用法及代碼示例
- Python sklearn GradientBoostingRegressor用法及代碼示例
- Python sklearn GridSearchCV用法及代碼示例
- Python sklearn log_loss用法及代碼示例
- Python sklearn r2_score用法及代碼示例
- Python sklearn ndcg_score用法及代碼示例
- Python sklearn ShrunkCovariance用法及代碼示例
- Python sklearn SelfTrainingClassifier用法及代碼示例
- Python sklearn load_svmlight_file用法及代碼示例
- Python sklearn make_pipeline用法及代碼示例
- Python sklearn MultiTaskLasso用法及代碼示例
- Python sklearn KBinsDiscretizer用法及代碼示例
- Python sklearn power_transform用法及代碼示例
- Python sklearn PowerTransformer.inverse_transform用法及代碼示例
- Python sklearn IncrementalPCA用法及代碼示例
注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.metrics.jaccard_score。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。