prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  [BUG] some randomness occurring in tabular sample
  **Describe the bug**
  The results are not the same even when setting random states
  
  **To Reproduce**
  Run model error / performance report a couple of times
  
  **Expected behavior**
  Same results
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `docs/source/tutorials/tabular/plot_quickstart_in_5_minutes.py`
  Content:
  ```
  1 # -*- coding: utf-8 -*-
  2 """
  3 Quickstart in 5 minutes
  4 ***********************
  5 In order to run your first Deepchecks Suite all you need to have is the data
  6 and model that you wish to validate. More specifically, you need:
  7 
  8 * Your train and test data (in Pandas DataFrames or Numpy Arrays)
  9 * (optional) A `supported model </user-guide/tabular/supported_models.html>`__ (including XGBoost,
  10   scikit-learn models, and many more). Required for running checks that need the
  11   model's predictions for running.
  12 
  13 To run your first suite on your data and model, you need only a few lines of
  14 code, that start here: `Define a Dataset Object <#define-a-dataset-object>`__.
  15 
  16 # If you don't have deepchecks installed yet:
  17 
  18 .. code:: python
  19 
  20     # If you don't have deepchecks installed yet:
  21     import sys
  22     !{sys.executable} -m pip install deepchecks -U --quiet #--user
  23 
  24 """
  25 
  26 #%%
  27 # Load Data, Split Train-Val, and Train a Simple Model
  28 # ====================================================
  29 # For the purpose of this guide we'll use the simple iris dataset and train a
  30 # simple random forest model for multiclass classification:
  31 
  32 # General imports
  33 import pandas as pd
  34 import numpy as np
  35 
  36 from deepchecks.tabular.datasets.classification import iris
  37 from sklearn.ensemble import RandomForestClassifier
  38 from sklearn.model_selection import train_test_split
  39 
  40 # Load Data
  41 iris_df = iris.load_data(data_format='Dataframe', as_train_test=False)
  42 label_col = 'target'
  43 df_train, df_test = train_test_split(iris_df, stratify=iris_df[label_col], random_state=0)
  44 
  45 # Train Model
  46 rf_clf = RandomForestClassifier()
  47 rf_clf.fit(df_train.drop(label_col, axis=1), df_train[label_col]);
  48 
  49 #%%
  50 # Define a Dataset Object
  51 # =======================
  52 # Initialize the Dataset object, stating the relevant metadata about the dataset
  53 # (e.g. the name for the label column)
  54 #
  55 # Check out the Dataset's attributes to see which additional special columns can be
  56 # declared and used (e.g. date column, index column).
  57 
  58 from deepchecks.tabular import Dataset
  59 
  60 # We explicitly state that this dataset has no categorical features, otherwise they will be automatically inferred
  61 # If the dataset has categorical features, the best practice is to pass a list with their names
  62 
  63 ds_train = Dataset(df_train, label=label_col, cat_features=[])
  64 ds_test =  Dataset(df_test,  label=label_col, cat_features=[])
  65 
  66 #%%
  67 # Run a Deepchecks Suite
  68 # ======================
  69 # Run the full suite
  70 # ------------------
  71 # Use the ``full_suite`` that is a collection of (most of) the prebuilt checks.
  72 #
  73 # Check out the `when should you use </getting-started/when_should_you_use.html>`__
  74 # deepchecks guide for some more info about the existing suites and when to use them.
  75 
  76 from deepchecks.tabular.suites import full_suite
  77 
  78 suite = full_suite()
  79 
  80 #%%
  81 
  82 suite.run(train_dataset=ds_train, test_dataset=ds_test, model=rf_clf)
  83 
  84 #%%
  85 # Run the integrity suite
  86 # -----------------------
  87 # If you still haven't started modeling and just have a single dataset, you
  88 # can use the ``single_dataset_integrity``:
  89 
  90 from deepchecks.tabular.suites import single_dataset_integrity
  91 
  92 integ_suite = single_dataset_integrity()
  93 integ_suite.run(ds_train)
  94 
  95 #%%
  96 # Run a Deepchecks Check
  97 # ======================
  98 # If you want to run a specific check, you can just import it and run it directly.
  99 #
  100 # Check out the `Check tabular examples </examples/index.html>`__ in
  101 # the examples or the `API Reference </api/index.html>`__ for more info about the
  102 # existing checks and their parameters.
  103 
  104 from deepchecks.tabular.checks import TrainTestLabelDrift
  105 
  106 #%%
  107 
  108 check = TrainTestLabelDrift()
  109 result = check.run(ds_train, ds_test)
  110 result
  111 
  112 #%%
  113 # %%
  114 # and also inspect the result value which has a check-dependant structure:
  115 
  116 result.value
  117 
  118 #%%
  119 # Edit an Existing Suite
  120 # ======================
  121 # Inspect suite and remove condition
  122 # ----------------------------------
  123 # We can see that the single feature contribution failed, both for test and for
  124 # train. Since this is a very simple dataset with few features and this behavior
  125 # is not necessarily problematic, we will remove the existing conditions for the PPS
  126 
  127 # Lets first print the suite to find the conditions that we want to change:
  128 
  129 suite
  130 
  131 #%%
  132 
  133 # now we can use the check's index and the condition's number to remove it:
  134 print(suite[6])
  135 suite[6].remove_condition(0)
  136 
  137 #%%
  138 
  139 # print and see that the condition was removed
  140 suite[6]
  141 
  142 #%%
  143 # If we now re-run the suite, all of the existing conditions will pass.
  144 #
  145 # *Note: the check we manipulated will still run as part of the Suite, however
  146 # it won't appear in the Conditions Summary since it no longer has any
  147 # conditions defined on it. You can still see its display results in the 
  148 # Additional Outputs section*
  149 #
  150 # **For more info about working with conditions, see the detailed configuring 
  151 # conditions guide.**
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/docs/source/tutorials/tabular/plot_quickstart_in_5_minutes.py b/docs/source/tutorials/tabular/plot_quickstart_in_5_minutes.py
  --- a/docs/source/tutorials/tabular/plot_quickstart_in_5_minutes.py
  +++ b/docs/source/tutorials/tabular/plot_quickstart_in_5_minutes.py
  @@ -43,7 +43,7 @@
   df_train, df_test = train_test_split(iris_df, stratify=iris_df[label_col], random_state=0)
   
   # Train Model
  -rf_clf = RandomForestClassifier()
  +rf_clf = RandomForestClassifier(random_state=0)
   rf_clf.fit(df_train.drop(label_col, axis=1), df_train[label_col]);
   
   #%%
  
verification_info: {"golden_diff": "diff --git a/docs/source/tutorials/tabular/plot_quickstart_in_5_minutes.py b/docs/source/tutorials/tabular/plot_quickstart_in_5_minutes.py\n--- a/docs/source/tutorials/tabular/plot_quickstart_in_5_minutes.py\n+++ b/docs/source/tutorials/tabular/plot_quickstart_in_5_minutes.py\n@@ -43,7 +43,7 @@\n df_train, df_test = train_test_split(iris_df, stratify=iris_df[label_col], random_state=0)\n \n # Train Model\n-rf_clf = RandomForestClassifier()\n+rf_clf = RandomForestClassifier(random_state=0)\n rf_clf.fit(df_train.drop(label_col, axis=1), df_train[label_col]);\n \n #%%\n", "issue": "[BUG] some randomness occurring in tabular sample\n**Describe the bug**\r\nThe results are not the same even when setting random states\r\n\r\n**To Reproduce**\r\nRun model error / performance report a couple of times\r\n\r\n**Expected behavior**\r\nSame results\n", "before_files": [{"content": "# -*- coding: utf-8 -*-\n\"\"\"\nQuickstart in 5 minutes\n***********************\nIn order to run your first Deepchecks Suite all you need to have is the data\nand model that you wish to validate. More specifically, you need:\n\n* Your train and test data (in Pandas DataFrames or Numpy Arrays)\n* (optional) A `supported model </user-guide/tabular/supported_models.html>`__ (including XGBoost,\n  scikit-learn models, and many more). Required for running checks that need the\n  model's predictions for running.\n\nTo run your first suite on your data and model, you need only a few lines of\ncode, that start here: `Define a Dataset Object <#define-a-dataset-object>`__.\n\n# If you don't have deepchecks installed yet:\n\n.. code:: python\n\n    # If you don't have deepchecks installed yet:\n    import sys\n    !{sys.executable} -m pip install deepchecks -U --quiet #--user\n\n\"\"\"\n\n#%%\n# Load Data, Split Train-Val, and Train a Simple Model\n# ====================================================\n# For the purpose of this guide we'll use the simple iris dataset and train a\n# simple random forest model for multiclass classification:\n\n# General imports\nimport pandas as pd\nimport numpy as np\n\nfrom deepchecks.tabular.datasets.classification import iris\nfrom sklearn.ensemble import RandomForestClassifier\nfrom sklearn.model_selection import train_test_split\n\n# Load Data\niris_df = iris.load_data(data_format='Dataframe', as_train_test=False)\nlabel_col = 'target'\ndf_train, df_test = train_test_split(iris_df, stratify=iris_df[label_col], random_state=0)\n\n# Train Model\nrf_clf = RandomForestClassifier()\nrf_clf.fit(df_train.drop(label_col, axis=1), df_train[label_col]);\n\n#%%\n# Define a Dataset Object\n# =======================\n# Initialize the Dataset object, stating the relevant metadata about the dataset\n# (e.g. the name for the label column)\n#\n# Check out the Dataset's attributes to see which additional special columns can be\n# declared and used (e.g. date column, index column).\n\nfrom deepchecks.tabular import Dataset\n\n# We explicitly state that this dataset has no categorical features, otherwise they will be automatically inferred\n# If the dataset has categorical features, the best practice is to pass a list with their names\n\nds_train = Dataset(df_train, label=label_col, cat_features=[])\nds_test =  Dataset(df_test,  label=label_col, cat_features=[])\n\n#%%\n# Run a Deepchecks Suite\n# ======================\n# Run the full suite\n# ------------------\n# Use the ``full_suite`` that is a collection of (most of) the prebuilt checks.\n#\n# Check out the `when should you use </getting-started/when_should_you_use.html>`__\n# deepchecks guide for some more info about the existing suites and when to use them.\n\nfrom deepchecks.tabular.suites import full_suite\n\nsuite = full_suite()\n\n#%%\n\nsuite.run(train_dataset=ds_train, test_dataset=ds_test, model=rf_clf)\n\n#%%\n# Run the integrity suite\n# -----------------------\n# If you still haven't started modeling and just have a single dataset, you\n# can use the ``single_dataset_integrity``:\n\nfrom deepchecks.tabular.suites import single_dataset_integrity\n\ninteg_suite = single_dataset_integrity()\ninteg_suite.run(ds_train)\n\n#%%\n# Run a Deepchecks Check\n# ======================\n# If you want to run a specific check, you can just import it and run it directly.\n#\n# Check out the `Check tabular examples </examples/index.html>`__ in\n# the examples or the `API Reference </api/index.html>`__ for more info about the\n# existing checks and their parameters.\n\nfrom deepchecks.tabular.checks import TrainTestLabelDrift\n\n#%%\n\ncheck = TrainTestLabelDrift()\nresult = check.run(ds_train, ds_test)\nresult\n\n#%%\n# %%\n# and also inspect the result value which has a check-dependant structure:\n\nresult.value\n\n#%%\n# Edit an Existing Suite\n# ======================\n# Inspect suite and remove condition\n# ----------------------------------\n# We can see that the single feature contribution failed, both for test and for\n# train. Since this is a very simple dataset with few features and this behavior\n# is not necessarily problematic, we will remove the existing conditions for the PPS\n\n# Lets first print the suite to find the conditions that we want to change:\n\nsuite\n\n#%%\n\n# now we can use the check's index and the condition's number to remove it:\nprint(suite[6])\nsuite[6].remove_condition(0)\n\n#%%\n\n# print and see that the condition was removed\nsuite[6]\n\n#%%\n# If we now re-run the suite, all of the existing conditions will pass.\n#\n# *Note: the check we manipulated will still run as part of the Suite, however\n# it won't appear in the Conditions Summary since it no longer has any\n# conditions defined on it. You can still see its display results in the \n# Additional Outputs section*\n#\n# **For more info about working with conditions, see the detailed configuring \n# conditions guide.**", "path": "docs/source/tutorials/tabular/plot_quickstart_in_5_minutes.py"}], "after_files": [{"content": "# -*- coding: utf-8 -*-\n\"\"\"\nQuickstart in 5 minutes\n***********************\nIn order to run your first Deepchecks Suite all you need to have is the data\nand model that you wish to validate. More specifically, you need:\n\n* Your train and test data (in Pandas DataFrames or Numpy Arrays)\n* (optional) A `supported model </user-guide/tabular/supported_models.html>`__ (including XGBoost,\n  scikit-learn models, and many more). Required for running checks that need the\n  model's predictions for running.\n\nTo run your first suite on your data and model, you need only a few lines of\ncode, that start here: `Define a Dataset Object <#define-a-dataset-object>`__.\n\n# If you don't have deepchecks installed yet:\n\n.. code:: python\n\n    # If you don't have deepchecks installed yet:\n    import sys\n    !{sys.executable} -m pip install deepchecks -U --quiet #--user\n\n\"\"\"\n\n#%%\n# Load Data, Split Train-Val, and Train a Simple Model\n# ====================================================\n# For the purpose of this guide we'll use the simple iris dataset and train a\n# simple random forest model for multiclass classification:\n\n# General imports\nimport pandas as pd\nimport numpy as np\n\nfrom deepchecks.tabular.datasets.classification import iris\nfrom sklearn.ensemble import RandomForestClassifier\nfrom sklearn.model_selection import train_test_split\n\n# Load Data\niris_df = iris.load_data(data_format='Dataframe', as_train_test=False)\nlabel_col = 'target'\ndf_train, df_test = train_test_split(iris_df, stratify=iris_df[label_col], random_state=0)\n\n# Train Model\nrf_clf = RandomForestClassifier(random_state=0)\nrf_clf.fit(df_train.drop(label_col, axis=1), df_train[label_col]);\n\n#%%\n# Define a Dataset Object\n# =======================\n# Initialize the Dataset object, stating the relevant metadata about the dataset\n# (e.g. the name for the label column)\n#\n# Check out the Dataset's attributes to see which additional special columns can be\n# declared and used (e.g. date column, index column).\n\nfrom deepchecks.tabular import Dataset\n\n# We explicitly state that this dataset has no categorical features, otherwise they will be automatically inferred\n# If the dataset has categorical features, the best practice is to pass a list with their names\n\nds_train = Dataset(df_train, label=label_col, cat_features=[])\nds_test =  Dataset(df_test,  label=label_col, cat_features=[])\n\n#%%\n# Run a Deepchecks Suite\n# ======================\n# Run the full suite\n# ------------------\n# Use the ``full_suite`` that is a collection of (most of) the prebuilt checks.\n#\n# Check out the `when should you use </getting-started/when_should_you_use.html>`__\n# deepchecks guide for some more info about the existing suites and when to use them.\n\nfrom deepchecks.tabular.suites import full_suite\n\nsuite = full_suite()\n\n#%%\n\nsuite.run(train_dataset=ds_train, test_dataset=ds_test, model=rf_clf)\n\n#%%\n# Run the integrity suite\n# -----------------------\n# If you still haven't started modeling and just have a single dataset, you\n# can use the ``single_dataset_integrity``:\n\nfrom deepchecks.tabular.suites import single_dataset_integrity\n\ninteg_suite = single_dataset_integrity()\ninteg_suite.run(ds_train)\n\n#%%\n# Run a Deepchecks Check\n# ======================\n# If you want to run a specific check, you can just import it and run it directly.\n#\n# Check out the `Check tabular examples </examples/index.html>`__ in\n# the examples or the `API Reference </api/index.html>`__ for more info about the\n# existing checks and their parameters.\n\nfrom deepchecks.tabular.checks import TrainTestLabelDrift\n\n#%%\n\ncheck = TrainTestLabelDrift()\nresult = check.run(ds_train, ds_test)\nresult\n\n#%%\n# %%\n# and also inspect the result value which has a check-dependant structure:\n\nresult.value\n\n#%%\n# Edit an Existing Suite\n# ======================\n# Inspect suite and remove condition\n# ----------------------------------\n# We can see that the single feature contribution failed, both for test and for\n# train. Since this is a very simple dataset with few features and this behavior\n# is not necessarily problematic, we will remove the existing conditions for the PPS\n\n# Lets first print the suite to find the conditions that we want to change:\n\nsuite\n\n#%%\n\n# now we can use the check's index and the condition's number to remove it:\nprint(suite[6])\nsuite[6].remove_condition(0)\n\n#%%\n\n# print and see that the condition was removed\nsuite[6]\n\n#%%\n# If we now re-run the suite, all of the existing conditions will pass.\n#\n# *Note: the check we manipulated will still run as part of the Suite, however\n# it won't appear in the Conditions Summary since it no longer has any\n# conditions defined on it. You can still see its display results in the \n# Additional Outputs section*\n#\n# **For more info about working with conditions, see the detailed configuring \n# conditions guide.**", "path": "docs/source/tutorials/tabular/plot_quickstart_in_5_minutes.py"}]}