def eva(esti,ne,po): v=Vectorizer() matrix=v.transform(ne) correct= sum( [1 for res in esti.predict(matrix) if res == -1] ) matrix2=v.transform(po) correct+= sum( [1 for res in esti.predict(matrix2) if res == 1] ) return correct
def __init__(self, n_differences=1, enhance=True, vectorizer=Vectorizer(complexity=3), n_jobs=-1, random_state=1): """Generate sequences. Start from input sequences that are 'better' if enhance is set to True ('worse' otherwise) given the set of sequences used in the fit phase. Parameters ---------- n_differences : int (default 1) Number of characters that differ for the generated sequence from the original input sequence. enhance : bool (default True) If set to True then the score computed by the estimator will be higher for the sequences generated than for the input sequences. If False than the score will be lower. vectorizer : EDeN sequence vectorizer The vectorizer to map sequences to sparse vectors. n_jobs : int (default -1) The number of cores to use in parallel. -1 indicates all available. random_state: int (default 1) The random seed. """ self.random_state = random_state self.n_jobs = n_jobs self.n_differences = n_differences self.enhance = enhance self.vectorizer = vectorizer self.estimator = None
def train_esti(neg, pos): v = Vectorizer() matrix = v.transform(neg + pos) res = SGDClassifier(shuffle=True) res.fit(matrix, np.asarray([-1] * len(neg) + [1] * len(pos))) return res