//目录

聚类分析应用

我国各地区普通高等教育发展状况分析

 

  • 建立综合评价指标体系

  • R型聚类分析

根据数据猜测 每10万人口高等院校招生数,每10万人口高等院校在校生数,等等,有可能存在较强的相关性,验证猜想做一个R型聚类分析。

clc,clear;
a = load('gj.txt');
b = zscore(a);          % 标准化数据
r = corrcoef(b);        % 计算相关系数矩阵
% d = tril(1-r); d = nonzeros(d)';    
d = pdist(b','correlation');   % 计算距离,d2 == d
​
z = linkage(d,'average');  % 按类平均法聚类
h = dendrogram(z);          % 画聚类图

 

 

需要注意的是,要对数据进行标准化,里面的数据有的是高校数目,有的是人口数,单位悬殊差别太大,标准化公式:

 

 

函数调用zscore(a)

相关系数公式:

 

 

函数调用corrcoef(b)

然后计算距离,画聚类图。

发现变量

5个变量的相关性是非常高的。考虑只用其中一个变量代替 。

  • Q型聚类分析

 

clc,clear;
load gj.txt;
gj(:,[3:6]) = [];       % 删除第3~6列
gj = zscore(gj);        % 数据标准化
d = pdist(gj);          % 求两两对象之间的距离,欧氏距离
z = linkage(d,'average');   % 按类平均法聚类
dendrogram(z);          % 画聚类图
​
for k = 3:5
    fprintf('划分成%d类的结果如下\n',k);
    T = cluster(z,'maxclust',k);    % 样本点划分成 k 类
    
    for i = 1 : k       % 求每类中有哪些样本点
        tm = find(T==i);
        tm = reshape(tm,1,length(tm));
        fprintf('第%d类的有%s\n',i,int2str(tm));
    end
    fprintf('*******************************************************************\n');
end

 

先删除

然后标准化,算距离,聚类,画聚类图,按照需求分类: 

 

 

posted @ 2018-01-22 16:38  小草的大树梦  阅读(1617)  评论(0编辑  收藏  举报