Трудно понять метод Naive Bayes Predict()

Приведенный ниже метод представляет собой реализацию функции прогнозирования в проекте обнаружения спама в электронной почте.

Предсказать класс для данной строки (почта)

def predict(summaries, inputVector):
    probabilities = calculateClassProbabilities(summaries, inputVector)
    bestLabel, bestProb = None, -1
    for classValue, probability in probabilities.items():
        #print(classValue,'->',probability)
        if bestLabel is None or probability > bestProb:
            bestProb = probability
            bestLabel = classValue
    return bestLabel

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


person virat vamsi    schedule 15.02.2020    source источник


Ответы (1)


Всю реальную работу выполняет функция calculateClassProbabilities (вероятно, имеет рейтинг спама или нет для каждого слова в словаре и суммирует баллы для словаря электронных писем). Эта функция возвращает список возможных категорий («спам», «легитимный», «массовая рассылка, на которую вы подписались, но не хотите ее читать») и связанных с ней вероятностей. Здесь цикл просто находит категорию с наибольшей вероятностью и возвращает ее.

person dspeyer    schedule 15.02.2020