def test_reviews_bag(self): """Classify sentiment using bag-of-words""" train, dev, test, labels, features = self.split_review_corpus(Review) classifier = MaxEnt() classifier.train(train, labels, features, dev) classifier.save("mikes_model") class2 = MaxEnt() class2.load("mikes_model") self.assertGreater(accuracy(classifier, test), 0.55)
def test_names_nltk(self): """Classify names using NLTK features""" train, dev, test = self.split_names_corpus() classifier = MaxEnt() classifier.train(train, dev, 0.1) acc = accuracy(classifier, test) self.assertGreater(acc, 0.70)
def test_reviews_bag(self): """Classify sentiment using bag-of-words""" train, dev, test = self.split_review_corpus(BagOfWords) classifier = MaxEnt() classifier.train(train, dev) acc = accuracy(classifier, test) self.assertGreater(acc, 0.55)
def test_model(): train, dev, test, labels = get_data() classifier = MaxEnt(train, labels) classifier.train(train, dev, 0.001, 100) print("Test result", accuracy(classifier, test))
def test_names_nltk(self): """Classify names using NLTK features""" train, dev, test = self.split_names_corpus() classifier = MaxEnt() classifier.labels = ['female', 'male'] classifier.vocab = self.get_names_vocab(train) classifier.feature_vectors(train + dev + test) classifier.train(train, dev) acc = accuracy(classifier, test) self.assertGreater(acc, 0.70)
def test_reviews_bag(self): """Classify sentiment using bag-of-words""" train, dev, test = self.split_review_corpus(BagOfWords) classifier = MaxEnt() classifier.labels = ['positive', 'negative', 'neutral'] classifier.vocab = self.get_review_vocab(train) print('...creating sparse feature vectors...') classifier.feature_vectors(train + dev + test) print('...training...') classifier.train(train, dev) self.assertGreater(accuracy(classifier, test), 0.55)
def test_reviews_words(self): """Classify sentiment using sentiment words""" train, dev, test = self.split_review_corpus(SentimentWords) classifier = MaxEnt() classifier.train(train, dev) self.assertGreater(accuracy(classifier, test), 0.55)
self.assertGreater(acc, 0.70) def split_review_corpus(self, document_class): """Split the yelp review corpus into training, dev, and test sets""" reviews = ReviewCorpus('yelp_reviews.json', document_class=document_class) seed(hash("reviews")) shuffle(reviews) return (reviews[:10000], reviews[10000:11000], reviews[11000:14000]) def test_reviews_bag(self): """Classify sentiment using bag-of-words""" train, dev, test = self.split_review_corpus(BagOfWords) classifier = MaxEnt() classifier.train(train, dev) self.assertGreater(accuracy(classifier, test), 0.55) ''' if __name__ == '__main__': docs = Corpus('./gold_standard_all.txt', True) seed(time.time()) shuffle(docs) first_80 = round(0.8 * len(docs)) second_10 = first_80 + round(0.1 * len(docs)) train, dev, test = (docs[:first_80], docs[first_80:second_10], docs[second_10:]) classifier = MaxEnt() classifier.train(train, dev) print(accuracy(classifier, test))
def test_reviews_bag(self): train, dev, test = self.split_review_corpus(BagOfWords) classifier = MaxEnt() classifier.train(train, dev) self.assertGreater(accuracy(classifier, test), 0.55)
def test_names_nltk(self): train, dev, test = self.split_names_corpus() classifier = MaxEnt() classifier.train(train, dev) acc = accuracy(classifier, test) self.assertGreater(acc, 0.70)
for i in range(reps): print(">>>>iteration", i) reward, states_visited, steps = run_episode(env, valueFunction, n, False, EPSILON) #compute feature counts fcounts = compute_feature_counts(fMap, states_visited, discount, env) print("steps = ", steps) #print("feature count = ", fcounts) features.append(fcounts) features = np.array(features) #compute expected feature counts for demos emp_feature_cnts = np.mean(features[skip_time:], axis=0) ment = MaxEnt(solve_mdp, fMap, env, num_fcount_rollouts, discount) maxent_value_fn = ment.get_opt_policy(emp_feature_cnts, learning_rate, num_steps) #pickle the controller (value function) #with open('mcar_maxent_policy_ss.pickle', 'wb') as f: # pickle.dump(maxent_value_fn, f, pickle.HIGHEST_PROTOCOL) #with open('mcar_maxent_policy_ss.pickle', 'rb') as f: # vFunc = pickle.load(f) #evaluate maxent learned policy returns = evaluate_softmax_policy(env, eval_rollouts, maxent_value_fn) print("average return", np.mean(returns)) for r in returns: