title: How areTF-IDF calculated by the scikit-learn TfidfVectorizer
body: <p>I run the following code to convert the text matrix to TF-IDF matrix. </p>
  
  <pre><code>text = ['This is a string','This is another string','TFIDF computation calculation','TfIDF is the product of TF and IDF']
  
  from sklearn.feature_extraction.text import TfidfVectorizer
  vectorizer = TfidfVectorizer(max_df=1.0, min_df=1, stop_words='english',norm = None)
  
  X = vectorizer.fit_transform(text)
  X_vovab = vectorizer.get_feature_names()
  X_mat = X.todense()
  X_idf = vectorizer.idf_
  </code></pre>
  
  <p>I get the following output</p>
  
  <p>X_vovab = </p>
  
  <pre><code>[u'calculation',
   u'computation',
   u'idf',
   u'product',
   u'string',
   u'tf',
   u'tfidf']
  </code></pre>
  
  <p>and X_mat = </p>
  
  <pre><code>  ([[ 0.        ,  0.        ,  0.        ,  0.        ,  1.51082562,
        0.        ,  0.        ],
      [ 0.        ,  0.        ,  0.        ,  0.        ,  1.51082562,
        0.        ,  0.        ],
      [ 1.91629073,  1.91629073,  0.        ,  0.        ,  0.        ,
        0.        ,  1.51082562],
      [ 0.        ,  0.        ,  1.91629073,  1.91629073,  0.        ,
        1.91629073,  1.51082562]])
  </code></pre>
  
  <p>Now I dont understand how these scores are computed. My idea is that for the text[0], score for only 'string' is computed and there is a score in the 5th coloumn. But as TF_IDF is the product of term frequency which is 2 and IDF which is log(4/2) is 1.39 and not 1.51 as shown in the matrix. How is the TF-IDF score calculated in scikit-learn.</p>