def trainAdaptive(self, target_accuracy, maxTime ): self.queue.put(('statusbarset',"Configuring adaptive training")) acc = float(target_accuracy) mtime = int(maxTime) maxTime = mtime target_accuracy = acc #build learner queue self._adaptiveSetup() #create adaptive object adaptive = Adaptive(self.learnerqueue, app_status_bar = self.queue) top_acc, top_settings, top_learner = adaptive.getLearner(target_accuracy, maxTime) #store adaptive results (really should be in adaptive) self.adaptive_history = adaptive.getHistory() self.adaptive_history.reverse() self.adaptive = top_learner self.adaptive_settings = top_settings self.adaptive_top_mcc = top_acc self.adaptive_setting_string = adaptive.getSettingString(top_settings) if self.adaptive is not None: row_key = top_settings['data_type'] self.queue.put(('statusbarset',"Training Complete, Checking Accuracy")) self.adaptive_acc = self._getLearnerAccuracy(self.adaptive, row_key) self.queue.put(('statusbarset',"Accuracy Check Complete")) else: #none of the algorithms ran, maybe timeout is to low self.queue.put(('statusbarset',"Adaptive failed to run. Is the timeout too low?"))