因项目需要,结合自身专业知识,故而接触了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("wordc