乐趣区

关于数据挖掘:SAS用KMeans-聚类最优k值的选取和分析

原文链接:http://tecdat.cn/?p=17808

原文出处:拓端数据部落公众号

什么是聚类?

聚类是将数据集分为几组的过程,其中包含类似的数据点”。聚类是一种无监督的机器学习,在您领有未标记的数据时应用。

比方:

坐在餐馆的用餐者。假如餐厅中有两个桌子。桌子 1 中的人可能彼此相干,可能是一组家庭成员或共事。

相似的,桌子 2 中的人可能彼此相干。然而,当比拟坐在两个桌子的人时,他们是齐全不同的,可能基本没有关联。

聚类也以雷同的形式工作。一个聚类中的数据点与另一聚类中的数据点齐全不同。同一聚类中的所有点都雷同或彼此相干。

聚类具备不同的算法。最受欢迎的是 K - 均值聚类。

什么是 K 均值聚类?

K-Means 是一种聚类算法,其次要指标是将类似的元素或数据点分组为一个聚类。K- 均值中的“K”代表簇数。

间隔量度将确定两个元素之间的相似性,并将影响簇的形态。通常,欧几里得间隔将用于 K -Means 聚类

欧几里得间隔是“一般”直线。它是欧氏空间中两点之间的间隔。

K-Means 算法如何工作?

输出:样本集 D,簇的数目 k,最大迭代次数 N;

输入:簇划分(k 个簇,使平方误差最小);

算法步骤:

(1)为每个聚类抉择一个初始聚类核心;

(2)将样本集依照最小间隔准则调配到最邻近聚类;

(3)应用每个聚类的样本均值更新聚类核心;

(4)反复步骤(2)、(3),直到聚类核心不再发生变化;

(5)输入最终的聚类核心和 k 个簇划分;

SAS 中的 K - 均值聚类

让咱们来看一个驰名的 IRIS 数据集。应用 proc 检查数据集

/* 检查数据内容 */

proc means data=work.iris N Nmiss mean median max min;

run;

它具备 150 个观测值和 5 个变量。未检测到缺失值或离群值。咱们将仅应用四个变量,即 sepal\_length,sepal\_width,petal\_length 和 petal\_width。数据集以“cm”为单位。能够删除“指标”变量,因为它是类别变量。

对于鸢尾花数据集的简短介绍。这是一个多变量数据集,由英国统计学家、生物学家 罗纳德·费舍尔(Ronald Fisher)在 1936 年为他的钻研论文引入。

在剖析数据集之前理解数据。

/* 删除指标列将新数据保留为 IRIS1 */

 

    drop target;

run;

在运行聚类分析之前,咱们须要将所有剖析变量(实数变量)标准化为均值零和标准偏差为 1(转换为 z 分数)。在这里,咱们的数据集曾经标准化。

/* 聚类分析 */

 method = centroid ccc print=15 outtree=Tree;

METHOD => 确定过程应用的聚类办法。在这里,咱们应用 CENTROID 办法。

CCC 是聚类规范—它有助于找出最佳的聚类点。

须要找出最佳聚类簇。

前三个特征值约占总方差的 99.48%,因而,倡议应用三个聚类。然而,能够在 ccc 图中对其进行穿插验证。

从图中看到,聚类规范有 15 个值(如咱们在代码输入中给出的 = 15)

从下面的 CCC 图能够看出,肘部降落在 3 个聚类。因而,最佳群集将为 3。

为了将 150 个观测值中的每个观测值分类为三个聚类,咱们能够应用 proc 树。ncl = 3(咱们的最佳簇为 3)。

/* 保留 3 个聚类   */

proc tree noprint ncl=3 out=

150 个察看后果分为三类。

应用 proc candisc 和 proc sgplot 创立散点图

/* 生成散点图 */

 

proc sgplot data = can;

title "

 

咱们能够看到,剖析分明地将三个聚类簇离开。聚类簇 1 为蓝色,2 为红色,3 为绿色。

K- 均值聚类的优缺点

长处:

1)即便违反有些假如,也能很好地工作。

2)简略,易于实现。

3)易于解释聚类后果。

4)在计算成本方面疾速高效。

毛病:

1)即便输出数据具备不同的簇大小,平均成果使得后果常常会产生大小绝对统一的簇。

2)不同密度的数据可能不适用于聚类。

3)对异样值敏感。

4)在 K 均值聚类之前须要晓得 K 值。


最受欢迎的见解

1.R 语言 k -Shape 算法股票价格工夫序列聚类

2.R 语言中不同类型的聚类办法比拟

3.R 语言对用电负荷工夫序列数据进行 K -medoids 聚类建模和 GAM 回归

4.r 语言鸢尾花 iris 数据集的档次聚类

5.Python Monte Carlo K-Means 聚类实战

6. 用 R 进行网站评论文本开掘聚类

7. 用于 NLP 的 Python:应用 Keras 的多标签文本 LSTM 神经网络

8.R 语言对 MNIST 数据集剖析 摸索手写数字分类数据

9.R 语言基于 Keras 的小数据集深度学习图像分类

退出移动版