class_docstr: This class takes the function to optimize as well as the parameters bounds
  in order to find which values for the parameters yield the maximum value
  using bayesian optimization.
  
  Parameters
  ----------
  fun: function
      Constraint function. If multiple constraints are handled, this should
      return a numpy.ndarray of appropriate size.
  
  lb: numeric or numpy.ndarray
      Upper limit(s) for the constraints. The return value of `fun` should
      have exactly this shape.
  
  ub: numeric or numpy.ndarray
      Upper limit(s) for the constraints. The return value of `fun` should
      have exactly this shape.
  
  random_state: int or numpy.random.RandomState, optional(default=None)
      If the value is an integer, it is used as the seed for creating a
      numpy.random.RandomState. Otherwise the random state provided is used.
      When set to None, an unseeded random state is generated.
  
  Note
  ----
  In case of multiple constraints, this model assumes conditional
  independence. This means that for each constraint, the probability of
  fulfillment is the cdf of a univariate Gaussian. The overall probability
  is a simply the product of the individual probabilities.
class_docstr_tok: ["This","class","takes","the","function","to","optimize","as","well","as","the","parameters","bounds","in","order","to","find","which","values","for","the","parameters","yield","the","maximum","value","using","bayesian","optimization",".","Parameters","--","--","--","--","--","fun",":","function","Constraint","function",".","If","multiple","constraints","are","handled",",","this","should","return","a","numpy.ndarray","of","appropriate","size",".","lb",":","numeric","or","numpy.ndarray","Upper","limit","(","s",")","for","the","constraints",".","The","return","value","of","`","fun","`","should","have","exactly","this","shape",".","ub",":","numeric","or","numpy.ndarray","Upper","limit","(","s",")","for","the","constraints",".","The","return","value","of","`","fun","`","should","have","exactly","this","shape",".","random_state",":","int","or","numpy.random.RandomState",",","optional","(","default=None",")","If","the","value","is","an","integer",",","it","is","used","as","the","seed","for","creating","a","numpy.random.RandomState",".","Otherwise","the","random","state","provided","is","used",".","When","set","to","None",",","an","unseeded","random","state","is","generated",".","Note","--","--","In","case","of","multiple","constraints",",","this","model","assumes","conditional","independence",".","This","means","that","for","each","constraint",",","the","probability","of","fulfillment","is","the","cdf","of","a","univariate","Gaussian",".","The","overall","probability","is","a","simply","the","product","of","the","individual","probabilities","."]
code: def model(self):
      return self._model
  
file_path: BayesianOptimization/bayes_opt/constraint.py
imports: import numpy
  from sklearn.gaussian_process.kernels import Matern
  from sklearn.gaussian_process import GaussianProcessRegressor
  from scipy.stats import norm
label_desc: Use image node_id 4 for calling the ConstraintModel obj's underlying member method code with example usage: obj.model() and returns: self