def load_svm(self, filename=None): if not filename: svm_file = config.get_classifier_filename(self, self.cls, self.train_dataset) else: svm_file = filename if not os.path.exists(svm_file): print ("Svm %s is not trained" % svm_file) return None else: model = load_svm(svm_file) return model
def load_svm(self, filename=None): if not filename: svm_file = config.get_classifier_filename(self, self.cls, self.train_dataset) else: svm_file = filename if not os.path.exists(svm_file): print("Svm %s is not trained" % svm_file) return None else: model = load_svm(svm_file) return model
def train(self, pos, neg, kernel, C): y = [1] * pos.shape[0] + [-1] * neg.shape[0] x = np.concatenate((pos, neg)) model = train_svm(x, y, kernel, C) self.svm = model print "model.score(C=%d): %f" % (C, model.score(x, y)) table_t = svm_proba(x, model) y2 = np.array(y) y2 = (y2 + 1) / 2 # switch to 0/1 ap, _, _ = Evaluation.compute_cls_pr(table_t[:, 1], y2) print "ap on train set: %f" % ap filename = config.get_classifier_filename(self, self.cls, self.train_dataset) self.svm = model self.save_svm(model, filename) return model
def train(self, pos, neg, kernel, C): y = [1] * pos.shape[0] + [-1] * neg.shape[0] x = np.concatenate((pos, neg)) model = train_svm(x, y, kernel, C) self.svm = model print 'model.score(C=%d): %f' % (C, model.score(x, y)) table_t = svm_proba(x, model) y2 = np.array(y) y2 = (y2 + 1) / 2 # switch to 0/1 ap, _, _ = Evaluation.compute_cls_pr(table_t[:, 1], y2) print 'ap on train set: %f' % ap filename = config.get_classifier_filename(self, self.cls, self.train_dataset) self.svm = model self.save_svm(model, filename) return model