ClassificationReport#
- ignite.metrics.ClassificationReport(beta=1, output_dict=False, output_transform=<function <lambda>>, device=device(type='cpu'), is_multilabel=False, labels=None)[source]#
Build a text report showing the main classification metrics. The report resembles in functionality to scikit-learn classification_report The underlying implementation doesn’t use the sklearn function.
- Parameters
beta (int) – weight of precision in harmonic mean
output_dict (bool) – If True, return output as dict, otherwise return a str
output_transform (Callable) – a callable that is used to transform the
Engine
’sprocess_function
’s output into the form expected by the metric. This can be useful if, for example, you have a multi-output model and you want to compute the metric with respect to one of the outputs.is_multilabel (bool) – If True, the tensors are assumed to be multilabel.
device (Union[str, device]) – optional device specification for internal storage.
labels (Optional[List[str]]) – Optional list of label indices to include in the report
- Return type
def process_function(engine, batch): # ... return y_pred, y engine = Engine(process_function) metric = ClassificationReport() metric.attach(engine, "cr") engine.run... res = engine.state.metrics["cr"] # result should be like { "0": { "precision": 0.4891304347826087, "recall": 0.5056179775280899, "f1-score": 0.497237569060773 }, "1": { "precision": 0.5157232704402516, "recall": 0.4992389649923896, "f1-score": 0.507347254447022 }, "macro avg": { "precision": 0.5024268526114302, "recall": 0.5024284712602398, "f1-score": 0.5022924117538975 } }