Advertisement
Guest User

Untitled

a guest
Feb 11th, 2016
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.69 KB | None | 0 0
  1. data_train = datasets.fetch_20newsgroups(subset = 'train', shuffle = True, random_state = 2016, remove = ('headers', 'footers', 'quotes'))
  2. data_test = datasets.fetch_20newsgroups(subset = 'test', shuffle = True, random_state = 2016, remove = ('headers', 'footers', 'quotes'))
  3. categories = data_train.target_names
  4.  
  5. target_map = {}
  6.  
  7. for i in range(len(categories)):
  8. if 'comp.' in categories[i]:
  9. target_map[i] = 0
  10. elif 'rec.' in categories[i]:
  11. target_map[i] = 1
  12. elif 'sci.' in categories[i]:
  13. target_map[i] = 2
  14. elif 'misc.forsale' in categories[i]:
  15. target_map[i] = 3
  16. elif 'talk.politics' in categories[i]:
  17. target_map[i] = 4
  18. else:
  19. target_map[i] = 5
  20.  
  21. y_temp = data_train.target
  22. y_train = []
  23.  
  24. for y in y_temp:
  25. y_train.append(target_map[y])
  26.  
  27. y_temp = data_test.target
  28. y_test = []
  29.  
  30. for y in y_temp:
  31. y_test.append(target_map[y])
  32.  
  33. count_vectorizer = feature_extraction.text.CountVectorizer(min_df = 0.01, max_df = 0.5, stop_words = 'english')
  34. x_train = count_vectorizer.fit_transform(data_train.data)
  35. x_test = count_vectorizer.transform(data_test.data)
  36.  
  37. feature_names= count_vectorizer.get_feature_names()
  38.  
  39. mnb_alpha_001 = naive_bayes.MultinomialNB(alpha = 0.01)
  40.  
  41. mnb_alpha_001.fit(x_train, y_train)
  42.  
  43. y_pred_001 = mnb_alpha_001.predict(x_test)
  44.  
  45. print('Accuracy Of MNB With Alpha = 0.01 : ', metrics.accuracy_score(y_test,y_pred_001))
  46.  
  47. diff = mnb_alpha_001.feature_log_prob_[1,:] - mnb_alpha_001.feature_log_prob_[0,:]
  48. name_diff = {}
  49. for i in range(len(feature_names)):
  50. name_diff[feature_names[i]] = diff[i]
  51. names_diff_sorted = sorted(name_diff.items(), key = operator.itemgetter(1), reverse = True)
  52. for i in range(10):
  53. print(names_diff_sorted[i])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement