第9章rapidminerkmeans聚类辨别分析v1.docx

上传人:b****1 文档编号:15049 上传时间:2022-09-30 格式:DOCX 页数:19 大小:274.88KB
下载 相关 举报
第9章rapidminerkmeans聚类辨别分析v1.docx_第1页
第1页 / 共19页
第9章rapidminerkmeans聚类辨别分析v1.docx_第2页
第2页 / 共19页
第9章rapidminerkmeans聚类辨别分析v1.docx_第3页
第3页 / 共19页
第9章rapidminerkmeans聚类辨别分析v1.docx_第4页
第4页 / 共19页
第9章rapidminerkmeans聚类辨别分析v1.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

第9章rapidminerkmeans聚类辨别分析v1.docx

《第9章rapidminerkmeans聚类辨别分析v1.docx》由会员分享,可在线阅读,更多相关《第9章rapidminerkmeans聚类辨别分析v1.docx(19页珍藏版)》请在冰豆网上搜索。

第9章rapidminerkmeans聚类辨别分析v1.docx

第9章rapidminerkmeans聚类辨别分析v1

第9章K-Means聚类、辨别分析

9.1理解聚类分析

餐饮企业经常会碰到这样的问题:

1)如何通过餐饮客户消费行为的测量,进一步评判餐饮客户的价值和对餐饮客户进行细分,找到有价值的客户群和需关注的客户群?

2)如何合理对菜品进行分析,以便区分哪些菜品畅销毛利又高,哪些菜品滞销毛利又低?

餐饮企业遇到的这些问题,可以通过聚类分析解决。

9.1.1常用聚类分析算法

与分类不同,聚类分析是在没有给定划分类别的情况下,根据数据相似度进行样本分组的一种方法。

与分类模型需要使用有类标记样本构成的训练数据不同,聚类模型可以建立在无类标记的数据上,是一种非监督的学习算法。

聚类的输入是一组未被标记的样本,聚类根据数据自身的距离或相似度将他们划分为若干组,划分的原则是组样本最小化而组间(外部)距离最大化,如图91所示。

图91聚类分析建模原理

常用聚类方法见表91。

表91常用聚类方法

类别

包括的主要算法

划分(分裂)方法

K-Means算法(K-平均)、K-MEDOIDS算法(K-中心点)、CLARANS算法(基于选择的算法)

层次分析方法

BIRCH算法(平衡迭代规约和聚类)、CURE算法(代表点聚类)、CHAMELEON算法(动态模型)

基于密度的方法

DBSCAN算法(基于高密度连接区域)、DENCLUE算法(密度分布函数)、OPTICS算法(对象排序识别)

基于网格的方法

STING算法(统计信息网络)、CLIOUE算法(聚类高维空间)、WAVE-CLUSTER算法(小波变换)

基于模型的方法

统计学方法、神经网络方法

常用聚类算法见表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

0

8

7

10

6

文档二

1

13

3

4

1

16

4

7

文档三

9

6

7

7

3

14

8

5

两个文档之间的相似度的计算公式为:

(9-4)

3.目标函数

使用误差平方和SSE作为度量聚类质量的目标函数,对于两种不同的聚类结果,选择误差平方和较小的分类结果。

连续属性的SSE计算公式为:

(9-5)

文档数据的SSE计算公式为:

(9-6)

的聚类中心

计算公式为:

(9-7)

表94符号表

符号

含义

K

聚类簇的个数

个簇

对象(样本)

的聚类中心

个簇中样本的个数

下面结合具体案例来实现本节开始提出问题。

部分餐饮客户的消费行为特征数据如表95。

根据这些数据将客户分类成不同客户群,并评价这些客户群的价值。

表95消费行为特征数据

ID

R(最近一次消费时间间隔)

F(消费频率)

M(消费总金额)

1

37

4

579

2

35

3

616

3

25

10

394

4

52

2

111

5

36

7

521

6

41

5

225

7

56

3

118

8

37

5

793

9

54

2

111

10

5

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结果集过

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1