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