求问python代码意义,是怎么求precision、recall和f1值的?
precision_val = sklearn.metrics.precision_score(target_inds.squeeze().flatten(), y_hat.flatten(), average='weighted')
recall_val = sklearn.metrics.recall_score(target_inds.squeeze().flatten(), y_hat.flatten(), average='weighted')
f1_val = sklearn.metrics.f1_score(target_inds.squeeze().flatten(), y_hat.flatten(), average='weighted')
这段代码中,使用了sklearn库中的metrics模块来计算分类模型的precision(精确率)、recall(召回率)和f1值(F1分数)。
这里的参数含义:
用阳性来举例
简单来说就是用于评判模型能不能很好的找出阳性样本,即 阳性样本中被模型识别出阳性的数量/实际的阳性样本数量,这里阳性的recall = 3 / 3 = 100%
说明模型recall非常好,因为乳腺癌是宁可错杀也不可放过的,因此需要有较高的召回率才行的,对阳性样本需要有较高的识别度。