聚类

Reads: 659 Edit

1 功能描述

聚类和分类虽然只相差一字,但两者在数据挖掘中却大相径庭。分类属于典型的监督学习,即有目标变量;而聚类则属于非监督学习,即没有目标变量。

现实中聚类的问题也很常见,如我们常说物以类聚,人以群分。我们通常会对人的性格进行分类,会对物种进行分类等等。

2 预处理

2.1 数据处理

我们这里将采用“地区经济社会发展.sav”数据文件,根据我国31个省市经济、社会、环境状况来对其进行分类。

首先需要将数据读取到SPSS Modeler软件中。将“源”选项卡下面的Statistics节点添加到流编辑区域

mdl-283

双击打开Statistics节点;选择“地区经济社会发展.sav”文件的存放路径,点击确定。

mdl-284

将“输出”选项卡下面的表节点添加到数据流中,点击运行,可以发现数据已经导入到SPSS Modeler软件中,将鼠标移动到变量名上面会显示出变量的标签,如X1表示各地区的GDP数值。

mdl-285

将“字段选项”选项卡下面的类型节点添加到数据流中,并与Statistics节点连接。

mdl-286

双击打开类型节点,其中类型节点自动帮我们初始化了变量的测量(类型)。由于地区变量只是个代号,不是经济社会环境的指标,所以将其角色设为“无”,其他变量的角色均设为“输入”。注意:由于聚类分析属于非监督学习,所以没有目标变量。

mdl-287

2.2 变量处理

由于数据中各变量的单位不一致,且之间存在多重共线性,所以需要对数据进行预处理。

将“字段选项”选项卡下面的自动数据准备节点添加到数据流中,并与类型节点连接。

mdl-288

双击打开自动数据准备节点,选择平衡速度和精确度选项,点击应用。

mdl-289

3 K-means

将“建模”选项卡下面的“K-means”节点添加到数据流,并与自动数据准备节点连接。

mdl-290

双击打开K-means节点,在模型页面聚类数输入3(假定我们想将31个地区聚成3个类别,当然也可以输入2或4将地区聚成2类或4类),其他保持模型,点击运行。

mdl-291

模型训练好后,将自动添加到数据流中。

mdl-292

双击打开训练好的K-means模型,里面有聚类质量等信息。

mdl-293

为了查看聚类后的类别,回到数据流编辑区域,将“输出”选项卡下面的“表”节点添加到数据流,并与模型节点连接。

mdl-294

双击打开表节点,可以发现数据最后一列即为每个地区对应的类别。

mdl-295

4 自动聚类

SPSS Modeler给我们提供了可以自动选择模型来对样本进行聚类的功能——自动聚类。

仍然采用前面例子的数据,前面的处理步骤相同,这里不再演示。

将“建模”选项卡下面的“自动聚类”节点添加到数据流,并与自动数据准备节点连接。

mdl-296

双击打开自动聚类节点,在专家页面中,勾选Kohonen、K-menas、两步三个模型,其他保持默认,点击运行。

mdl-297

模型训练好后,将自动添加到数据流中。

mdl-298

将“输出”选项卡下面的“表”节点添加到数据流,并与模型节点连接。

双击打开表节点,可以发现数据最后一列即为每个地区对应的类别。总共将样本分为了2个类别

注意:自动聚类节点不能自定义聚类的类别数,而是根据数据来选择最优的聚类数,但现实的情况往往会更加复杂,仅通过数据来确定聚类的类别数可能不是最符合现实的。所以对于聚类问题,最好还是手动选择模型,分别对不同的类别数进行聚类,然后看哪个更符合现实。

mdl-299



获取案例数据,请关注微信公众号并回复:Modeler_dt9


Comments

Make a comment