class_docstr: Build a Curve Model to predict the performance
  
  Algorithm: https://github.com/Microsoft/nni/blob/master/src/sdk/pynni/nni/curvefitting_assessor/README.md
  
  Parameters
  ----------
  target_pos : int
      The point we need to predict
class_docstr_tok: ["Build","a","Curve","Model","to","predict","the","performance","Algorithm",":","https",":","\/\/github.com\/Microsoft\/nni\/blob\/master\/src\/sdk\/pynni\/nni\/curvefitting_assessor\/README.md","Parameters","--","--","--","--","--","target_pos",":","int","The","point","we","need","to","predict"]
docstr: predict the value of target position
  
  Parameters
  ----------
  trial_history : list
      The history performance matrix of each trial.
  
  Returns
  -------
  float
      expected final result performance of this hyperparameter config
docstr_tok: ["predict","the","value","of","target","position","Parameters","--","--","--","--","--","trial_history",":","list","The","history","performance","matrix","of","each","trial",".","Returns","--","--","--","-","float","expected","final","result","performance","of","this","hyperparameter","config"]
code: def predict(self, trial_history):
      """predict the value of target position
  
      Parameters
      ----------
      trial_history : list
          The history performance matrix of each trial.
  
      Returns
      -------
      float
          expected final result performance of this hyperparameter config
      """
      self.trial_history = trial_history
      self.point_num = len(trial_history)
      self.fit_theta()
      self.filter_curve()
      if self.effective_model_num < LEAST_FITTED_FUNCTION:
          # different curve's predictions are too scattered, requires more information
          return None
      self.mcmc_sampling()
      ret = 0
      for i in range(NUM_OF_INSTANCE):
          ret += self.f_comb(self.target_pos, self.weight_samples[i])
      return ret / NUM_OF_INSTANCE
  
file_path: nni/nni/algorithms/hpo/curvefitting_assessor/model_factory.py
imports: import logging
  import numpy
  from scipy import optimize
  from .curvefunctions import *
label_desc: Use image node_id 13 for calling the CurveModel obj's underlying member method code with example usage: obj.predict(trial_history) and returns: unknown, None