R语言做文本挖掘 Part4文本分类

技术R语言做文本挖掘 Part4文本分类 R语言做文本挖掘 Part4文本分类Part4文本分类
【发现有人转载,决定把格式什么重新整理一遍,有时间做个进阶版文本挖掘,恩!原文地址:CSDN-R语言做文

用于文本挖掘的r语言第4部分文本分类

第四部分文本分类

【发现有人转载,决定重新整理格式和什么,有时间就做一个高级版的文本挖掘,嗯!原文地址:用于文本挖掘的CSDN-R语言第4部分文本分类]

正如第3部分文本聚类中提到的,分类和聚类之间的简单区别。因此,要进行分类,需要先整理出一个训练集,也就是已经分类清楚的文本;测试集可以被训练集代替;预测集,即未分类文本,是分类方法的最终应用。

1.数据准备

训练集准备是一个非常繁琐的功能,所以暂时还没有找到什么省力的方法,只能根据文字内容手动整理。在这里,我们仍然使用某个品牌的官方微数据。根据微博的内容,我把它在微博中的主要内容分为:推广信息、产品推广、公益信息、生活鸡汤、时尚新闻、娱乐圈。每个类别有20-50条数据,如下图,培训。

训练集是hlzj.train,以后作为测试集使用。

预测集是第2部分中的hlzj。

hlzj . train-read . CSV(' hlzj _ train . CSV ',header=T,stringsAsFactors=F)

长度(hlzj.train)

[1] 2

表(hlzj.train $类型)

时尚新闻生活产品

27 34 38

推广公益娱乐圈

45 22 36

长度(hlzj)

[1] 1639

2.分词处理

训练集、测试集和预测集都需要分词才能进行后续的分类过程。这里就不详细描述了。该过程类似于第2部分中描述的过程。设置分词后hlzjTrainTemp的训练,然后为HLZJ文件设置分词后的hlzjTEMP。然后分别从hlzjTrainTemp和hlzjTemp中删除停止字。

图书馆

hlzjtrainttemp-gsub('[0-90123456789 ~]','',hlzj.train$text)

分段

hlzjtrainttemp 2-lappy(hlzjtrainttemp,removeStopWords,StopWords)

hlzj temp 2-lappy(hlzj temp,removeStopWords,StopWords)

3.获取矩阵

如Part3所述,聚类时,首先要将文本转换成矩阵,分类也需要这个过程,使用tm软件包。首先,将训练集和停止词去除后的预测集的结果合并到hlzjAll中。请记住,前202条数据(1:202)是训练集,最后1639条数据(20:1841)是预测集。得到hlzjAll的语料库,得到文档入口矩阵,转化为公共矩阵。

hlzjAll -字符(0)

hlzjAll[1:202]-hlzjtrainttemp 2

hlzjAll[203:1841]-hlzjtemp 2

长度(hlzjAll)

[1] 1841

语料库

