星期二, 八月 30, 2011

基于支持向量机的文本挖掘

文本挖掘中很重要的一项任务就是对文本进行分类,基本步骤就是收集训练文本和已知对应的分类,通过分类器来学习训练集,然后利用建立的模型对未知的文本进行分类检验。

#指定原始文本存放目录,然后生成文本集。本例中的两类文本存放在crude和acq两个文件夹中,格式均为xml,若格式为纯文本,则需指定reader = readPlain

crude = Corpus(DirSource("d:/crude"), readerControl = list(reader = readReut21578XML))

acq = Corpus(DirSource("d:/acq"), readerControl = list(reader = readReut21578XML))

#合并两个文本集,并将其转为纯文本格式
ws = c(acq, crude)
ws = tm_map(ws, as.PlainTextDocument)

星期六, 八月 27, 2011

利用R语言的tm包进行文本挖掘

tm包是R语言中为文本挖掘提供综合性处理的package,进行操作前载入tm包,vignette命令可以让你得到相关的文档说明

library(tm)
vignette("tm")

首先要读取文本,本次操作所用的文本是tm包自带的20个XML格式文本,存放在library\tm\texxts\crude文件夹中。用Corpus命令读取文本并生成语料库文件

R语言中如何读取公开数据库

世界上有很多公开数据库(open data)以供研究者使用。在R语言中也有不少程序包可以直接从这些数据源中读取数据。在之前的博文里,已经介绍quantmod和WDI。前者可以从雅虎和美联储读取数据,后者可以从世界银行读取数据。今天再介绍一个拥有数万个数据的网站,就是http://datamarket.com。这里可以看到网站介绍

首先我们在网站上注册一个免费帐号,然后在R中安装如下的package
install.packages("rdatamarket")
library(rdatamarket)

在网站上找到一个你感觉有趣的时序数据,例如这里的是美国失业数据,将其IP地址存入变量

星期四, 八月 25, 2011

利用apriori算法进行关联分析

关联分析(association analysis)又常称为购物篮分析,是指如果两个或多个事物之间存在一定的关联,那么其中一个事物就能通过其他事物进行预测.它的目的是为了挖掘隐藏在数据间的相互关系。

关联分析最常用在市场销售数据中,顾客的购物篮中如果包含啤酒的同时,还包含了尿布,这就揭示了这两种物品之间的关联。关联分析的挖掘任务可分解为两个步骤:一是发现频繁项集,二是从频繁项集中产生规则。

下面用R语言中的arules扩展包来实现apriori算法,来进行关联分析

利用轮廓系数判断K均值聚类的簇个数

K均值聚类(K-means clustering)计算简单,并且可以用于各种数据类型,但需要事先判断簇个数来作为输入参量,该参数的设置往往涉及到聚类效果。

轮廓系数可以用来解决这个问题,轮廓系数(silhouette coefficient)方法结合了凝聚度和分离度,可以以此来判断聚类的优良性,其值在-1到+1之间取值,值越大表示聚类效果越好。

依据这个原理,我们可以尝试用多个簇参量,反复计算在每个簇个数条件下的轮廓系数,当轮廓系数取最大时,其相应的簇个数是最好的。

星期三, 八月 24, 2011

关于R语言和数据挖掘的资料

1.Data_Mining_with_R__Learning_with_Case_Studies
这本书基本上每一章就是用R来做一个完整的案例,全书涵盖了分类、回归、聚类、异常分析多个方面。其焦点是围绕数据挖掘项目的各个步骤和注意事项,很象一本故事书,非常有味道。

利用rapidminer进行文本挖掘

在数据挖掘软件中有五大开源软件,其中weka在国内的使用率较高,而rapidminer却较少看到。就连学习资料也少之又少,只在youtube上能看到一些教学视频。以下的内容就是照葫芦画瓢弄出来的。

文本挖掘(text mining)有时也被称为文字探勘、文本数据挖掘等,大致相当于文字分析,一般指文本处理过程中产生高质量的信息。高质量的信息通常通过分类和预测来产生,如模式识别。

文本挖掘通常要将文本进行断字预处理,然后利用空间向量模型将文本转换为数值数据,让学习器进行学习。中文的文本挖掘天生就比较悲惨,因为中文不象英文那样天然断字。而且中文语料库很少有免费的,要自己去处理语料那真是工程量浩大。因此只有转而求其次,利用网上已有的英文免费文本库中的新闻稿件进行文本挖掘实验。算是做一个rapidminer的练习。

此次任务是对从两种新闻来源中抽取文本,分析其特征词汇,建立分类模型,然后根据模型来检测分类的效果。

星期五, 八月 19, 2011

转载:开源科研软件

转自 http://www.r-bloggers.com


Statistics and Computation

1.  R Project

Replaces: SAS, SPSS

R is a free and open source statistical computing environment that holds its own against some of the most established proprietary statistical environments.  R is available on all operating systems and is free for download.  R also has a community driven library of add-on packages that are also freely available and cover almost any statistical, mathematical, or optimization need.

Also a great reference manual for those switching from SAS to R is SAS and R: Data Management, Statistical Analysis, and Graphics