code: def check_drift(
      reference_data: Optional[pd.DataFrame] = None,
      current_data: Optional[pd.DataFrame] = None,
      target: Optional[str] = None,
      numeric_features: Optional[List[str]] = None,
      categorical_features: Optional[List[str]] = None,
      date_features: Optional[List[str]] = None,
      filename: Optional[str] = None,
  ) -> str:
      """
      This function generates a drift report file using the
      evidently library.
  
  
      Example
      -------
      >>> from pycaret.datasets import get_data
      >>> boston = get_data('boston')
      >>> from pycaret.classification import *
      >>> exp_name = setup(data = boston,  target = 'medv')
      >>> check_drift()
  
  
      reference_data: Optional[pd.DataFrame] = None
          Reference data. If not specified, will use training data.
          Must be specified if ``setup()`` has not been run.
  
  
      current_data: Optional[pd.DataFrame] = None
          Current data. If not specified, will use test data.
          Must be specified if ``setup()`` has not been run.
  
  
      target: Optional[str] = None
          Name of the target column. If not specified, will use
          the column specified in ``setup()``.
          Must be specified if ``setup()`` has not been run.
  
  
      numeric_features: Optional[List[str]] = None
          Names of numeric columns. If not specified, will use
          the columns specified/inferred in ``setup()``, or
          all non-categorical and non-date columns otherwise.
  
  
      categorical_features: Optional[List[str]] = None
          Names of categorical columns. If not specified, will use
          the columns specified/inferred in ``setup()``.
          Must be specified if ``setup()`` has not been run.
  
  
      date_features: Optional[List[str]] = None
          Names of date columns. If not specified, will use
          the columns specified/inferred in ``setup()``.
          Must be specified if ``setup()`` has not been run.
  
  
      filename: Optional[str] = None
          Path to save the generated HTML file to. If not specified,
          will default to '[EXPERIMENT_NAME]_[TIMESTAMP]_Drift_Report.html'.
  
  
      Returns:
          Path the generated HTML file was saved to.
      """
      experiment = _CURRENT_EXPERIMENT
      if experiment is None:
          experiment = _EXPERIMENT_CLASS()
  
      return experiment.check_drift(
          reference_data=reference_data,
          current_data=current_data,
          target=target,
          numeric_features=numeric_features,
          categorical_features=categorical_features,
          date_features=date_features,
          filename=filename,
      )
  
imports: import logging
  import os
  from typing import Any, BinaryIO, Callable, Dict, List, Optional, Union
  import pandas
  from joblib.memory import Memory
  from pycaret.internal.parallel.parallel_backend import ParallelBackend
  from pycaret.loggers.base_logger import BaseLogger
  from pycaret.regression.oop import RegressionExperiment
  from pycaret.utils.constants import DATAFRAME_LIKE, SEQUENCE_LIKE, TARGET_LIKE
  from pycaret.utils.generic import check_if_global_is_not_none
label_desc: Use image node_id 36 for calling a global function with example usage: check_drift(reference_data, current_data, target, numeric_features, categorical_features, date_features, filename) and returns: experiment