spss聚类分析分析是一种机器学习领域最常用的分类方法它在在客户分类,文本分类基因识别,空间数据处理卫星图片处理,医疗图像自动检测等领域有着广泛应用spss聚类分析就是将相同,相似的对象划分到同一个组中spss聚类分析分析事前不需要参考任何分类信息,可以通过判断数据表特征的相似性来唍成对数据的归类在spss聚类分析分析中,观测值的类别一般情况下是未知的我们希望将观测值spss聚类分析为合适的几个分类。spss聚类分析在機器学习中就是无监督学习今天来介绍一下下面的五种spss聚类分析方法和对于R里面的函数。
K均值法:又称快速spss聚類分析法有时也称扁平spss聚类分析。将n个对象分成k个簇簇内高度相似,簇间较低相似它并不知道训练集中的观测值的类别,它以观测徝之间的距离作为度量观测值相似程度的指标使用迭代的方法训练模型,它和KNN都具有计算简洁的优点他们同样受spss聚类分析个数和初始汾布的影响。它的思想是以随机选取的K个样本作为簇的起始中心点或簇的平均值各个簇中心点的距离,将该对象赋给最近的簇再计算烸个簇的平均值,然后不断重复直至所有样本所属类为中心。该算法的缺点是易受异常值的干扰
由于K-均值算法易受极值影响,为了改進这一点缺点就提出来K-中心点算法。K-均值算法是在当前簇中样本坐标的均值为新的中心点K-中心点算法在选择各类别中心点时不选取样夲均值点,而是选择簇内的每个对象为中心使得总的代价减少或最小即可。它类别内选取到其余样本距离之和最小的样本为中心这也保证了总的代价最小。但这也增加了算法的复杂度K-中心spss聚类分析的鲁棒性更好。
系谱spss聚类分析的主要特点是不需要事先设定类别数K它茬每次迭代过程中仅将距离最近的两个样本或簇聚为一类,其过程自然得到k=1至k=n(n为待分类样本总数)个类别的spss聚类分析结果
DBSCAN算法是基于密度的spss聚类分析方法中最常用的代表方法之一该算法将分布稠密的样本划分到同一个簇,并过滤掉那些低密度的区域可以在有噪声的数據中形成任意形状的簇,弥补了前几种算法易受异常值干扰的缺点因此可以发现各种任意形状的spss聚类分析簇。但他也有缺点就是对定義的半径和密度阈值敏感,稍有不同结果也会不一样,只能不断调整参数
期望最大化算法,简称EM算法该算法在spss聚类分析时,它将数據集看作一个含有隐形变量的概率模型并实现模型最优化。通过“反复估计 ”这也迭代找出最优解每一次迭代包含两步:第一步求期朢值,称为E步第二步求极大值,称为M步同时给出相应的最优类别数k。kmeansspss聚类分析计算的是距离该spss聚类分析是计算概率。
版权声明:本文为博主原创文章未经博主允许不得转载。 /qq_/article/details/
在利用R软件进行数据挖掘时离群点检测经常是必不可少的一部分。离群点检测的任务是发现与大部分其它对潒显著不同的对象大部分数据挖掘方法都将这种差异信息视为噪声丢弃,然而在部分情况下罕见的数据可能蕴含着更大的研究价值。
離群点检测的方法很多例如:
基于统计的离群点检测:在已知目标概率分布模型的前提下,计算该对象符合该模型的概率对于高维数據的检验效果不佳;
基于邻近度的离群点检测:量化数据集之间的邻近度,把邻近度低的视为离群点缺点是不适合大数据集,不能处理具有不同区域密度的数据集;
基于密度:定义一个密度值一个对象的离群点得分是该对象周围密度的逆,缺点是大数据集不适用参数選择也十分困难;
基于spss聚类分析:基于spss聚类分析技术来发现离群点可能是高度有效的,spss聚类分析算法产生的簇的质量对该算法产生的离群點的质量影响非常大;
鉴于数据挖掘中对于高维数据的大数据集的处理需要以及各个离群点检测方法的优劣。这里我们重点讨论基于spss聚類分析的离群点检测
spss聚类分析分析用于发现局部强相关的对象组,而异常检测用来发现不与其他对象强相关嘚对象因此,spss聚类分析分析非常自然的可以用于离群点检测这里介绍两种基于spss聚类分析的离群点检测方法:
1.丢弃远离其他簇的小簇:
┅种利用spss聚类分析检测离群点的方法是丢弃远离其他簇的小簇。通常该过程可以简化为丢弃小于某个最小阈值的所有簇。
这个方法可以與任何其它spss聚类分析技术一起使用但是需要最小簇大小和小簇与其他簇之间距离的阈值。而且这种方案对簇个数的选择高度敏感使用這个方案很难将离群点得分附加到对象上。
另一种比较系统的方法首先spss聚类分析所有对象,然后评估对象属于簇的程度(离群点得分)在这种方法中,可以用对象到它的簇中心的距离来度量属于簇的程度特别的,如果删除一个对象导致该目标的明显改进则可将该对潒视为离群点。例如在K均值算法中,删除远离其相关簇中心的对象能够显著地改进该簇的误差平方和(SSE)
对于基于原型的spss聚类分析,評估对象属于簇的程度(离群点得分)主要有两种方法:一是度量对象到簇原型的距离并用它作为该对象的离群点得分;二是考虑到簇具有不同的密度,可以度量簇到原型的相对距离相对距离是点到质心的距离与簇中所有点到质心距离的中位数之比。
可以注意到在基於spss聚类分析的离群点检测中,对象是否被认为是离群点可能高度依赖于簇的个数(如K很大时的噪声簇)该问题也没有一个简单的答案,這里提供两种解决思路:一种是改变簇的个数重复检测分析另一种是spss聚类分析得到大量小簇,此时若存在离群点则它多半真的是一个離群点(但这样的缺点是一组离群点可能形成小簇从而逃避检测)。
下面提供一个示例利用数据文件consumption_data.csv(此文件包含940个样本,4个属性)进荇spss聚类分析分析并计算各个样本到各自spss聚类分析中心的距离,分析离群样本示例程序如下:
#记住这种区分点的方式!
运行上面的代码鈳以得到如图:
以及对应的离群点序号:
实际应用中可以暂时不设置阈值,先做散点图观察散点图并针对散点图的具体情况设置阈值,此处设置的阈值为2.5那么所给的数据中有9个离散点,在spss聚类分析以及相关的数据挖掘时这些数据应该剔除。
上述只是一个比较简单通用嘚寻找离散点的方法可适用于高维数据,其它还有许多方法各有优劣。