Я строю наивный байесовский классификатор, я хочу сделать прогноз для тестовых данных, которые хранятся во фрейме данных, используя этот код, но я получил следующую ошибку при вычислении точности.
код для прогноза:
example_counts=vectorizer.transform(new_data['testQuestions'].values)
prediction=classifier.predict(example_counts)
predictions
И это для расчета точности путем сравнения ожидаемой категории (категории теста) и прогнозов, которые получены из предыдущего кода.
import random
import math
from sklearn.metrics import accuracy_score
testcategory=new_data['testCategory']
def getAccuracy(testSet, prediction):
correct = 0
for x in range(len(testSet)):
if testSet[x][-1] == prediction[x]:
correct += 1
return (correct/float(len(testSet))) * 100.0
accuracy = getAccuracy(testcategory, predictions)
print('Accuracy: {0}%'.format(accuracy))
Я получил следующую ошибку:
IndexError: индекс 1098 выходит за пределы оси 0 с размером 1098