sklearn.metrics.jaccard_score?

sklearn.metrics.jaccard_score(y_true, y_pred, *, labels=None, pos_label=1, average='binary', sample_weight=None)

雅卡德相似系數得分

Jaccard索引[1]或Jaccard相似系數,定義為交集的大小除以兩個標簽集的并集大小,用于將樣本的預測標簽集與y_true中的相應標簽集進行比較 。

用戶指南中閱讀更多內容。

參數 說明
y_true 1d array-like, or label indicator array / sparse matrix
真實標簽。
y_pred 1d array-like, or label indicator array / sparse matrix
預測標簽,由分類器返回。
labels list, optional
當average!='binary'時要包括的一組標簽,如果均值是None,則是標簽的順序。可以排除數據中存在的標簽,例如,以忽略多數否定類的方式計算多類平均值,而數據中不存在的標簽將導致宏平均值中的0成分。對于多標簽目標,標簽是列索引。 默認情況下,y_true和y_pred中的所有標簽均按排序順序使用。
pos_label str or int, 1 by default
如果average ='binary'且數據為二進制的報告類。如果數據是多類或多標簽的,則將被忽略;設置標簽= [pos_label]和average!='binary'將僅報告該標簽的分數。
average string, [None|‘binary’ (default)| ‘micro’| ‘macro’| ‘samples’|‘weighted’]
如果為None,則返回每個類的分數。否則,將根據數據的平均表現確定類型:
- 'binary':
僅報告由pos_label指定的類的結果。僅當目標(y_ {true,pred})為二進制時才適用。
- 'micro':
通過計算真正例、假負例和假正例的總數來全局計算指標。
- 'macro':
計算每個標簽的度量,并找到其未加權平均值。沒有考慮標簽不平衡。
- 'weighted':
計算每個標簽的度量,并找到它們的平均值,然后按支撐度(每個標簽的真實實例數)加權。 這會更改‘macro’以解決標簽不平衡的問題。
- 'samples':
計算每個實例的指標,并找到它們的平均值(僅對多標簽分類有意義)。
sample_weight array-like of shape (n_samples,), default=None
樣本權重。
返回值 說明
score float (if average is not None) or array of floats, shape = [n_unique_labels]

另見:

accuracy_score, f_score, multilabel_confusion_matrix

如果某些樣本或類沒有正例,則jaccard_score度量可能不佳。 如果沒有真實標簽或預測標簽,則Jaccard是未定義的,我們的實現將返回0分并帶有警告。

參考

1 Wikipedia entry for the Jaccard index

示例

>>> import numpy as np
>>> from sklearn.metrics import jaccard_score
>>> y_true = np.array([[011],
...                    [110]])
>>> y_pred = np.array([[111],
...                    [100]])

在二進制情況下:

>>> 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.50.51. ])

在多類的情況下:

>>> y_pred = [0212]
>>> y_true = [0122]
>>> jaccard_score(y_true, y_pred, average=None)
array([1. , 0. , 0.33...])

sklearn.metrics.jaccard_score應用示例?