Я реализую наивный байесовский классификатор для фильтрации спама. У меня есть сомнения по поводу некоторых расчетов. Пожалуйста, объясните мне, что делать. Вот мой вопрос
В этом методе вы должны рассчитать
P (S | W) -> Вероятность того, что сообщение является спамом, если в нем встречается слово W.
P (W | S) -> Вероятность того, что слово W встречается в спам-сообщении.
P (W | H) -> Вероятность того, что слово W встречается в сообщении Хэма.
Итак, чтобы вычислить P (W | S), какое из следующего является правильным:
(Количество W, встречающихся в спаме) / (общее количество W, встречающихся во всех сообщениях)
(Количество раз, когда слово W встречается в спаме) / (Общее количество слов в спам-сообщении)
Итак, чтобы рассчитать P (W | S), я должен сделать (1) или (2)? (Я думал, что это (2), но я не уверен.)
Кстати, я обращаюсь http://en.wikipedia.org/wiki/Bayesian_spam_filtering за информацией.
Я должен завершить реализацию к этим выходным: (
Не должно ли повторное вхождение слова 'W' увеличить рейтинг спама в сообщении? В твоем подходе это не так, верно?
Допустим, у нас есть 100 обучающих сообщений, из которых 50 - спам, а 50 - Хэм. и сказать word_count каждого сообщения = 100.
И скажем, в спам-сообщениях слово W встречается 5 раз в каждом сообщении, а слово W встречается 1 раз в сообщении Ham.
Таким образом, общее количество раз, когда W встречается во всем спам-сообщении = 5 * 50 = 250 раз.
И общее количество раз, когда W встречается во всех сообщениях Ham = 1 * 50 = 50 раз.
Общее количество W во всех обучающих сообщениях = (250 + 50) = 300 раз.
Итак, как в этом сценарии как рассчитать P (W | S) и P (W | H)?
Естественно, мы должны ожидать, P(W|S) > P(W|H)
верно?