Пример #1
0
 def __init__(self, arg_str=None):
     OptimizedInterleave.__init__(self, arg_str)
     parser = argparse.ArgumentParser()
     parser.add_argument('--allowed_leavings',
                         choices=['prefix_constraint',
                                  'prefix_constraint_va'],
                         default='prefix_constraint_va')
     parser.add_argument("--credit_va", action="store_true", default=False)
     parser.add_argument("--um_class", type=str,
                         default="environment.FederatedClickModel")
     parser.add_argument("--um_args", type=str,
                         default="0.2 0.1")
     args = vars(parser.parse_known_args(split_arg_str(arg_str))[0])
     self.allowed_leavings = getattr(self, args['allowed_leavings'])
     if args["credit_va"]:
         self.precompute_rank = self.precompute_rank_va
         self.um_class = get_class(args["um_class"])
         self.um = self.um_class(args["um_args"])
Пример #2
0
 def precompute_rank_va(self, R):
     sortR = R[:]
     examination = self.um.get_examination_prob(sortR)
     sortR.sort(key=dict(zip(sortR, examination)).get, reverse=True)
     return OptimizedInterleave.precompute_rank(self, sortR)