短短短短信 结巴(),新营销网红网本栏目通过数据整理汇集了短短短短信 结巴()相关信息,下面一起看看。

  欢迎来到天山智能。我们是一个专注于BI、AI、大数据分析和挖掘的垂直社区。我们可以做一站式学习,问答;a还有找工作!

  机器学习和垃圾邮件识别

  不久前,我们使用NLTK的贝叶斯分类模型,通过机器学习来识别垃圾短信。

  其实除了NLTK,我们还可以使用Scikit-Learn,一个集成了很多机器学习算法的模块来进行上述实验。

   Scikit-Learn的API设计非常合理高效,对于刚接触机器学习的同学非常友好。值得尝试和使用。我也经常用scikit-learn在实验环境和工作环境下对机器学习进行建模。

  接下来,我们将使用scikit-learn模块通过其朴素贝叶斯算法API来识别垃圾邮件。

  导入短信数据首先我们需要对原始短信数据进行处理,导入到熊猫模块和洁霸模块中。

   Pandas模块用于读取和处理数据,jieba模块用于对短信进行分段。

  接下来,我们导入SMS数据:

  检查一些短信数据:

  第一栏是原序列号,第二栏是短信分类,0代表正常短信,1代表垃圾短信,第三栏是短信正文。

  我们只需要关注第二列和第三列。

  看看这个短信数据集的形状:

  有超过70万条短信。

  短信切分文本的分类基本上是基于词袋模型,即一个文本包含多少个词,以及每个词的出现频率。对于英语来说,它的自然句子空间可以很容易地分割单词,而汉语却要先进行分词,也就是把一个完整的汉语分割成单词。

   Python中有第三方模块——jieba,口吃分词提供中文分词。

  我们用街霸对短信内容进行分段。

  结果如下:

  提取特征数据和目标数据我们需要分别提取特征数据和目标数据。特征数据表示输入数据,目标数据是输入数据的属性。这里短信的内容是特征数据,短信的分类是目标数据。

   x是特征数据,y是目标数据,便于下一步划分训练集和测试集。

  训练集和测试集的分割:使用sklearn的分割模块对训练集和测试集进行分割;

  提取文本特征要从文本中提取特征,我们需要使用scikit-learn中的CountVector()和TfidfTransformer()。

   CountVectorizer()用于将文本从标量转换为矢量,而TfidfTransformer()将矢量文本转换为tf-idf矩阵。

  建立和训练朴素贝叶斯分类器。朴素贝叶斯是一种经典的机器学习算法,准确率很高。用它做分类器可以得到很好的结果。

  在scikit-learn中,每个模型都有一个用于模型训练的fit()和一个用于模型预测的predict()。这里,我们通过介绍训练特点和训练目标来训练模型。

  模型训练好之后,我们就可以使用模型的predict()对数据进行测试和预测。

  在此之前,我们必须采取另一个步骤。

  因为之前的文本特征提取只针对训练集,没有进行测试集,所以我先从测试集中提取文本特征:

  然后使用predict()来预测:

  变量predicted_categories包含所有的预测结果。

  模型评估scikit-learn模块内置了许多模型评估。对于分类问题,我们可以使用accuracy_score(),它返回一个最高分为1的数值。

  打印结果显示:

  这个分类器的准确率达到了0.98,比上次使用NLTK的贝叶斯算法提高了10%,非常不错。

  您可以打印一些测试的短信数据和预测结果:

  基本上正常短信和垃圾短信都是正确识别的。

  作者:田山先生无线城

  可以添加:xtechday(长按复制)进入机器学习爱好者交流群。

  欢迎来到天山智能。我们是一个专注于BI、AI、大数据分析和挖掘的垂直社区。我们可以做一站式学习,问答;a还有找工作!

  相关文章魔兽世界宏(魔兽世界最新群宏)

  篮球场大小(NBA篮球场的大小)

  国内汽车质量排名(中国汽车品牌质量排名正式发布)

  十堰美食(十堰必吃的十大美食)

  东莞理工学院分数线(东莞理工学院2022年本科招生)

  中国电动车品牌(中国第一电动自行车品牌)

   Lol怎么玩(英雄联盟手游)

  美国食品药品监督管理局药品查询(如何通过美国食品药品监督管理局政府网站查询药品)

  中国搜索引擎(国家队打造的“中国搜索”)

  什么是好的科幻电影(有史以来最伟大的科幻电影)

  珍珠女孩(4个珍珠美人,每个都是绝对的美女)

  五大唱片公司(华纳唱片,时代洪流中的最后赢家)

  更多短短短短信 结巴()相关信息请关注本文章,本文仅仅做为展示!