code: def train_model() -> StructureModel:
      """
      This Bayesian Model structure will be used in all tests, and all fixtures will adhere to this structure.
  
      Cause-only nodes: [d, e]
      Effect-only nodes: [a, c]
      Cause / Effect nodes: [b]
  
              d
           ↙  ↓  ↘
          a ← b → c
              ↑  ↗
              e
      """
      model = StructureModel()
      model.add_edges_from(
          [
              ("b", "a"),
              ("b", "c"),
              ("d", "a"),
              ("d", "c"),
              ("d", "b"),
              ("e", "c"),
              ("e", "b"),
          ]
      )
      return model
  
imports: import itertools
  from typing import Dict
  import numpy
  import pandas
  import pytest
  from pgmpy.models import BayesianNetwork
  from sklearn.datasets import load_iris
  from causalnex.discretiser import Discretiser
  from causalnex.network import BayesianNetwork
  from causalnex.structure import StructureModel
  from causalnex.structure.notears import from_pandas
label_desc: Use image node_id 1 for calling a global function with example usage: train_model() and returns: model