Ich versuche, die Beziehung zwischen Entscheidungsfunktion und Vorhersage zu verstehen, die Instanzmethoden von SVC sind ( http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html ). Bisher habe ich festgestellt, dass die Entscheidungsfunktion paarweise Bewertungen zwischen Klassen zurückgibt. Ich hatte den Eindruck, dass Predict die Klasse auswählt, die ihre paarweise Punktzahl maximiert, aber ich habe dies getestet und unterschiedliche Ergebnisse erzielt. Hier ist der Code, mit dem ich versucht habe, die Beziehung zwischen den beiden zu verstehen. Zuerst habe ich die paarweise Bewertungsmatrix generiert und dann die Klasse ausgedruckt, die eine maximale paarweise Bewertung aufweist, die sich von der von clf.predict vorhergesagten Klasse unterscheidet.
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]
Kennt jemand die Beziehung zwischen diesen Vorhersagen und Entscheidungsfunktionen?
decision_function
Teil: "Abstand der Proben X zur trennenden Hyperebene" geschrieben ist.