:py:mod:`src.evaluation`
========================

.. py:module:: src.evaluation


Module Contents
---------------

Classes
~~~~~~~

.. autoapisummary::

   src.evaluation.DatasetMetadata
   src.evaluation.Evaluation




Attributes
~~~~~~~~~~

.. autoapisummary::

   src.evaluation.EvaluationTask
   src.evaluation.K
   src.evaluation.V


.. py:data:: EvaluationTask
   :type: TypeAlias

   

.. py:data:: K

   

.. py:data:: V

   

.. py:class:: DatasetMetadata


   Bases: :py:obj:`TypedDict`

   _summary_

   :param TypedDict: _description_
   :type TypedDict: _type_

   .. py:attribute:: name
      :type: str

      

   .. py:attribute:: version
      :type: str

      


.. py:class:: Evaluation


   Bases: :py:obj:`pydantic.BaseModel`, :py:obj:`abc.ABC`

   _summary_

   :param BaseModel: _description_
   :type BaseModel: _type_
   :param ABC: _description_
   :type ABC: _type_
   :return: _description_
   :rtype: _type_

   .. py:attribute:: task
      :type: EvaluationTask

      

   .. py:attribute:: metric
      :type: Callable[[list[float | int], list[float | int]], Any]

      

   .. py:attribute:: plotter
      :type: src.plots.Plotter | None

      

   .. py:method:: __call__(predictions: dict[K, V], labels: dict[K, V]) -> int | float


   .. py:method:: combine_inputs(labels: dict[K, V], predictions: dict[K, V]) -> pandas.DataFrame
      :staticmethod:

      Take results as input, combine the instance column and merge all other data. 

      :param labels: the true value
      :type labels: dict[K, V]
      :param predictions: the value predicted by model
      :type predictions: dict[K, V]
      :return: a dataframe with three columns: instances, predictions, labels
      :rtype: DataFrame




