title: Scikit Learn SVC decision_function and predict
body: <p>I'm trying to understand the relationship between decision_function and predict, which are instance methods of SVC  (<a href="http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html" rel="noreferrer">http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html</a>). So far I've gathered that decision function returns pairwise scores between classes. I was under the impression that predict chooses the class that maximizes its pairwise score, but I tested this out and got different results. Here's the code I was using to try and understand the relationship between the two. First I generated the pairwise score matrix, and then I printed out the class that has maximal pairwise score which was different than the class predicted by clf.predict.</p>
  
  <pre><code>        result = clf.decision_function(vector)[0]
          counter = 0
          num_classes = len(clf.classes_)
          pairwise_scores = np.zeros((num_classes, num_classes))
          for r in xrange(num_classes):
              for j in xrange(r + 1, num_classes):
                  pairwise_scores[r][j] = result[counter]
                  pairwise_scores[j][r] = -result[counter]
                  counter += 1
  
          index = np.argmax(pairwise_scores)
          class = index_star / num_classes
          print class
          print clf.predict(vector)[0]
  </code></pre>
  
  <p>Does anyone know the relationship between these predict and decision_function?</p>