Source code for slickml.base._metrics

from typing import Dict, Optional, Protocol, Union

import pandas as pd
from matplotlib.figure import Figure


[docs]class Metrics(Protocol): """Protocol for Metrics. Notes ----- The main reason of this protocol is proper duck typing (PEP-544) [1]_ when using metrics such as ``RegressionMetrics`` or ``ClassificationMetrics`` in pipelines. References ---------- .. [1] https://peps.python.org/pep-0544/ """
[docs] def plot(self) -> Figure: """Plots calculated metrics visualization. Returns ------- Figure """ ... # pragma: no cover
[docs] def get_metrics( self, dtype: Optional[str], ) -> Union[pd.DataFrame, Dict[str, Optional[float]]]: """Returns calculated metrics in a desired output dtype. Parameters ---------- dtype : Optional[str] Metrics output dtype Returns ------- Union[pd.DataFrame, Dict[str, Optional[float]]] """ ... # pragma: no cover