今天,小编和大家一起学习聚类算法,是在没有任何先验知识的情况下,基于样本的数据特征,把相似或相近的样本划为一群,把差异较大或相远的样本划分到另一群,形成不同的类别。

1. 聚类方法

1.1 距离

利用距离来判断样本间的相似程度。
常用的有:明氏距离、曼哈顿距离、欧式距离、切比雪夫距离。

1.2 K-means算法

基于原型的聚类算法。
在初始阶段,随机指定k个质心,之后通过距离度量的方式,把每个样本分配到距离他最近的质心中,从而形成初始的聚类类群。
接着,根据上一次的聚类结果重新计算新的质心并对样本进行重新划分,如此反复多次,直到获得满意结果。实现过程:

1.21 指定聚类数目k
先设置一个较小的k之后逐渐增加,对每个k均运行算法,最后通过最终结果的轮廓系数大小作为最终结果。

1.22 初始化k个聚类的中心
两种方法:
① 随机法:随机指定k个样本点作为初始化中心。
② 最远距离法:随机选择一个样本点作为第一个中心,接下来选择距离第一个中心最远的点作为质心,直至生成k个中心。

1.23 计算距离,把所有样本划分到不同类群。
计算每个样本到k个类群中心的距离,根据最小距离原则把每个样本点分配到距离它最近的中心,最终把所有的样本都划分到k个类群中。

1.24 根据上一步聚类结果,重新计算每个类群的中心。
每个样本分配完成后,需要重新计算每个类群的中心。

1.25 判定是否达到停止条件,否则返回第三步重复进行。
终止条件设定:
① 指定聚类中心变动阈值。
② 指定迭代次数。

1.3 K-means注意事项

1.31 聚类前应先对变量进行标准化
SPSS Modeler会在聚类前对数据自动进行标准化处理,0-1标准化,即离差标准化。

1.32 聚类前应对分类变量进行处理
由于聚类算法距离的计算是针对数值型变量的,分类变量不能直接处理,需要先对分类变量进行数值化处理,设置产生虚拟变量,即哑变量。对于m个水平的分类变量,可以引入m个虚拟化的0-1变量。

虽然采用哑变量的方式解决了分类变量距离计算的问题,但是通过哑变量计算将导致分类变量的权重大于其他数值型变量。为了保证分类变量的权重与数值型变量一致,SPSS Modeler会同样对哑变量进行标准化。

1.33 聚类结果好坏的度量方式
目标:同一个类群样本尽可能近,不同类群的样本尽可能远。
指标:轮廓系数,系数越大,说明聚类效果越好。一般地,当>0.5时,可认为聚类模型有较好的效果;当<0.2时,认为分类效果不明显。

在样本量较大的情况下,轮廓系数的计算会非常大,为了减低计算,SPSS Modeler将使用替代方案进行计算距离,如下图:

2. K-means聚类实践

使用“K-Means”节点完成。

案例:Demo数据文件“car_sales_knn_mod.sav”。

数据展示:157款已上市的不同型号的汽车属性数据,包括有制造商、型号、销量、4年转售价值、上市价格、销量等指标。2款待上市的新车数据,新车数据中不包括销量。
我们将利用聚类后的结果对这2款新车的后续表现进行预测。

数据流

2.1 数据质量审核

在建模前,先借助“数据审核”节点(输出菜单条中)对数据进行审核。



通过审核结果及数据表,我们发现数据存在缺失,主要是:

  1. manufact,type字段:只有新型车存在缺失,此处缺失值需要进行填充。
  2. sales,resale(4年转售价值):新车数据刚上市,以及部分车上市不够4年数据为空。该值不参与建模,只作为最后比较使用。
  3. price,engine_s及其他:部分数据收集存在缺失,对于此部分数据进行删除。

2.2 建模前准备

2.21 使用“填充”节点对manufact字段进行缺失值填充

2.22 使用“填充”节点对type字段进行缺失值填充


2.23 使用“选择”节点对其他存在空值的字段进行删除

2.24 使用“选择”节点选择已上市的车辆数据,之后添加“类型”节点进行变量角色设定

2.3 建模

2.31 模型选项卡

2.32 专家选项卡

集合编码值越接近于1,分类型变量的权重就越大于数值型变量。

2.4 结果


模型共使用了10个输入变量,划分为4个类群,模型的轮廓系数为0.5,分类效果较好。




进一步,可以在模型块后连接“表格”节点,查看运行后结果:

最后,对上述模型进行复制,并将2款新车型数据输入模型,进行分析,看分别归入哪个类别。


