难以理解朴素贝叶斯Predict()方法

问题描述 投票:0回答:1

以下方法是电子邮件垃圾邮件检测项目中预测功能的实现。

预测给定行(邮件)的类

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

使用上述功能,我无法理解特定数据项如何被归类为垃圾邮件或火腿

gaussian naivebayes email-spam
1个回答
0
投票

calculateClassProbabilities函数正在完成所有实际工作(可能对字典中的每个单词都有垃圾邮件或不垃圾邮件分数,并对电子邮件词汇的分数求和)。该函数返回可能类别的列表(“垃圾邮件”,“合法”,“您曾经注册过但实际上并不希望阅读的大量电子邮件”)和相关概率。这里的循环仅查找概率最高的类别并返回。

© www.soinside.com 2019 - 2024. All rights reserved.