Я использовал функции в scikit-learn, чтобы получить некоторые метрики моей модели. Однако я обнаружил, что точность из permutation_test_score
отличается от точности, полученной из accuracy_score
. Мой код выглядит следующим образом. Точность, полученная из accuracy_score
, равна 0,9615384615384616, а точность, полученная из permutation_test_score
, равна 0,8076923076923077. Кто-нибудь может сказать мне причину?
fpr, tpr, threshold = roc_curve(y_test, predictions)
print("AUC: %s" % auc(fpr, tpr))
print("Accuracy: %s" % accuracy_score(y_test, predictions))
# permutation test
cv = StratifiedKFold(2)
n_classes = np.unique(y).size
score, permutation_scores, pvalue = permutation_test_score(
svm, X_test, y_test, scoring="accuracy", cv=cv, n_permutations=1000, n_jobs=1)
print("Classification score %s (pvalue : %s)" % (score, pvalue))