题目
Jaccard指数是一种衡量分类模型性能的指标,其计算公式为:
J
a
c
c
a
r
d
=
T
P
T
P
+
F
P
+
F
N
Jaccard = \frac{TP}{TP + FP + FN}
Jaccard=TP+FP+FNTP
其中,TP是真阳性,FP是假阳性,FN是假阴性。
TP = True Positives (真正例): 正确预测为正类的样本数量
FP = False Positives (假阳性): 错误预测为正类的负类样本数量
FN = False Negatives (假阴性): 错误预测为负类的正类样本数量
标准代码如下
def jaccard_index(y_true, y_pred):
intersection = np.sum((y_true == 1) & (y_pred == 1))
union = np.sum((y_true == 1) | (y_pred == 1))
result = intersection / union
if np.isnan(result):
return 0.0
return round(result, 3)
在sklearn库中也有对应的计算方法,可以使用metrics模块中的jaccard_score函数:
def jaccard_index(y_true, y_pred):
from sklearn.metrics import jaccard_score
jaccard = jaccard_score(y_true, y_pred)
return round(float(jaccard), 3)