code: def print_metrics(dataframe):
      """
      The function displays 3 metrics: Mean absolute error,
      Root mean squared error and Median absolute error
  
      :param dataframe: dataframe with columns 'date','temperature','ridge','composite',
      'with_gap'
      """
  
      gap_array = np.array(dataframe["with_gap"])
      gap_ids = np.argwhere(gap_array == -100.0)
  
      actual = np.array(dataframe["temperature"])[gap_ids]
      ridge_predicted = np.array(dataframe["ridge"])[gap_ids]
      composite_predicted = np.array(dataframe["composite"])[gap_ids]
  
      model_labels = ["Inverted ridge regression", "Composite model"]
      for predicted, model_label in zip(
          [ridge_predicted, composite_predicted], model_labels
      ):
          print(f"{model_label}")
  
          mae_metric = mean_absolute_error(actual, predicted)
          print(f"Mean absolute error - {mae_metric:.2f}")
  
          rmse_metric = (mean_squared_error(actual, predicted)) ** 0.5
          print(f"Root mean squared error - {rmse_metric:.2f}")
  
          median_ae_metric = median_absolute_error(actual, predicted)
          print(f"Median absolute error - {median_ae_metric:.2f} \n")
  
file_path: FEDOT/cases/time_series_gapfilling_case.py
imports: import os
  import matplotlib.pyplot
  import numpy
  import pandas
  from sklearn.metrics import mean_absolute_error, mean_squared_error, median_absolute_error
  from fedot.core.pipelines.node import PipelineNode
  from fedot.core.pipelines.pipeline import Pipeline
  from fedot.core.utils import fedot_project_root
  from fedot.utilities.ts_gapfilling import ModelGapFiller
label_desc: Use image node_id 1 for calling a global function with example usage: print_metrics(dataframe) without return types