Пример #1
0
def smoothen(objective_map, decisions, keys=[0, 1]):
  smoothened = []
  for key in keys:
    objectives = objective_map[key]
    sk_data = []
    for index, (decision, dec_objectives) in enumerate(zip(decisions, objectives)):
      sk_data.append([str(index)]+dec_objectives)
    ranks = rdivDemo(sk_data, do_print=False)
    rank_map = {}
    for rank, _, x in ranks:
      meds_iqrs = rank_map.get(rank, [[], []])
      med, iqr = median_iqr(x.all)
      meds_iqrs[0].append(med)
      meds_iqrs[1].append(iqr)
      rank_map[rank] = meds_iqrs
    smooth_objs = {}
    meds, iqrs = [], []
    for rank, _, x in ranks:
      meds_iqrs = rank_map[rank]
      med, iqr = round(float(np.mean(meds_iqrs[0])), 2), round(float(np.mean(meds_iqrs[1])), 2)
      meds.append(med)
      iqrs.append(iqr)
      smooth_objs["meds"] = meds
      smooth_objs["iqrs"] = iqrs
    smoothened.append(smooth_objs)
  return smoothened
Пример #2
0
  def scores(self, n=1000, seed_val=None):
    """
    Evaluate the graph n times and
    return the average value
    :param n: Number of evals
    :param seed_val: Random seed to be set
    :return: The average score
    """
    from utilities.sk import rdivDemo
    if not seed_val is None:
      random.seed(seed_val)

    final = []
    for _ in xrange(n):
      for node in self._tree.nodes:
        node.value = None
      final.append(self.score())
    final = ["Roots"] + final
    rdivDemo([final])
Пример #3
0
    def scores(self, n=1000, seed_val=None):
        """
    Evaluate the graph n times and
    return the average value
    :param n: Number of evals
    :param seed_val: Random seed to be set
    :return: The average score
    """
        from utilities.sk import rdivDemo
        if not seed_val is None:
            random.seed(seed_val)

        final = []
        for _ in xrange(n):
            for node in self._tree.nodes:
                node.value = None
            final.append(self.score())
        final = ["Roots"] + final
        rdivDemo([final])