原文链接: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的小数据集深度学习图像分类