第9章rapidminerkmeans聚类辨别分析v1文档格式.docx
《第9章rapidminerkmeans聚类辨别分析v1文档格式.docx》由会员分享,可在线阅读,更多相关《第9章rapidminerkmeans聚类辨别分析v1文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
![第9章rapidminerkmeans聚类辨别分析v1文档格式.docx](https://file1.bdocx.com/fileroot1/2022-9/30/f05fd46a-06ee-44e4-ac21-52ad9c54eff9/f05fd46a-06ee-44e4-ac21-52ad9c54eff91.gif)
基于模型的方法
统计学方法、神经网络方法
常用聚类算法见表92。
表92常用聚类分析算法
算法名称
算法描述
K-Means
K-均值聚类也叫快速聚类法,在最小化误差函数的基础上将数据划分为预定的类数K。
该算法原理简单并便于处理大量数据。
K-中心点
K-均值算法对孤立点的敏感性,K-中心点算法不采用簇中对象的平均值作为簇中心,而选用簇中离平均值最近的对象作为簇中心。
系统聚类
系统聚类也叫多层次聚类,分类的单位由高到低呈树形结构,且所处的位置越低,其所包含的对象就越少,但这些对象间的共同特征越多。
该聚类方法只适合在小数据量的时候使用,数据量大的时候速度会非常慢。
9.1.2K-Means聚类算法
K-Means算法是典型的基于距离的非层次聚类算法,在最小化误差函数的基础上将数据划分为预定的类数K,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。
1.算法过程
1)从N个样本数据中随机选取K个对象作为初始的聚类中心;
2)分别计算每个样本到各个聚类中心的距离,将对象分配到距离最近的聚类中;
3)所有对象分配完成后,重新计算K个聚类的中心;
4)与前一次计算得到的K个聚类中心比较,如果聚类中心发生变化,转2),否则转5);
5)当质心不发生变化时停止并输出聚类结果。
聚类的结果可能依赖于初始聚类中心的随机选择,可能使得结果严重偏离全局最优分类。
实践中,为了得到较好的结果,通常以不同的初始聚类中心,多次运行K-Means算法。
在所有对象分配完成后,重新计算K个聚类的中心时,对于连续数据,聚类中心取该簇的均值,但是当样本的某些属性是分类变量时,均值可能无定义,可以使用K-众数方法。
2.数据类型与相似性的度量
(1)连续属性
对于连续属性,要先对各属性值进行零-均值规,再进行距离的计算。
K-Means聚类算法中,一般需要度量样本之间的距离、样本与簇之间的距离以及簇与簇之间的距离。
度量样本之间的相似性最常用的是欧几里得距离、曼哈顿距离和闵可夫斯基距离;
样本与簇之间的距离可以用样本到簇中心的距离
;
簇与簇之间的距离可以用簇中心的距离
。
用
个属性来表示
个样本的数据矩阵如下:
欧几里得距离
(9-1)
曼哈顿距离
(9-2)
闵可夫斯基距离
(9-3)
为正整数,
时即为曼哈顿距离;
时即为欧几里得距离。
(2)文档数据
对于文档数据使用余弦相似性度量,先将文档数据整理成文档—词矩阵格式,如表93。
表93文档—词矩阵
lost
win
team
score
music
happy
sad
…
coach
文档一
14
2
8
7
10
6
文档二
1
13
3
4
16
文档三
9
5
两个文档之间的相似度的计算公式为:
(9-4)
3.目标函数
使用误差平方和SSE作为度量聚类质量的目标函数,对于两种不同的聚类结果,选择误差平方和较小的分类结果。
连续属性的SSE计算公式为:
(9-5)
文档数据的SSE计算公式为:
(9-6)
簇
的聚类中心
计算公式为:
(9-7)
表94符号表
符号
含义
K
聚类簇的个数
第
个簇
对象(样本)
个簇中样本的个数
下面结合具体案例来实现本节开始提出问题。
部分餐饮客户的消费行为特征数据如表95。
根据这些数据将客户分类成不同客户群,并评价这些客户群的价值。
表95消费行为特征数据
ID
R(最近一次消费时间间隔)
F(消费频率)
M(消费总金额)
37
579
35
616
25
394
52
111
36
521
41
225
56
118
793
54
18
1086
采用K-Means聚类算法,设定聚类个数K为3,距离函数默认为欧氏距离。
执行K-Means聚类算法输出的结果见表96。
表96聚类算法输出结果
分群类别
分群1
分群2
分群3
样本个数
352
370
218
样本个数占比
37.45%
39.36%
23.19%
聚类中心
R
18.47727
11.355114
1198.3034
F
15.48919
7.316216
429.8898
M
16.09174
10.711009
1913.3965
以下是绘制的不同客户分群的概率密度函数图,通过这些图能直观地比较不同客户群的价值。
图92分群1的概率密度函数图
图93分群2的概率密度函数图
图94分群3的概率密度函数图
客户价值分析:
分群1特点:
R主要集中在10~30天之间;
消费次数集中在5~30次;
消费金额在1600~2000。
分群2特点:
R分布在20~45天之间;
消费次数集中在5~25次;
消费金额在800~1600。
分群3特点:
R分布在30~60天之间;
消费次数集中在1~10次;
消费金额在200~800。
对比分析:
分群1时间间隔较短,消费次数多,而且消费金额较大,是高消费高价值人群。
分群2的时间间隔、消费次数和消费金额处于中等水平。
分群3的时间间隔较长,消费次数和消费金额处于较低水平,是价值较低的客户群体。
9.1.3聚类分析算法评价
聚类分析仅根据样本数据本身将样本分组。
其目标是,组的对象相互之间是相似的(相关的),而不同组中的对象是不同的(不相关的)。
组的相似性越大,组间差别越大,聚类效果就越好。
(1)purity评价法
purity方法是极为简单的一种聚类评价方法,只需计算正确聚类数占总数的比例:
(9-8)
其中,
是聚类的集合。
表示第k个聚类的集合。
表示需要被聚类的集合,
表示第
个聚类对象。
表示被聚类集合对象的总数。
(2)RI评价法
实际上这是一种用排列组合原理来对聚类进行评价的手段,RI评价公式如下:
(9-10)
其中R是指被聚在一类的两个对象被正确分类了,W是指不应该被聚在一类的两个对象被正确分开了,M指不应该放在一类的对象被错误的放在了一类,D指不应该分开的对象被错误的分开了。
(3)F值评价法
这是基于上述RI方法衍生出的一个方法,F评价公式如下:
(9-11)
其中
,
实际上RI方法就是把准确率p和召回率r看得同等重要,事实上有时候我们可能需要某一特性更多一点,这时候就适合使用F值方法。
9.2实例1—利用K-Means聚类确定患冠心病的高风险人群
9.2.1背景和概要说明
Sonia在一家主要健康保险公司担任项目总监。
最近她一直在阅读医学刊物和其他文章,并发现好多文章都在强调体重、性别和胆固醇对患冠心病的影响。
她阅读的研究文件一次又一次地确认这三个变量之间存在关联。
尽管人们无法在自己的性别方面下功夫,但无疑可以通过选择合理的生活方式来改变胆固醇水平和体重。
于是她开始提议公司为健康保险客户提供体重和胆固醇管理项目。
在考虑她的工作在哪里开展可能最为有效时,她希望了解是否存在发生高体重和高胆固醇风险最高的自然群体,如果存在,这些群体之间的自然分界线在哪里。
9.2.2业务理解
Sonia的目标是确定由公司提供保险服务且因体重和/或高胆固醇患冠心病的风险非常高的人员,并试图联络这些人员。
她了解患冠心病风险较低的人员,即体重和胆固醇水平较低的人员不太可能会参加她提供的项目。
她还了解可能存在高体重和低胆固醇、高体重和高胆固醇,以及低体重和高胆固醇的保单持有人。
她还认识到可能会有许多人介于它们之间。
为了实现目标,她需要在数以千计的保单持有人中搜索具有类似特征的群体,并制定相关且对这些不同的群体有吸引力的项目和沟通方式。
9.2.3数据理解
使用该保险公司的索赔数据库,Sonia提取了547个随机挑选的人员的三个属性,即受保人最近的体检表上记录的体重(单位:
磅)、最近一次验血时测得的胆固醇水平,以及性别。
和在许多数据集中的典型做法一样,性别属性使用0来表示女性,并使用1来表示男性。
我们将使用从Sonia公司的数据库中提取的这些样本数据构建聚类模型,以便帮助Sonia了解公司的客户(即健康保险保单持有人)根据体重、性别和胆固醇水平进行分组的情况。
我们应切记在构建模型时,均值尤其容易受到极端离群点的不当影响,因此在使用K均值聚类数据挖掘方法时查看是否存在不一致的数据至关重要。
9.2.4数据准备
将“.K-Means聚类.csv”数据集导入到RapidMiner数据存储库中,保存为//LocalRepository/data/K-Means聚类。
我们可以看到先前定义的三个属性有547个观察项。
我们可以看到三个属性中的每个属性的平均值,以及对应的标准差和围,如图9.5。
其中没有看起来不一致的值(切记前面关于使用标准差查找统计离群点的备注)。
由于没有缺失的值要处理,因此数据看起来非常干净,并可直接进行挖掘。
图9.5数据基本信息
9.2.5操作步骤
第一步:
对数据进行聚类
将数据拖拽到操作视图界面,检索“k-Means”操作符并将其与数据进行连接,然后与输出端口连接,点击运行,我们可以看到如图运行结果,在参数设置如图9.6中,我们可以设计聚成的k的类数,以及“maxruns”最大循环迭代的次数。
图9.6k-Means聚类参数设置
第二步:
结果集过滤
将“FilterExamples”结果集过滤操作符拖进操作界面,如图9.7,在参数设置中,选择类别等于类别0,如图9.8。
图9.7操作符流程视图
图9.8结果集过