Я только что создал свою собственную наивную байесовскую модель с нуля и обучил ее на 776 документах. Я попытался классифицировать документы, но он неправильно классифицировал документы во всех трех тестовых документах. Категория, которой он должен был быть, даже имела самую низкую из всех вероятностей по отношению к другим категориям (это для двух из трех тестовых документов).
Должен ли я увеличить количество учебных документов? Я не думаю, что это мой код, потому что я проверил вычисление, но я не знаю, может быть, функция calculate_numerators как-то неверна?? Для части числителя я использовал журналы из-за проблемы недополнения и суммировал вероятности терминов и вероятность (число_документов_в_категории/общее_число_документов) а>
Очень смущен и обескуражен, так как это заняло у меня так много времени, и теперь я чувствую, что это было напрасно, потому что он даже не классифицировал правильно ОДИН документ :(
@ Боб Диллон, привет, спасибо за подробный ответ. мой самый большой вопрос из этого был то, что вы подразумеваете под отделимым. Вы имеете в виду, если есть четкое различие документов между классами? Я действительно не знаю, что на это ответить. Данные были классифицированы людьми, поэтому разделение возможно, но, может быть, оно настолько близко к другим типам категорий, что становится размытым? Может быть, компьютер не распознает разницу в используемых словах, которые классифицируются как одна вещь по сравнению с другой категорией? Я должен сохранить эти категории, я не могу изменить порядок категорий, они должны быть такими, какие они есть. Я не уверен, как создавать прототипы в R, разве мне не нужно было бы брать текстовые данные и запускать их? разве мне не нужно было бы создавать токенизацию и т. д.? Я собираюсь изучить получение информации и SVM. Я, вероятно, отпишусь. Спасибо!