首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在垃圾邮件-非垃圾邮件分类器中获得突出的单词?

如何在垃圾邮件-非垃圾邮件分类器中获得突出的单词?
EN

Stack Overflow用户
提问于 2016-07-06 00:12:26
回答 3查看 144关注 0票数 0

假设我有一个垃圾邮件-非垃圾邮件分类器。如果一封新的电子邮件已经被分类为垃圾邮件,如何确定邮件中的单词主要负责分类器将其分类为垃圾邮件。

例如,如果一封邮件包含以下文本:

代码语言:javascript
复制
Get 10000 dollars free by clicking here.

将邮件归类为垃圾邮件的主要单词是“免费10000美元”。

EN

回答 3

Stack Overflow用户

发布于 2016-07-06 02:58:18

这完全取决于您的模型。然而,我将给你一个通用的数学方法,然后几个实用的解决方案

数学解

让我们假设你的分类器在这个意义上是概率的,它为你提供了决策支持(这包括神经网络,朴素贝叶斯,lda,逻辑回归等)。

代码语言:javascript
复制
f(x) = P(ham|x)

代码语言:javascript
复制
most_important_feature_if_it_is_classified_as_ham = arg max_i (grad_x[f])_i

如果它是垃圾邮件,则对称

代码语言:javascript
复制
most_important_feature_if_it_is_classified_as_spam = arg min_i (grad_x[f])_i

您所需要的就是能够区分您的模型。对于许多现有的模型,如神经网络、朴素贝叶斯、lda或逻辑回归,这也是可能的。

实用的解决方案。

对于典型的模型,我列出了几种或多或少直接计算上述内容的方法。

支持向量机(

  • )线性模型(线性支持向量机,逻辑回归等)-你可以简单地查看你的权重向量,并获取arg max/ arg min值(因为这是gradient).
  • Random森林的精确值-在这里你无法区分,因为你没有一个很好的,连续的,支持函数;特别是,您可以很容易地估计梯度本身,只需对每个特征(单词)迭代整个训练集(或合理的子集)-将此特征设置为0(稍后设置为1),并检查有多少分类发生了变化-这将给出此特征的重要性的粗略估计(独立于其他特征)。
票数 1
EN

Stack Overflow用户

发布于 2016-07-06 03:01:28

假设您已经使用朴素贝叶斯分类器进行分类,我将回答这个问题。

朴素贝叶斯分类器是一种非常简单的算法,已经成功地应用于垃圾邮件检测领域。

朴素贝叶斯分类器基于条件概率,并使用以下方程:

P (a|b) =P (b|a) *P (a) /P (b)

假设朴素贝叶斯分类器可以将一段文本(电子邮件)分类为两类:spamnot spam

上面提到的应用于垃圾邮件检测任务的等式可以翻译为:

P(类|文本)=P(文本|类)*P(类)/P(文本)

由于文本是由单词组成的,因此可以将其表示为单词的组合。text -> w1,w2,.....,wn

这就意味着,

类P(

| w1,w2,...,wn) =P (w1,w2,...,wn |类)*P(类)/P (w1,w2,...,wn)

由于朴素贝叶斯分类器做了一个朴素的假设,即单词在条件上彼此独立,这就转化为:

类P(

| w1,w2,...,wn) =P (w1 |类)*P (w2 |类)* ... *P (wn |类)*P(类)

对于所有类(在我们的示例中为‘spam’和'not spam‘)。

我去掉了分母,因为它对于所有的概率都是通用的。

其中,P ( class )是给定类别(“spam”和“not spam”)的概率。假设你有100个训练样本,其中60个是垃圾邮件,40个不是垃圾邮件,那么“垃圾邮件”和“非垃圾邮件”的分类概率将分别为0.6和0.4。

P (w | class)是一个单词给定一个类的概率。在朴素贝叶斯分类器中,计算给定类别中每个单词的概率。

让我们考虑一下你所举的例子,

点击这里免费获得10000美元。

朴素贝叶斯分类器已经计算了单词Get,$,free,by,class在给定的类(垃圾邮件和非垃圾邮件)中出现的概率。

如果句子被分类为垃圾邮件,那么您可以通过找出它们在垃圾邮件和非垃圾邮件类中的概率,找到对句子垃圾邮件贡献最大的单词。

Here您可以找到一个简单的朴素贝叶斯实现,应用于电子邮件中的垃圾邮件检测任务。

票数 1
EN

Stack Overflow用户

发布于 2020-07-10 06:03:14

网站Mail-sort classifier包含有关如何构建邮件分类分类器的教程。在线分类器服务用于基于特定关键字的存在和不存在对每个邮件进行分类。

重要的是,所选的关键字具有很高的区分性。直方图是一种直观地检查每个关键字的信息值的好方法。

确实是一种实用的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38208082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档