title: Scikit-learn: precision_recall_fscore_support returns strange results
body: <p>I am doing some text minining/classification and attempt to evaluate performance with the <code>precision_recall_fscore_support</code> function from the <code>sklearn.metrics</code> module. I am not sure how I can create a really small example reproducing the problem, but maybe somebody can help even so because it is something obvious I am missing. </p>
  
  <p>The aforementioned function returns among other things the support for each class. The documentation states</p>
  
  <blockquote>
    <p><strong>support: int (if average is not None) or array of int, shape = [n_unique_labels]</strong> :
    The number of occurrences of each label in y_true.</p>
  </blockquote>
  
  <p>But in my case, the number of classes for which support is returned is not the same as the number of different classes in the testing data.     </p>
  
  <pre><code>X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5)
  
  classifier = svm.SVC(kernel="linear")
  classifier.fit(X_train, y_train)
  
  y_pred = classifier.predict(X_test)
  prec, rec, fbeta, supp = precision_recall_fscore_support(y_test, y_pred)
  
  print(len(classifier.classes_)) # prints 18
  print(len(supp))                # prints 19
  print(len(np.unique(y_test)))   # prints 18
  </code></pre>
  
  <p>How can this be? How can there be support for a class which is not in the data?</p>