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应用示例