SPSS Modeler 聚类分析(第十六章)相关推荐

  1. 第十六章、Raid及mdadm命令

    第十六章.Raid及mdadm命令 10_01_Raid及mdadm命令之一 (17 - $) 各种接口的速率: IDE: 133Mbps SATA: 300Mbps, 600Mbps, 6Gbps ...

  2. 第十六章 推荐系统-机器学习老师板书-斯坦福吴恩达教授

    第十六章 推荐系统 16.1 问题规划 16.2 基于内容的推荐系统 16.3 协同过滤 16.4 协同过滤算法 16.5 向量化:低秩矩阵分解 16.6 实现细节:均值规范化 16.1 问题规划 1 ...

  3. 鸟哥的Linux私房菜(基础篇)- 第二十六章、Linux 核心编译与管理

    第二十六章.Linux核心编译与管理 最近升级日期:2009/09/18 我们说的 Linux 其实指的就是核心 (kernel) 而已.这个核心控制你主机的所有硬件并提供系统所有的功能,所以说,他重 ...

  4. 鸟哥的Linux私房菜(基础篇)- 第十六章、例行性工作排程 (crontab)

    第十六章.例行性工作排程 (crontab) 最近升级日期:2009/09/11 学习了基础篇也一阵子了,你会发现到为什么系统常常会主动的进行一些任务?这些任务到底是谁在配置工作的?如果你想要让自己设 ...

  5. pdfstamper生成pdf无法显示汉字_正点原子STM32F4/F7水星开发板资料连载第四十六章 汉字显示实验...

    1)实验平台:正点原子水星 STM32F4/F7 开发板 2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 3)全套实验源码+手册+视频下载 ...

  6. 判断按键值_「正点原子NANO STM32开发板资料连载」第十六章电容触摸按键实验...

    1)实验平台:ALIENTEK NANO STM32F411 V1开发板2)摘自<正点原子STM32F4 开发指南(HAL 库版>关注官方微信号公众号,获取更多资料:正点原子 第十六章电容 ...

  7. 嵌入式实时操作系统ucos-ii_「正点原子NANO STM32开发板资料连载」第三十六章 UCOSII 实验 1任务调度...

    1)实验平台:alientek NANO STM32F411 V1开发板2)摘自<正点原子STM32F4 开发指南(HAL 库版>关注官方微信号公众号,获取更多资料:正点原子 第三十六章 ...

  8. 第三百三十六章 斗宗强者间的大战!

    第三百三十六章 斗宗强者间的大战! <script language="javascript" src="/js/style2.js"></s ...

  9. 构建之法第一、二、十六章

    <构建之法>第一.二.十六章疑问 我通过阅读发现这是一本十分有趣的书.不同于别的书的晦涩难懂,<构建之法>利用浅显易懂的语言,贴近生活的例子向我们讲述了软件工程的内容. 第一章 ...

  10. 第四十六章:SpringBoot RabbitMQ完成消息延迟消费

    在2018-3-1日SpringBoot官方发版了2.0.0.RELEASE最新版本,新版本完全基于Spring5.0来构建,JDK最低支持也从原来的1.6也改成了1.8,不再兼容1.8以下的版本,更 ...

最新文章

  1. net core 使用 rabbitmq
  2. 深度剖析Kubernetes API Server三部曲 - part 1
  3. Tomcat配置优化
  4. 表达式x=x(x-1)
  5. TensorFlow COCO
  6. 使用python制作ArcGIS插件(4)界面交互
  7. C#教程第四课:循环控制语句
  8. 一天已不足24小时?一年不足365天?求每年元旦为周几的公式还能用吗?(标题党石锤了)
  9. 【58沈剑架构系列】微服务架构多“微”才合适?
  10. 华为手机线刷工具_手机刷机、救砖教程
  11. 安装,激活(不更新升级)Navicat premium12.0.24(12.0.18)
  12. navicat安装(linux)
  13. opencv实现移动速度计算
  14. python中db是什么意思_Python3爬虫中MongoDB的存储操作是什么
  15. SHOPEX快递单号查询插件圆通V8.2专版
  16. vue-router同一路由地址同页面切换无效解决
  17. LeetCode337打家劫社Ⅲ(树形动态规划)
  18. 硬件开发总结笔记一:电阻
  19. PS教程丨如何使用PS消除全景图中的三脚架?
  20. VSCode 使用教程--配置 C / C++ 环境

热门文章

  1. c语言函数名合集,C语言内部函数名.doc
  2. 分享,iOS国家手机区号代码.plist
  3. 计算机函数公式 加法,excel怎样使用加法函数公式
  4. 海洋网络收音机海洋影音盒
  5. comsol 学习笔记【基础知识,磁场与结构场耦合为主】
  6. 为什么仿宋字体打印出楷体_win7仿宋字体及楷体字体打包下载
  7. 《植物大战僵尸》网页版!火热试玩当中
  8. Springboot实现阿里云通信短信服务有关短信验证码的发送
  9. 5G网络能力开放的“接头人“——NEF
  10. Eclipse使用教程(入门级)