class_docstr: Tabular suite to run checks of types: TrainTestCheck, SingleDatasetCheck, ModelOnlyCheck.
class_docstr_tok: ["Tabular","suite","to","run","checks","of","types",":","TrainTestCheck",",","SingleDatasetCheck",",","ModelOnlyCheck","."]
docstr: Run all checks.
  
  Parameters
  ----------
  train_dataset: Optional[Union[Dataset, pd.DataFrame]] , default None
      object, representing data an estimator was fitted on
  test_dataset : Optional[Union[Dataset, pd.DataFrame]] , default None
      object, representing data an estimator predicts on
  model : Optional[BasicModel] , default None
      A scikit-learn-compatible fitted estimator instance
  run_single_dataset: Optional[str], default None
      'Train', 'Test' , or None to run on both train and test.
  {additional_context_params:2*indent}
  
  Returns
  -------
  SuiteResult
      All results by all initialized checks
docstr_tok: ["Run","all","checks",".","Parameters","--","--","--","--","--","train_dataset",":","Optional","[","Union","[","Dataset",",","pd.DataFrame","]","]",",","default","None","object",",","representing","data","an","estimator","was","fitted","on","test_dataset",":","Optional","[","Union","[","Dataset",",","pd.DataFrame","]","]",",","default","None","object",",","representing","data","an","estimator","predicts","on","model",":","Optional","[","BasicModel","]",",","default","None","A","scikit-learn-compatible","fitted","estimator","instance","run_single_dataset",":","Optional","[","str","]",",","default","None","'Train","'",",","'Test","'",",","or","None","to","run","on","both","train","and","test",".","{","additional_context_params:2","*","indent","}","Returns","--","--","--","-","SuiteResult","All","results","by","all","initialized","checks"]
code: def run(
      self,
      train_dataset: Union[Dataset, pd.DataFrame, None] = None,
      test_dataset: Union[Dataset, pd.DataFrame, None] = None,
      model: Optional[BasicModel] = None,
      feature_importance: Optional[pd.Series] = None,
      feature_importance_force_permutation: bool = False,
      feature_importance_timeout: int = 120,
      with_display: bool = True,
      y_pred_train: Optional[np.ndarray] = None,
      y_pred_test: Optional[np.ndarray] = None,
      y_proba_train: Optional[np.ndarray] = None,
      y_proba_test: Optional[np.ndarray] = None,
      run_single_dataset: Optional[str] = None,
      model_classes: Optional[List] = None,
  ) -> SuiteResult:
      """Run all checks.
  
      Parameters
      ----------
      train_dataset: Optional[Union[Dataset, pd.DataFrame]] , default None
          object, representing data an estimator was fitted on
      test_dataset : Optional[Union[Dataset, pd.DataFrame]] , default None
          object, representing data an estimator predicts on
      model : Optional[BasicModel] , default None
          A scikit-learn-compatible fitted estimator instance
      run_single_dataset: Optional[str], default None
          'Train', 'Test' , or None to run on both train and test.
      {additional_context_params:2*indent}
  
      Returns
      -------
      SuiteResult
          All results by all initialized checks
      """
      context = Context(
          train_dataset,
          test_dataset,
          model,
          feature_importance=feature_importance,
          feature_importance_force_permutation=feature_importance_force_permutation,
          feature_importance_timeout=feature_importance_timeout,
          with_display=with_display,
          y_pred_train=y_pred_train,
          y_pred_test=y_pred_test,
          y_proba_train=y_proba_train,
          y_proba_test=y_proba_test,
          model_classes=model_classes,
      )
  
      progress_bar = create_progress_bar(
          iterable=list(self.checks.values()),
          name=self.name,
          unit="Check",
      )
  
      # Run all checks
      results = []
      for check in progress_bar:
          start = time.time()
  
          try:
              progress_bar.set_postfix(
                  {"Check": check.name()}, refresh=False
              )
              if isinstance(check, TrainTestCheck):
                  if (
                      train_dataset is not None
                      and test_dataset is not None
                  ):
                      check_result = check.run_logic(context)
                      context.finalize_check_result(check_result, check)
                      results.append(check_result)
                  else:
                      msg = "Check is irrelevant if not supplied with both train and test datasets"
                      results.append(
                          Suite._get_unsupported_failure(check, msg)
                      )
              elif isinstance(check, SingleDatasetCheck):
                  if train_dataset is not None and (
                      run_single_dataset
                      in [DatasetKind.TRAIN.value, None]
                  ):
                      # In case of train & test, doesn't want to skip test if train fails. so have to explicitly
                      # wrap it in try/except
                      try:
                          check_result = check.run_logic(
                              context, dataset_kind=DatasetKind.TRAIN
                          )
                          context.finalize_check_result(
                              check_result, check, DatasetKind.TRAIN
                          )
                          # In case of single dataset not need to edit the header
                          if test_dataset is not None:
                              check_result.header = f"{check_result.get_header()} - Train Dataset"
                      except Exception as exp:
                          check_result = CheckFailure(
                              check, exp, " - Train Dataset"
                          )
                      results.append(check_result)
                  if test_dataset is not None and (
                      run_single_dataset
                      in [DatasetKind.TEST.value, None]
                  ):
                      try:
                          check_result = check.run_logic(
                              context, dataset_kind=DatasetKind.TEST
                          )
                          context.finalize_check_result(
                              check_result, check, DatasetKind.TEST
                          )
                          # In case of single dataset not need to edit the header
                          if train_dataset is not None:
                              check_result.header = f"{check_result.get_header()} - Test Dataset"
                      except Exception as exp:
                          check_result = CheckFailure(
                              check, exp, " - Test Dataset"
                          )
                      results.append(check_result)
                  if train_dataset is None and test_dataset is None:
                      msg = "Check is irrelevant if dataset is not supplied"
                      results.append(
                          Suite._get_unsupported_failure(check, msg)
                      )
              elif isinstance(check, ModelOnlyCheck):
                  if model is not None:
                      check_result = check.run_logic(context)
                      context.finalize_check_result(check_result, check)
                      results.append(check_result)
                  else:
                      msg = (
                          "Check is irrelevant if model is not supplied"
                      )
                      results.append(
                          Suite._get_unsupported_failure(check, msg)
                      )
              else:
                  raise TypeError(
                      f"Don't know how to handle type {check.__class__.__name__} in suite."
                  )
          except Exception as exp:
              results.append(CheckFailure(check, exp))
  
          results[-1].run_time = int(round(time.time() - start, 0))
  
      return SuiteResult(self.name, results)
  
file_path: deepchecks/deepchecks/tabular/suite.py
imports: import time
  from typing import List, Optional, Tuple, Union
  import numpy
  import pandas
  from deepchecks.core import DatasetKind
  from deepchecks.core.check_result import CheckFailure
  from deepchecks.core.suite import BaseSuite, SuiteResult
  from deepchecks.tabular._shared_docs import docstrings
  from deepchecks.tabular.base_checks import ModelOnlyCheck, SingleDatasetCheck, TrainTestCheck
  from deepchecks.tabular.context import Context
  from deepchecks.tabular.dataset import Dataset
  from deepchecks.utils.ipython import create_progress_bar
  from deepchecks.utils.typing import BasicModel
label_desc: Use image node_id 2 for calling the Suite obj's underlying member method code with example usage: obj.run(train_dataset, test_dataset, model, feature_importance, feature_importance_force_permutation, feature_importance_timeout, with_display, y_pred_train, y_pred_test, y_proba_train, y_proba_test, run_single_dataset, model_classes) and returns: SuiteResult