code: def toy_heaviside(seed=default_seed, max_iters=100, optimize=True, plot=True):
      
  
      try:import pods
      except ImportError:print('pods unavailable, see https://github.com/sods/ods for example datasets')
      data = pods.datasets.toy_linear_1d_classification(seed=seed)
      Y = data['Y'][:, 0:1]
      Y[Y.flatten() == -1] = 0
  
      # Model definition
      kernel = GPy.kern.RBF(1)
      likelihood = GPy.likelihoods.Bernoulli(gp_link=GPy.likelihoods.link_functions.Heaviside())
      ep = GPy.inference.latent_function_inference.expectation_propagation.EP()
      m = GPy.core.GP(X=data['X'], Y=Y, kernel=kernel, likelihood=likelihood, inference_method=ep, name='gp_classification_heaviside')
      #m = GPy.models.GPClassification(data['X'], likelihood=likelihood)
  
      # Optimize
      if optimize:
          # Parameters optimization:
          for _ in range(5):
              m.optimize(max_iters=int(max_iters/5))
          print(m)
  
      # Plot
      if plot:
          from matplotlib import pyplot as plt
          fig, axes = plt.subplots(2, 1)
          m.plot_f(ax=axes[0])
          m.plot(ax=axes[1])
  
      print(m)
      return m
docs: Simple 1D classification example using a heavy side gp transformation
  
      :param seed: seed value for data generation (default is 4).
      :type seed: int