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
第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) 编辑 收藏 举报