SAS 聚类分析—— K-均值聚类

2024-04-30 05:32
文章标签 聚类 均值 聚类分析 sas

本文主要是介绍SAS 聚类分析—— K-均值聚类,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

K-均值方法,有时也叫劳埃德方法或 Lioyd-Forgy 方法。
K-均值聚类的核心思想是 为指定划分数目的最佳划分。
对于 n 个观测,每个观测是 m 维的实数向量,现在需要找到 k 个聚类 (其中 k <= n,即 n 个子集),使得每个类别分组内的方差最小化。

  • K-均值聚类的基本步骤如下:

1.随机选取 k 个真实/或虚拟的数据点作为初始质心(即 选择 k 个样品作为初始凝聚点,或者将所有样品分成 k 个初始类,然后将这 k 个类的重心(均值)作为初始凝聚点)。初始质心的选择对聚类结果具有重要影响,因此如何科学选择这些初始质心很重要,一般选择彼此尽可能远的若干样本。

2.分配类别阶段:对所有的样品逐个归类,将每个样品归入凝聚点离这个样品最近的那个类(通常采用欧氏距离)。例如:计算第一个样品分别到第 k 个类(均值)的欧式距离,将第一个样品归到欧氏距离小的那一个类,如果第一个样品在归类之前就已经在这个类当中,就不需要重新分配(移动)。

3.更新质心阶段:通过第2步的归类步骤,有一个新的样品归入了那个类,所以要重新计算这 k 个类别的均值,这 k 类的凝聚点更新为这一类目前的均值,直至所有样品都归了类。例如:计算第二个样品到新的 k 个类的均值的距离,将第二个样品归类到距离小的那个类中去。

4.重复步骤2和步骤3,直至所有的样品都不能再分配为止。

下面看一个具体例子:(例子来源于王学民编著的《应用多元统计分析》第五版)
下表列出各个国家和地区男子径赛记录的数据,使用 k 均值法进行聚类分析,聚类前先对各变量作标准化变换。(限于篇幅,我就只截取了部分数据供大家参考)
数据来源:1984年洛杉矶奥运会IAAF田径统计手册
使用SAS代码进行 K-均值聚类 :

libname txy "D:\SASljk";
run;
proc standand data=txy.exec65 mean=0 std=1 out=stan;
proc fastclus data=stan maxc=5 drift list;var x1-x8;id nation;
run;

程序说明:
① “proc standard”是一个标准化过程,将SAS数据集中的指定变量按给定的均值和标准差进行标准化变换;
② 选项“mean=0 std=1”规定按均值为 0 、标准差为 1 进行标准化变换;
③ 选项“out = stan”要求生成一个包含标准化值的新数据集,并命名为 stan 。
注意:这里 stan 数据集名前面没有加逻辑库名,所以是默认保存在 work 临时逻辑库里面的。
④“proc fastclus”是一个动态聚类过程(或快速聚类过程)
⑤“maxc=5”’指定所允许的最大分类个数为 5
⑥选项“drift”表明使用 k 均值法
⑦选项“list”要求列出各观测所聚的类别

注:proc fastclus 的系统耗时与样本量 n 成正比,因此它是一种快速聚类方法,可用于处理较大规模的数据集。实践中一般将它用于较大规模数据的预先处理形成分区,然后使用 proc cluster 再次聚类。
但对于小数据量的数据,聚类结果可能因初始凝聚点的选择而对样本出现顺序敏感。而且由于 K-均值方法受数值较大的变量影响更大,通常需要对样本数据先做标准化处理。

SAS输出结果:

  • 初始凝聚点:(5个)
    在这里插入图片描述
  • 观测所归类及与最终凝聚点的距离
    在这里插入图片描述
  • 聚类汇总
    在这里插入图片描述
  • 各变量的类内均值及标准差
    在这里插入图片描述
    由输出结果知道,系统选择了 5 个点作为初始种子(质心),并最终形成了 5 个聚类。
    通过聚类列表,可以看出哪些国家和地区的男子径赛记录被划分成了一类。

这篇关于SAS 聚类分析—— K-均值聚类的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/948024

相关文章

线性代数|机器学习-P36在图中找聚类

文章目录 1. 常见图结构2. 谱聚类 感觉后面几节课的内容跨越太大,需要补充太多的知识点,教授讲得内容跨越较大,一般一节课的内容是书本上的一章节内容,所以看视频比较吃力,需要先预习课本内容后才能够很好的理解教授讲解的知识点。 1. 常见图结构 假设我们有如下图结构: Adjacency Matrix:行和列表示的是节点的位置,A[i,j]表示的第 i 个节点和第 j 个

