示例#1
0
 def train(self, intervals):
     finish = False
     prepare = Preparer(intervals, **self.config)
     while not finish:
         # get events
         rows, flag = prepare.get_data_from_db()
         batch_states = []
         batch_newstates = []
         batch_actions = []
         for row in rows:
             # get info about event
             time_event = None
             tag_id = None
             user_id = None
             time_delta = None
             # init features
             state = self.model.get_features(user_id, tag_id, time_event)
             next_state = self.model.get_features(user_id, tag_id,
                                                  time_event + time_delta)
             action = 1
             batch_states.append(state)
             batch_newstates.append(next_state)
             batch_actions.append(action)
         if len(batch_states) > 0:
             self.model_dqnn.train(batch_states, batch_newstates,
                                   batch_actions)
         if not flag:
             finish = prepare.next_iteration()
示例#2
0
    def predict(self, intervals):
        finish = False
        prepare = Preparer(intervals, **self.config)
        while not finish:
            # get events
            rows, flag = prepare.get_data_from_db()
            for row in rows:
                # get info about event
                time_event = None
                tag_id = None
                user_id = None
                time_delta = None

                # init features

                state = self.model.get_features(user_id, tag_id, time_event)

                predict = self.model_dqnn.predict(state)
示例#3
0
 def predict(self, model_dqnn, intervals):
     finish = False
     estimator = Estimator()
     prepare = Preparer(intervals, **self.config)
     while not finish:
         # get events
         rows, flag = prepare.get_data_from_db()
         for row in rows:
             # get info about event
             time_event = None
             user_id = None
             time_delta = None
             time_state = time_event - datetime.timedelta(seconds=1)
             time_next_state = time_event + time_delta
             categories = self.model.get_read_categories(
                 user_id, time_state, time_next_state, self.all_categories)
             result = {}
             for tag_id in categories:
                 action = categories[tag_id]
                 state = self.model.get_features(user_id, tag_id,
                                                 time_state)
                 predict = model_dqnn.predict(state)