Guest User

Chapter 6, exercise 9

a guest
Mar 4th, 2012
354
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.18 KB | None | 0 0
  1. ## -*- coding: utf-8 -*-
  2. import nltk
  3. import random
  4.  
  5. wholeTrainingCorpus = nltk.corpus.ppattach.attachments('training')
  6. nounAttachmentCorpus = [inst for inst in wholeTrainingCorpus
  7.                         if inst.attachment == 'N']
  8. random.shuffle(nounAttachmentCorpus)
  9.  
  10. def get_features(inst):
  11.     features = {}
  12.     features['noun1'] = inst.noun1
  13.     # features['noun2'] = inst.noun2
  14.     # features['verb'] = inst.verb
  15.     return features
  16.  
  17. featureSets = [(get_features(inst), inst.prep)
  18.                for inst in nounAttachmentCorpus]
  19.  
  20. cutOff = len(featureSets) / 4
  21.  
  22. trainSet, testSet = featureSets[:cutOff], featureSets[cutOff:]
  23.  
  24. naiveBayesClassifier = nltk.NaiveBayesClassifier.train(trainSet)
  25. decisionTreeClassifier = nltk.DecisionTreeClassifier.train(trainSet)
  26.  
  27. print 'Accuracy with the naive Bayes classifier : {0:.2f}%'.format(nltk.classify.accuracy(naiveBayesClassifier, testSet))
  28. print 'team', naiveBayesClassifier.classify({'noun1': 'team'}), 'researchers'
  29. print
  30. print 'Accuracy with the decision tree classifier : {0:.2f}%'.format(nltk.classify.accuracy(decisionTreeClassifier, testSet))
  31. print 'team', decisionTreeClassifier.classify({'noun1': 'team'}), 'researchers'
Advertisement
Add Comment
Please, Sign In to add comment