(hlzjall . DTM-document term matrix(corp sall,control=list(WordLengs=c(2,Inf)))

文档术语矩阵(文档: 1841,术语: 10973)

非稀疏/稀疏条目: 33663/20167630

稀疏度: 100%

最长期限: 47

加权:项频率(tf)

dtmAll _ matrix-as . matrix(hlzjall . DTM)

4.分类

使用类软件包中的knn算法(K最近邻算法)。矩阵的前202行数据是已经分类的训练集,而最后1639条数据没有分类。我们应该根据训练集得到分类模型,然后对其进行分类预测。将分类结果与原微博放在一起,用fix()检查,可以看到分类结果,效果相当明显。

row names(DTmall _ matrix)[1:202]-hlzj . train $ type

row name(DTmall _ matrix)[20:1841]-c(')

train - dtmAll_matrix[1:202,]

predict-dtmAll _ matrix[203:1841,]

train class-as . factor(row name(train))

图书馆(类)

培训、预测、培训课程

长度(hlzj_knnClassify)

[1] 1639

hlzj_knnClassify[1:10]

[1]产品产品推广产品时尚新闻生活

[8]产品产品时尚新闻

:时尚新闻生活产品推广公益娱乐圈

表(hlzj_knnClassify)

hlzj_knnClassify

时尚新闻生活产品推广公益娱乐圈

40 869 88 535 28 79

hlzj . KNN result-list(type=hlzj _ knnClassify,text=hlzj)

hlzj . KNN result-as . data . frame(hlzj . KNN result)

修复(hlzj.knnResult)

Knn分类算法是最简单的一种。后来我尝试用神经网络算法(nnet())、支持向量机算法(svm())和randomForest算法(())的时候,出现了计算机内存不足的问题。我的电脑是4G的,当我观看内存监控时,我可以看到最大使用量达到了3.92G,看起来我们需要换一台更好的电脑 ()

在硬件条件能够满足的情况下,分类应该没有问题。相关算法可以使用:方法名,来查看其描述文档。

5.分类效应

上面没有提到测试过程。对于上面的例子,knn的前两个参数使用train。因为使用了相同的数据集,结果是准确率可以达到100%。如果训练集很多,可以按7:3或833602随机分成两部分,前者用于训练,后者用于测试。这里就不细说了。

在分类效果不理想的情况下,需要对训练集进行丰富,使训练集的特征尽可能明显,以提高分类效果,这在实践中是一个繁琐但不敷衍的过程。

有什么可以改进的欢迎指正,请注明出处,谢谢!

————————————————

版权声明:本文系CSDN博主EchoCaiCai原创文章,遵循CC 4.0 BY-SA版权协议。转载请附上原始来源链接和本声明。

原文:https://blog.csdn.net/cl1143015961/article/details/44413631

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/151778.html

(0)

相关推荐

  • 九价疫苗,九价HPV疫苗为什么这么火

    技术九价疫苗,九价HPV疫苗为什么这么火HPV也就是人乳头瘤病毒是许多生殖系统癌症比如宫颈癌的罪魁祸首,而针对这个病毒所研发的疫苗也就是所谓的二价疫苗、四价疫苗以及功能最为强大、最近出现的九价疫苗九价疫苗。九价疫苗的作用

    生活 2021年10月28日
  • 家具品牌排行榜,全国十大名牌家具的排名

    技术家具品牌排行榜,全国十大名牌家具的排名网上复制的家具品牌排行榜,希望对你有用啊,呵呵。 中国十大木地板品牌排行榜: 01,圣象地板(中国驰名商标,中国名牌)圣象集团; 02,盈彬大自然(中国名牌,国家免检产品)佛山

    生活 2021年10月28日
  • hadoop中用户有CREATE权限建表后但无HDFS文件的ACL访问权限异常怎么回事

    技术hadoop中用户有CREATE权限建表后但无HDFS文件的ACL访问权限异常怎么回事这篇文章主要介绍hadoop中用户有CREATE权限建表后但无HDFS文件的ACL访问权限异常怎么回事,文中介绍的非常详细,具有一

    攻略 2021年12月9日
  • 怎么使用ImageModifier

    技术怎么使用ImageModifier这篇文章主要介绍“怎么使用ImageModifier”,在日常操作中,相信很多人在怎么使用ImageModifier问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望

    攻略 2021年11月12日
  • 怎么理解ES6 Promise对象

    技术怎么理解ES6 Promise对象这篇文章主要讲解了“怎么理解ES6 Promise对象”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么理解ES6 Promise对

    攻略 2021年11月2日
  • 支付宝申请商家二维码,怎么开通支付宝商家收钱码

    技术支付宝申请商家二维码,怎么开通支付宝商家收钱码需要开通支付宝商家收钱码支付宝申请商家二维码,需要自己是支付宝商家,方法如下: 1、首先在手机上找到并打开支付宝APP客户端。 2、然后在支付宝页面中选择红色箭头所指处的

    生活 2021年10月24日