【发布时间】:2021-06-03 23:43:00
【问题描述】:
我想使用sklearn.metrics.recall_score 来评估二值图像分割任务的召回率。
这样做很有效:
threshold = 0.5
predicted_mask = (probability_map > threshold).astype(np.int)
actual_mask = actual_mask.astype(np.int)
result = recall_score(actual_mask.flatten(), predicted_mask.flatten())
但是:
result = recall_score(actual_mask, predicted_mask)
给我错误:
ValueError:目标是多标签指标,但平均值='二进制'。请选择另一个平均设置,[None, 'micro', 'macro', 'weighted', 'samples'] 之一。
actual_mask 和 predicted_mask 是整数 0 和 1 的 numpy 数组。
从documentation 对我来说,这不应该起作用:
sklearn.metrics.precision_score(y_true, y_pred, *, labels=None, pos_label=1, average='binary', sample_weight=None, zero_division='warn')
y_true:一维数组,或标签指示数组/稀疏矩阵
y_pred:一维数组,或标签指示数组/稀疏矩阵
我错过了什么?更重要的是:我使用flatten 操作获得的召回值是否正确?
【问题讨论】:
标签: python numpy scikit-learn precision-recall