本文简要介绍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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。