code: def viz_iris(
      orientation="TD", max_depth=5, random_state=666, fancy=True
  ):
      clf = tree.DecisionTreeClassifier(
          max_depth=max_depth, random_state=random_state
      )
      iris = load_iris()
  
      data = pd.DataFrame(iris.data)
      data.columns = iris.feature_names
  
      clf = clf.fit(data, iris.target)
  
      # for i in range(len(iris.data)):
      for i in [60]:
          x = data.iloc[i]
          pred = clf.predict([x.values])
  
          shadow_tree = ShadowDecTree(
              clf,
              iris.data,
              iris.target,
              feature_names=iris.feature_names,
              class_names=["setosa", "versicolor", "virginica"],
          )
  
          pred2 = shadow_tree.predict(x.values)
          print(
              f'{x} -> {pred[0]} vs mine {pred2[0]}, path = {[f"node{p.feature_name()}" for p in pred2[1]]}'
          )
          path = [n.id for n in pred2[1]]
          if pred[0] != pred2[0]:
              print("MISMATCH!")
  
      features = list(data.columns)
      features = np.array(
          [
              "sepal length (cm)",
              "sepal width (cm)",
              "petal length (cm)",
              "petal width (cm)",
          ]
      )
      st = dtreeviz(
          clf,
          iris.data,
          iris.target,
          target_name="variety",
          feature_names=features,
          orientation=orientation,
          class_names=[
              "setosa",
              "versicolor",
              "virginica",
          ],  # 0,1,2 targets
          # histtype='strip',
          fancy=fancy,
          X=x,
      )
  
      return st
  
file_path: dtreeviz/testing/testone.py
imports: import graphviz
  from dtreeviz.shadow import *
  from gen_samples import *
  import tempfile
  from sklearn.tree import export_graphviz
label_desc: Use image node_id 1 for calling a global function with example usage: viz_iris(orientation, max_depth, random_state, fancy) and returns: st