docstr: Generate model predictions for `input_data`
  
  Parameters
  ----------
  input_data: Array-like
      Data containing the same number of features as were trained on, for which the model will
      predict output values
  
  Returns
  -------
  prediction: Array-like
      Output predictions made by the model, using `input_data`
docstr_tok: ["Generate","model","predictions","for","`","input_data","`","Parameters","--","--","--","--","--","input_data",":","Array-like","Data","containing","the","same","number","of","features","as","were","trained","on",",","for","which","the","model","will","predict","output","values","Returns","--","--","--","-","prediction",":","Array-like","Output","predictions","made","by","the","model",",","using","`","input_data","`"]
code: def predict(self, input_data):
      """Generate model predictions for `input_data`
  
      Parameters
      ----------
      input_data: Array-like
          Data containing the same number of features as were trained on, for which the model will
          predict output values
  
      Returns
      -------
      prediction: Array-like
          Output predictions made by the model, using `input_data`"""
      # NOTE: There are a couple places in this method that use the frowned-upon pattern of
      # ... `type(<variable>) == <type>`, instead of the preferred use of `isinstance`.
      # ... This is because booleans are subclasses of integers in Python; however, this method
      # ... needs to treat them differently, so `isinstance` can't be used
      if input_data is None:
          return None
  
      if (self.do_predict_proba is True) or type(
          self.do_predict_proba
      ) == int:
          prediction = self.model.predict_proba(input_data)
      else:
          prediction = self.model.predict(input_data)
  
      with suppress(IndexError):
          _index = (
              self.do_predict_proba
              if type(self.do_predict_proba) == int
              else ...
          )
          prediction = prediction[:, _index]
  
      return prediction
  
imports: from hyperparameter_hunter.sentinels import locate_sentinels
  from hyperparameter_hunter.settings import G
  from contextlib import suppress
  import inspect
  import sys
  import warnings
  import sklearn.utils
label_desc: Use image node_id 4 for calling the Model obj's underlying member method code with example usage: obj.predict(input_data) and returns: prediction, None