知识库 > 数学方法 > 多元统计分析 > 聚类分析

快速聚类    

  • K均值聚类是最著名的划分聚类算法,由于简洁和效率使得他成为所有聚类算法中最广泛使用的。该方法只需要给定样品数据和需要的聚类数目k,就可以得到意义比较明确的结果。
    K均值聚类法分为如下几个步骤:
    1)初始化聚类中心
    2)聚类:按就近原则将样本归入各聚类中心所代表的类中,
    3)重新计算样本均值,更新聚类中心。
    4)判断聚类是否合理,一般认为聚类中心稳定为终止条件,不合理则回到第2步。循环进行2,3,4步、修改直至达到算法终止条件。

    定义:Cluster_Kmeans(sample:array,n:integer,options:array):array;
    说明:sample是一个样本数据观测矩阵,每一行是一个样本数据,本函数依据各种不同的距离对样本进行快速聚类
    参数:
    Sample:样本数据观测矩阵,每一行是一个样本数据
    n:分类数,整数类型
    options:功能选项
    options['maxiter']:最大迭代次数,默认次数20
    options['tol']:迭代精度,样本中心变化, 默认迭代精度1.0e-15
    options['distance']:距离方式,参数的输入格式参见表4-2,默认为欧氏距离
    options['out']:输出格式,0为输出为各个样本对应的类,1为输出每行为一个类默认为1

    使用判别分析中的数据进行快速聚类分析(参见平台下的Demo_Discrim_cluster函数)

    return cluster_kmeans(c,2,array('maxiter':50,'distance':5,'out':0));

    结果:
    第一类:山西、内蒙古、吉林、黑龙江、河南、甘肃、青海、河北、陕西、宁夏、新疆、云南、湖南、安徽、贵州、山东、江西、海南
    第二类:辽宁、四川、福建、广西、天津、江苏、浙江、北京