垃圾邮箱识别的特征选取

垃圾邮箱识别的特征选取

转换

  • 在计算机领域中, 尤其是在机器学习和深度学习领域中, 数字特别的重要, 因为数学公式使用到的是数字, 计算机善于处理数字, 但是在垃圾邮箱识别中, 不可避免的会出现字符串, 我们要做的就是将字符串转换为数字
  • 转换的方法类似于在神经网络(Neural Network)多分类问题中处理y标签的方法, 使用一个逻辑矩阵表示结果, 如果我们需要的字符串存在, 则在对应的位置置1, 否则置0, 不同的是这里我们处理的是输入的数据集合

特征选择

  1. 邮件是由很多的单词组成的, 首先分析邮件中什么样的内容可能会是垃圾邮件, 比如but, discount等, 我们将这些单词都一一罗列出来, 构成一个列向量

  2. 将一封邮件进行单词划分, 在判断邮件中的单词在我们定义的垃圾邮箱词汇的列向量中存不存在, 如果存在则置1, 不存在则置0, 这样就构成了一个输入样本了, 特征就是我们定义的垃圾邮箱词汇列向量, 为了方便理解, 下面通过一个简单的例子解释一下

    • spamWords = ['buy', 'discount', 'welcome', 'deal', 'money']
    • 一份邮箱的内容为
    From Tom
        Hello, I'd like to buy some oranges which is at 80% discount, do you want me to some for ya. 
                                Yours.
    
    • 这个输入的邮箱的样本就成了[1, 1, 0, 0, 0], 也就是样本的一行

其他特征

  • 有时候这样还是远远不够的, 我们还有很多因素要考虑, 不如邮箱的作者, 邮箱中是否有错别字等等
posted @ 2018-11-18 19:14  gogogo11  阅读(644)  评论(0编辑  收藏  举报