code: def evaluate(
      model: dict,
      df: pd.DataFrame,
      target_label: str = "Decision",
      task: str = "test",
      silent: bool = False,
  ) -> dict:
      """
      Evaluate the performance of a built model on a data set
      Args:
          model (dict): built model which is the output of fit function
          df (pandas data frame): data frame you would like to evaluate
          target_label (str): target label
          task (string): set this to train, validation or test
          silent (bool): set this to True if you do not want to see
              any informative logs
      Returns:
          evaluation results (dict)
      """
  
      # --------------------------
  
      if target_label != "Decision":
          df = df.rename(columns={target_label: "Decision"})
  
      # if target is not the last column
      if df.columns[-1] != "Decision":
          new_column_order = df.columns.drop("Decision").tolist() + [
              "Decision"
          ]
          logger.debug(new_column_order)
          df = df[new_column_order]
  
      # --------------------------
  
      functions.bulk_prediction(df, model)
  
      enableAdaboost = model["config"]["enableAdaboost"]
  
      if enableAdaboost == True:
          df["Decision"] = df["Decision"].astype(str)
          df["Prediction"] = df["Prediction"].astype(str)
  
      return cb_eval.evaluate(df, task=task, silent=silent)
  
file_path: chefboost/chefboost/Chefboost.py
imports: import time
  import pickle
  import os
  import json
  from typing import Optional, Dict, Any, Union
  import numpy
  import pandas
  from chefboost.commons import functions, evaluate
  from chefboost.training import Training
  from chefboost.tuning import gbm, adaboost, randomforest
  from chefboost.commons.logger import Logger
label_desc: Use image node_id 7 for calling a global function with example usage: evaluate(model, df, target_label, task, silent) and returns: cb_eval