Как исправить эту ошибку в коде Python для построения наивного байесовского классификатора? - PullRequest
0 голосов
/ 09 апреля 2019

Я строю наивный байесовский классификатор, я хочу сделать прогноз для тестовых данных, которые хранятся во фрейме данных, используя этот код, но я получил следующую ошибку при вычислении точности.

код для прогноза:

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

...