R中使用朴素贝叶斯的欺诈短信息识别(顺带推荐精华R教材)


我总是会收到莫名其妙的欺诈短信,有的还装得和真的一样,点看之后才知道浪费了时间,天知道都是哪里来的。
使用Naive Bayes,我们可以基于简单的NLP(自然语言处理)进行文本分析,构建一个分类器来预测消息是否是垃圾短信,很多服务商现在还在用类似的算法。
data: http://www.dt.fee.unicamp.br/~tiago/smsspamcollection
首先整理和编码数据,这一步对MAC用户很重要,因为原数据似乎并非UTF8. 正经的信息我们叫做HAM,不正经的叫做SPAM哈哈。




最后几个主要步骤都包含在一起了,用一个简单的table直观看到预测的结果。

最后推荐一本书《Machine Learning with R》,建议读原版

包含了用R实现机器学习的最基本和公认最必要的内容,结构清晰合理。
从概念和数学方法开始,然后一步一步地介绍如何用代码示例在R中运行,然后以优化和参数调整结束。极为精华的R入门书。
2017年美国Goodreads rating 4.17/5.00,现在分数涨到4.23了,可见其质量。