Наивная байесовская перекрестная проверка NLTK - PullRequest
0 голосов
/ 29 апреля 2020

У меня проблема с пониманием того, как KFold Cross-Validation работает в новой версии выбора модели. Я использую наивный байесовский классификатор, и я хотел бы проверить его с помощью перекрестной проверки. Мои данные тестов и поездов разбиты следующим образом:

test_set = posRevBag[:200] + negRevBag[:200] 
train_set = posRevBag[200:] + negRevBag[200:]

и они представлены как ({'one': True, 'last': True...},pos).

Я знаю, что в старой перекрестной проверке у меня было бы что-то вроде:

cv = cross_validation.KFold(len(train_set), n_folds=10, indices=True, shuffle=False, random_state=None, k=None)

for traincv, testcv in cv:
    classifier = nltk.NaiveBayesClassifier.train(train_set[traincv[0]:traincv[len(traincv)-1]])
    print 'accuracy:', nltk.classify.util.accuracy(classifier, train_set [testcv[0]:testcv[len(testcv)-1]])

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...