1 CLUTO聚类工具

1.1工具介绍

CLUTO是一个聚类低维和高维数据集的软件包,用于分析各种类别的特征。CLUTO提供三种聚类算法,既可以直接在聚类对象的特征空间上直接聚类,也可以按照对象的相似空间来聚类。这些算法为基于切分的、基于凝聚的和基于图形切分的。

在CLUTO中实现了六种基本的短文本聚类算法,这些算法分别是rb(重复二分法),rbr,direct(直接聚类),agglo(凝聚聚类),graphct(图形聚类)和bagglo。

CLUTO的下载地址:http://glaros.dtc.umn.edu/gkhome/cluto/cluto/overview

CLUTO 聚类器为命令行调用。将测试的文本数据 集转化为 CLUTO 能识别的文件格式,CLUTO的数据格式说明如下表所示:

 

机器学习 文本聚类 文本聚类分析工具_聚类

 

Doc2mat,这个工具提供了这一功能。CLUTO的官网提供了下载地址:

http://glaros.dtc.umn.edu/gkhome/cluto/cluto/download

而Doc2mat的数据转换,需要用到Perl工具。Perl 被称为“实用报表提取语言”(Practical Extraction and Report Language)。Perl 是一种能完成任务的语言。从一开始,Perl 就设计成可以把简单工作简单化,同时又不失去处理困难问题能力的语言。它可以很容易操作数字,文本,文件和目录,计算机和网络,特别是程序的语言。Perl下载地址:http://strawberryperl.com/

1.2 Perl 安装及使用

(1)首先,要搭建一个Perl运行的环境:这里下载的是strawberry-perl-5.22.2.1-32bit.msi。点击该文件,按照安装提示,安装就OK了。这里我的安装路径是: c:\strawberry。

(2)检查perl是否已经在系统的path环境变量中:

点击:开始->运行,输入cmd,然后运行perl  -v。

如果能显示perl的版本,说明你的perl已经在PATH环境变量中;如果显示“不是内部命令也不是外部命令”,那参照以下流程把perl加入PATH环境变量:

第一步:右键单击我的电脑,选择“属性”,点击“高级选项卡”,单击“环境变量”,在“系统变量”下面去找PATH,

第二步:选中PATH,单击“编辑”,再添加“c:\strawberry\perl\bin”,然后点击确定,修改完成。再照着上面的方法,验证一下是否添加成功。

注意:要在修改完了之后重新打开一个命令行窗口,要不然看不到修改的结果。

(3)编辑Perl代码:在windows下用记事本就可以了,如:在记事本里输入如下内容:

#! /usr/bin/perl

print "hello,world\n";

然后保存为后缀为“perl.pl”的文件,保存在d:\perl文件夹中。

(4)运行Perl程序:开始->运行->cmd,然后用“cd”把路径调到刚才保存perl程序的地方,这里就是输入“ cd d:\perl"(此为之前perl.pl文件的保存文件夹)。在出现的 “d:\perl”后的命令行中输入“ perl perl.pl”,即可显示出“hello,world”。

运行结果如下:

机器学习 文本聚类 文本聚类分析工具_Perl_02

 

 

1.3 doc2mat 安装及使用

将下载的doc2mat-1.0.tar.gz解压得到如下文件:

机器学习 文本聚类 文本聚类分析工具_perl_03

 

 

其中,ds1.raw为提供可以被转换成一个cluto兼容使用命令的文件例子。

方法一:

第一步:打开命令行,用“cd”把路径调到保存doc2mat以及ds1.raw所在的文件夹。其中,doc2mat与ds1.raw在同一文件夹下。ds1.raw中数据如下:

机器学习 文本聚类 文本聚类分析工具_perl_04

 

 

第一列为文件编号;后序为文件中的词语,用空格隔开。

第二步:在命令行中输入如下命令:

perl doc2mat -nlskip=1 ds1.raw da1.mat

da1.mat为转换后的目标文件,文件格式为cluto能够识别的.mat文件,保存在doc2mat与ds1.raw所在文件夹下。运行流程如下:

机器学习 文本聚类 文本聚类分析工具_Perl_05

 

 

doc2mat所在文件夹中增加如下3个文件:

机器学习 文本聚类 文本聚类分析工具_聚类_06

 

 

其中ds1.mat中数据格式如下:

机器学习 文本聚类 文本聚类分析工具_perl_07

 

 

方法二:

在命令行中输入如下命令:

perl e:\CLUTO\doc2mat-1.0\doc2mat -nlskip=1 e:\CLUTO\doc2mat-1.0\ds1.raw e:\CLUTO\doc2mat-1.0\da1.mat

即在命令中加入各文件的所在的路径,则可不需要进入到工具及文件所在的目录。

机器学习 文本聚类 文本聚类分析工具_聚类_08

1.4 中文

doc2mat对中文的转换还没有实现,苦恼中,求解决方案啊啊啊啊啊啊