Scikit Aprende SVC decision_function y predice

Estoy tratando de entender la relación entre decision_function y predict, que son métodos de instancia de SVC (http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html). Hasta ahora he reunido que la función de decisión devuelve puntuaciones por pares entre clases. Tenía la impresión de que predecir elige la clase que maximiza su puntuación por pares, pero probé esto y obtuve diferentes resultados. Aquí está el código que estaba usando para tratar de entender la relación entre los dos. Primero, generé la matriz de puntuación por pares, y luego imprimí la clase que tiene la puntuación por pares máxima, que era diferente de la clase predicha por clf.predecir.

        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]

¿Alguien sabe la relación entre estas predicciones y la función de decisión?

Respuestas a la pregunta(5)

Su respuesta a la pregunta