Q型聚类分析

Q型聚类是聚类分析的一种,一般是对样本进行分类。

写点东西方便自己。

下面以销售员业绩表举例,对5个销售员进行分类:

销售员 v1销售量 v2回收款项
1 1 0
2 1 1
3 3 2
4 4 3
5 2 5


代码:
clc,clear;
a=[1,0;1,1;3,2;4,3;2,5;]; %处理数据矩阵,可变化,拿以上数据举例 
a=zscore(a);              %数据标准化处理
y=pdist(a,'cityblock');   %求a的行向量之间的绝对距离,关于pdist函数下面有介绍
yc=squareform(y);         %变换成距离方阵
z=linkage(y);             %产生等级聚类图
[h,t]=dendrogram(z);      %画聚类图
T=cluster(z,'maxclust',3);%把对象分成3份,参数可自行修改成2,4,5等,记得将下一行i值修改
for i=1:3;
    tm=find(T==i);        %求第i类的对象
    tm=reshape(tm,1,length(tm));%变成行向量
    fprintf('第%d类的有%s\n',i,int2str(tm));%显示分类结果
end

聚类结果:
第1类的有1  2
第2类的有3  4
第3类的有5

在这5个推销员中,5号工作成绩最佳,3号和4号较好,1号和2号较差。



——————————————————————————————————————————————————————————————————————
pdist函数介绍:
Y=pdist(X)计算矩阵X中两两对象的欧氏距离,Y=pdist(X,'metric')中用metric指定的方法计算矩阵X中对象间的距离,有绝对值距离‘cityblock',标准欧氏距离’seuclidean‘等。

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted on 2015-09-02 10:49  Tob__yuhong  阅读(2452)  评论(0编辑  收藏  举报

导航