[R语言]文本分类(1)

因项目需要,结合自身专业知识,故而接触了R语言及一些常用分类器。记录下自己这一个多月的学习历程。

R语言

与起源于贝尔实验室的s语言类似,R也是一种为统计计算和绘图而生的语言和环境,它是一套开源的数据分析解决方案,由一个庞大且活跃的全球性研究型社区维护。

R是一门脚本语言,在绘图方面有着非常强的能力,它可以让你集中到你要设计的逻辑上来,而不必太过纠结于代码的实现。它的包实在太丰富,几乎能满足你全部的需要。我使用的IDE是RStudio。然后介绍几个我在文本分类里用到的包:

  • RODBC 连接数据库的包,我主要用它读取数据库里的信息然后保存到本地,制成文本文件。
  • tm 文本挖掘的包,对数据的读入、输出及语料库的提取、转化、过滤等等,最终转化成文档-词条矩阵。
  • RwordSeg 这是一个分词包,需配合rJava包一起使用。分词效果对我而言已够用。
  • maxent 最大熵分类器包,选择最大熵分类器是因为它效率较高。
  • e1071 该包中有svm分类器。具体可看使用者文档。

为了激发兴趣,学习了其中一个很有意思的包:词云包——WordCloud
代码如下:

library(wordcloud)  #加载wordcloud包
library(RColorBrewer) #加载颜色包
png(file="WordCloud.png", bg="white",width = 600, height = 780) #新建一个png的文件作为词云文件。

colors = brewer.pal(8,"Dark2")[-(1:4)]
data = read.csv("wordcount.txt") #读取设置的词及频度,用于显示。

#然后调用wordcloud函数,每个参数都有各自的含义,具体可在网上查阅。
wordcloud(data$name,data$count,scale=c(3,0.4),min.freq = -Inf,max.words=178,colors =             colors,random.order = F,random.color = T,ordered.colors = F)

dev.off() 

截个图
wordcloud.txt:
[R语言]文本分类(1)_第1张图片
worcloud.png:
[R语言]文本分类(1)_第2张图片

再推荐一本书:R语言实战,实例讲解,很好懂。
论坛:人大经济学论坛,

你可能感兴趣的:(R语言)