聚类分析算法

聚类分析算法
聚类分析算法

信息与计算科学专业实验报告

1.实验目的:

用数据挖掘聚类算法(Q型聚类、R型聚类)求分类微博数据。

2.实验环境:

MATLAB 7.0。

Win dows 7 操作系统。

3.实验内容

由于数据集比较大,数据TXT文件不引入报告中。命名为julei.txt 相关两个源文件代码文件如下:

1、Untitled.m

clc,clear

load julei.txt %把原始数据保存在纯文本文件julei.txt 中

r=corrcoef(julei); %计算相关系数矩阵

d=1-r; %进行数据变换,把相关系数转化为距离

d=tril(d); %取出矩阵d的下三角元素

d=non zeros(d); %取出非零元素

d=d'; %化成行向量

z=li nkage(d,'average'); % 按类平均法聚类

den drogram(z); % 画聚类图

T=cluster(z,'maxclust',4) %把变量划分成4 类

for i=1:4

tm=find(T==i); %求第i类的对象

tm=reshape(tm,1,le ngth(tm)); % 变成行向量

fprintf('第%d 类的有%s \n',i,int2str(tm));%显示分类结果end

r %显示相关系数矩阵

2、Untitled2.m

clc,clear

load julei.txt %把原始数据保存在纯文本文件julei.txt中julei(:,5)=[]; %删除数据矩阵的第5列,即使用变量1,2,3,4 julei=zscore( julei); % 数据标准化

y=pdist( julei); %求对象间的欧氏距离,每行是一个对象

z=li nkage(y,'average'); % 按类平均法聚类

den drogram(z); % 画聚类图

for k=2:8

fprintf('划分成%d类的结果如下:\n',k)

T=cluster(z,'maxclust',k); % 把样本点划分成k 类

for i=1:k

tm=find(T==i); %求第i类的对象

tm=reshape(tm,1,le ngth(tm)); % 变成行向量

fprintf('第%d 类的有%s \n',i,int2str(tm)); %显示分类结果end if k==8

break

end

End fprintf('*

********** *\n')

输出结果为:

相关主题
相关文档
最新文档