code: def bayesian(self, params=None):
          '''
          Run the Bayesian Bandit algorithm which utilizes a beta distribution
          for exploration and exploitation.
  
          Parameters
          ----------
          params : None
              For API consistency, this function can take a parameters argument,
              but it is ignored.
  
          Returns
          -------
          int
              Index of chosen bandit
          '''
          p_success_arms = [
              np.random.beta(self.wins[i] + 1, self.pulls[i] - self.wins[i] + 1)
              for i in range(len(self.wins))
              ]
  
          return np.array(p_success_arms).argmax(f bayesian(self, params=None):
          '''
          Run the Bayesian Bandit algorithm which utilizes a beta distribution
          for exploration and exploitation.
  
          Parameters
          ----------
          params : None
              For API consistency, this function can take a parameters argument,
              but it is ignored.
  
          Returns
          -------
          int
              Index of chosen bandit
          '''
          p_success_arms = [
              np.random.beta(self.wins[i] + 1, self.pulls[i] - self.wins[i] + 1)
              for i in range(len(self.wins))
              ]
  
          return np.array(p_success_arms).argmax()
docs: Run the Bayesian Bandit algorithm which utilizes a beta distribution
          for exploration and exploitation.
  
          Parameters
          ----------
          params : None
              For API consistency, this function can take a parameters argument,
              but it is ignored.
  
          Returns
          -------
          int
              Index of chosen bandit