code: def create_basic_scenario():
      X = pd.DataFrame(
          {
              "feature1": np.ones(5),
              "feature2": np.ones(5),
              "feature3": np.ones(5),
          }
      )
  
      class IncreaseFeature1(shap.actions.Action):
          """Sample action."""
  
          def __init__(self, amount):
              self.amount = amount
              self.cost = 5 * amount
  
          def __call__(self, X):
              X["feature1"] += self.amount
  
          def __str__(self):
              return f"Improve feature1 by {self.amount}."
  
      class IncreaseFeature2(shap.actions.Action):
          """Sample action."""
  
          def __init__(self, amount):
              self.amount = amount
              self.cost = 3 * amount
  
          def __call__(self, X):
              X["feature2"] += self.amount
  
          def __str__(self):
              return f"Improve feature2 by {self.amount}."
  
      class IncreaseFeature3(shap.actions.Action):
          """Sample action."""
  
          def __init__(self, amount):
              self.amount = amount
              self.cost = 4 * amount
  
          def __call__(self, X):
              X["feature3"] += self.amount
  
          def __str__(self):
              return f"Improve feature3 by {self.amount}."
  
      def passed(x):
          return np.sum(x) > 10
  
      return (
          X,
          IncreaseFeature1,
          IncreaseFeature2,
          IncreaseFeature3,
          passed,
      )
  
file_path: shap/tests/actions/_optimizer.py
imports: import numpy
  import pandas
  import pytest
  import shap
  from shap.utils._exceptions import ConvergenceError, InvalidAction
label_desc: Use image node_id 1 for calling a global function with example usage: create_basic_scenario() and returns: X,  IncreaseFeature1,  IncreaseFeature2,  IncreaseFeature3,  passed, unknown, str, self, str, str, self, str, str, self, str