Spark MLlib模型训练—聚类算法 PIC(Power Iteration Clustering)

Spark MLlib模型训练—聚类算法 PIC(Power Iteration Clustering) Power Iteration Clustering (PIC) 是一种基于图的聚类算法,用于在大规模数据集上进行高效的社区检测。PIC 算法的核心思想是通过迭代图的幂运算来发现数据中的潜在簇。该算法适用于处理大规模图数据,特别是在社交网络分析、推荐系统和生物信息学等领域具有广泛应用。Spa

用Pytho解决分类问题_DBSCAN聚类算法模板

一:DBSCAN聚类算法的介绍 DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一种基于密度的聚类算法,DBSCAN算法的核心思想是将具有足够高密度的区域划分为簇,并能够在具有噪声的空间数据库中发现任意形状的簇。 DBSCAN算法的主要特点包括: 1. 基于密度的聚类:DBSCAN算法通过识别被低密

MATLAB层次聚类分析法

转自:http://blog.163.com/lxg_1123@126/blog/static/74841406201022774051963/ 层次聚类是基于距离的聚类方法,MATLAB中通过pdist、linkage、dendrogram、cluster等函数来完成。层次聚类的过程可以分这么几步: (1) 确定对象(实际上就是数据集中的每个数据点)之间的相似性,实际上就是定义一个表征

Spark2.x 入门: KMeans 聚类算法

一 KMeans简介 KMeans 是一个迭代求解的聚类算法,其属于 划分(Partitioning) 型的聚类方法,即首先创建K个划分,然后迭代地将样本从一个划分转移到另一个划分来改善最终聚类的质量。 ML包下的KMeans方法位于org.apache.spark.ml.clustering包下,其过程大致如下: 1.根据给定的k值,选取k个样本点作为初始划分中心;2.计算所有样本点到每

【ML--13】聚类--层次聚类

一、基本概念 层次聚类不需要指定聚类的数目,首先它是将数据中的每个实例看作一个类,然后将最相似的两个类合并,该过程迭代计算只到剩下一个类为止,类由两个子类构成,每个子类又由更小的两个子类构成。 层次聚类方法对给定的数据集进行层次的分解,直到某种条件满足或者达到最大迭代次数。具体又可分为: 凝聚的层次聚类(AGNES算法):一种自底向上的策略,首先将每个对象作为一个簇,然后合并这些原子簇为越来

第L8周:机器学习|K-means聚类算法

本文为🔗365天深度学习训练营中的学习记录博客 🍖 原作者:K同学啊 | 接辅导、项目定制 🚀 文章来源:K同学的学习圈子深度学习 聚类算法的定义: 聚类就是将一个庞杂数据集中具有相似特征的数据自动归类到一起,称为一个簇,簇内的对象越相似,聚类的效果越好。“相似”这一概念,是利用距离标准来衡量的,我们通过计算对象与对象之间的距离远近来判断它们是否属于同一类别,即是否是同一个簇。 聚类是

自然语言处理系列五十三》文本聚类算法》文本聚类介绍及相关算法

注:此文章内容均节选自充电了么创始人,CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》(人工智能科学与技术丛书)【陈敬雷编著】【清华大学出版社】 文章目录 自然语言处理系列五十三文本聚类算法》文本聚类介绍及相关算法K-means文本聚类算法原理 总结 自然语言处理系列五十三 文本聚类算法》文本聚类介绍及相关算法 分类和聚类都是文本挖掘中常使用的方法,他们的目的都是将相

KEYSIGHT U2020 X系列 USB峰值和均值功率传感器

​ _是德(KEYSIGHT) _ U2020 X系列  USB峰值和均值功率传感器 苏州新利通仪器仪表 U2020 X 系列功率传感器得到 Keysight BenchVue 软件的支持。使用 BenchVue 软件,您无需编程便可轻松控制功率计记录数据,并以各种形式显示测量结果。 只需将传感器连接至安装了 BenchVue BV0007B 功率计/传感器控制与分析软件的计算

偏相关系数 - sas 实现

目的: 测试单变量与目标变量的线性关系, 在排除其他变量影响的条件下的 相关性。   求偏相关系数的sas 实现: ods graphics on;proc corr data=fish1 plots=scatter(alpha=0.2 0.3);var height weight;partial length weight;run;ods graphics off; 求