Я пытаюсь понять взаимосвязь между decision_function и прогнозом, которые являются методами экземпляра SVC (http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html). Пока что я собрал эту функцию решения, возвращает парные оценки между классами. У меня создалось впечатление, что прогноз выбирает класс, который максимизирует его парный балл, но я тестировал это и получал разные результаты. Здесь код, который я использовал, чтобы попытаться понять взаимосвязь между ними. Сначала я сгенерировал парную матрицу баллов, а затем я распечатал класс с максимальным парным счетом, который отличался от класса, предсказанного clf.predict.
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]
Кто-нибудь знает отношения между этими предсказывающими и решающими функциями?