code: def predict_array(self, arr):
          
          precompute = self.precompute
          self.precompute = False
          pred = super().predict_array(arr)
          self.precompute = precompute
          return pred
docs: This over-ride is necessary because otherwise the learner method accesses the wrong model when it is called
          with precompute set to true
  
          Args:
              arr: a numpy array to be used as input to the model for prediction purposes
          Returns:
              a numpy array containing the predictions from the model