Я использую Gaussian Naive Bayes для обучения модели из фрейма данных Pandas, но получаю сообщение об ошибке при использовании precision_recall_curve. В документации говорится, что precision_recall_curve принимает прогнозируемые вероятности в качестве входных данных (по крайней мере, как я это читал), поэтому я ожидал, что приведенное ниже будет работать (xtrain и xtest - это фреймы данных Pandas с 736 и 184 строками соответственно; ytrain / ytest - это серии с 736 и 184 строк соответственно):
nb = GaussianNB()
nb.fit(xtrain, ytrain)
predicted = nb.predict_proba(xtest)
precision, recall, threshold = precision_recall_curve(ytest, predicted)
Я ожидаю, что вышеуказанное сработает, однако я получаю сообщение «IndexError: индекс 230 выходит за пределы размера 184». Если я вместо этого сделаю:
predicted = nb.predict(xtest)
precision, recall, threshold = precision_recall_curve(ytest, predicted)
Тогда он выполняется правильно. 184 - это количество строк в xtest и ytest, но 230 не является измерением ни для одной из этих структур. Может ли кто-нибудь объяснить разницу или как я должен использовать для этой цели precision_recall_curve?