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: filter the poor performing curve
  
  Returns
  -------
  None
docstr_tok: ["filter","the","poor","performing","curve","Returns","--","--","--","-","None"]
code: def filter_curve(self):
      """filter the poor performing curve
  
      Returns
      -------
      None
      """
      avg = np.sum(self.trial_history) / self.point_num
      standard = avg * avg * self.point_num
      predict_data = []
      tmp_model = []
      for i in range(NUM_OF_FUNCTIONS):
          var = 0
          model = curve_combination_models[i]
          for j in range(1, self.point_num + 1):
              y = self.predict_y(model, j)
              var += (y - self.trial_history[j - 1]) * (
                  y - self.trial_history[j - 1]
              )
          if var < standard:
              predict_data.append(y)
              tmp_model.append(curve_combination_models[i])
      median = np.median(predict_data)
      std = np.std(predict_data)
      for model in tmp_model:
          y = self.predict_y(model, self.target_pos)
          epsilon = self.point_num / 10 * std
          if y < median + epsilon and y > median - epsilon:
              self.effective_model.append(model)
      self.effective_model_num = len(self.effective_model)
      logger.info("List of effective model: %s", self.effective_model)
  
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 3 for calling the CurveModel obj's underlying member method code with example usage: obj.filter_curve() without return types