view#

from tmlt.tune import view
tmlt.tune.view(name)#

Views of the output table to be used across metrics in place of program outputs.

Alternatively, you can specify as list using tmlt.tune.SessionProgramTuner.views class variable.

If the program has outputs, unprotected inputs or parameters, the view method can pass outputs, unprotected_inputs and/or parameters as arguments and the value gets auto-populated from the program.

Parameters:

name (str) – A name for the output view.

>>> from tmlt.analytics import Session
>>> from tmlt.tune import MedianRelativeError
>>> class Program(SessionProgram):
...     class ProtectedInputs:
...         protected_df: DataFrame
...     class UnprotectedInputs:
...         unprotected_df: DataFrame
...     class Outputs:
...         output_df: DataFrame
...     def session_interaction(self, session: Session):
...         ...
>>> class Tuner(SessionProgramTuner, program=Program):
...     @view("output_view")
...     @staticmethod
...     def custom_view1(
...         outputs: Dict[str, DataFrame],
...     ) -> DataFrame:
...         ...
...     @view("another_output_view")
...     @staticmethod
...     def custom_view2(
...         outputs: Dict[str, DataFrame],
...         unprotected_inputs: Dict[str, DataFrame],
...     ) -> DataFrame:
...         ...
...     metrics = [
...         MedianRelativeError(
...             output="output_view",
...             join_columns=["x"],
...             measure_column="a_sum"
...         ),
...     ] # The view can be used instead of output when metric is defined