title: CountVectorizer: Vocabulary wasn't fitted
body: <p>I instantiated a <a href="http://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.CountVectorizer.html#sklearn.feature_extraction.text.CountVectorizer" rel="noreferrer"><code>sklearn.feature_extraction.text.CountVectorizer</code></a> object by passing a vocabulary through the <code>vocabulary</code> argument, but I get a <code>sklearn.utils.validation.NotFittedError: CountVectorizer - Vocabulary wasn't fitted.</code> error message. Why?</p>
  
  <p>Example:</p>
  
  <pre><code>import sklearn.feature_extraction
  import numpy as np
  import pickle
  
  # Save the vocabulary
  ngram_size = 1
  dictionary_filepath = 'my_unigram_dictionary'
  vectorizer = sklearn.feature_extraction.text.CountVectorizer(ngram_range=(ngram_size,ngram_size), min_df=1)
  
  corpus = ['This is the first document.',
          'This is the second second document.',
          'And the third one.',
          'Is this the first document? This is right.',]
  
  vect = vectorizer.fit(corpus)
  print('vect.get_feature_names(): {0}'.format(vect.get_feature_names()))
  pickle.dump(vect.vocabulary_, open(dictionary_filepath, 'w'))
  
  # Load the vocabulary
  vocabulary_to_load = pickle.load(open(dictionary_filepath, 'r'))
  loaded_vectorizer = sklearn.feature_extraction.text.CountVectorizer(ngram_range=(ngram_size,ngram_size), min_df=1, vocabulary=vocabulary_to_load)
  print('loaded_vectorizer.get_feature_names(): {0}'.format(loaded_vectorizer.get_feature_names()))
  </code></pre>
  
  <p>Output:</p>
  
  <pre><code>vect.get_feature_names(): [u'and', u'document', u'first', u'is', u'one', u'right', u'second', u'the', u'third', u'this']
  Traceback (most recent call last):
    File "C:\Users\Francky\Documents\GitHub\adobe\dstc4\test\CountVectorizerSaveDic.py", line 22, in &lt;module&gt;
      print('loaded_vectorizer.get_feature_names(): {0}'.format(loaded_vectorizer.get_feature_names()))
    File "C:\Anaconda\lib\site-packages\sklearn\feature_extraction\text.py", line 890, in get_feature_names
      self._check_vocabulary()
    File "C:\Anaconda\lib\site-packages\sklearn\feature_extraction\text.py", line 271, in _check_vocabulary
      check_is_fitted(self, 'vocabulary_', msg=msg),
    File "C:\Anaconda\lib\site-packages\sklearn\utils\validation.py", line 627, in check_is_fitted
      raise NotFittedError(msg % {'name': type(estimator).__name__})
  sklearn.utils.validation.NotFittedError: CountVectorizer - Vocabulary wasn't fitted.
  </code></pre>