def log_report_one(prefix, metrics, y_true, y_pred, sample_weight, config, classification_report, outputs=None, mask=None):
if mask is not None:
y_true = np.ma.MaskedArray(y_true, mask=mask).compressed()
y_pred = np.ma.MaskedArray(y_pred, mask=mask).compressed()
sample_weight = np.ma.MaskedArray(sample_weight, mask=mask).compressed() if sample_weight is not None else None
assert y_true.shape == y_pred.shape, (y_true.shape, y_pred.shape)
for metric in metrics:
log_always('%s%s = %s', prefix, metric, _frmt_score(calculate_or_extract_score(metric, y_true, y_pred, config, outputs=outputs, sample_weight=sample_weight)))
if classification_report:
assert y_true is not None
assert y_pred is not None
log_classification_report(prefix, y_true, y_pred, labels=config.get('named_labels'), threshold=config.get('threshold')) # XXX sample_weight
评论列表
文章目录