SQL Server数据挖掘之理解聚类算法和顺序聚类算法
最近与一个客户的开发团队探讨和学习SQL Server的数据挖掘及其应用。有几个比较有意思的问题,整理出来
关于数据挖掘的基本知识和学习资料,可以参考http://msdn.microsoft.com/zh-cn/library/bb510517.aspx
上一篇:SQL Server数据挖掘中的几个问题之理解列的用法
这一篇我们来探讨一下两个有时候会引起混淆的算法:聚类和顺序聚类
聚类算法是使用非常多的一种算法,它的作用是对数据进行分组,将特征相近的实体组织在一起,以便帮助我们对于目标实体分类决策。典型的情况,例如人口分析,客户分析。
聚类算法大致的效果如下(下面的分类名都可以修改,定义成我们更加容易理解的,例如“金牌客户”,“银牌客户”等等)
![](https://s7.51cto.com/oss/202207/20/d2f82f13903c207253f640a6c92c6c89095cbb.png)
![](https://s3.51cto.com/oss/202207/20/446386179d395e3e8817711b055f7c95027491.png)
![](https://s5.51cto.com/oss/202207/20/63678ff1575459e59c9358436424dc3a6dc91d.png)
![](https://s4.51cto.com/oss/202207/20/632bcae5944d22b014f561fb400c3b1acf2b1c.png)
有关聚类算法,有一个常见的问题就是:同一个实体会不会出现在不同的类里面呢?也就是说是否有可能会有重叠的情况?
这个问题的答案是:是否有重叠的情况,取决于算法的设置,默认情况下,是可能重叠的。
下面这个算法参数列表中,有一个CLUSTERING_METHOD,默认为1.就是所谓的EM(Expectation Maximization)这种算法,这是允许重叠的。
![](https://s7.51cto.com/oss/202207/20/d63c836663d4d14869d292b7d6b87ffed373eb.png)
如果设置为3或者4,则不允许重叠。至于是否可以伸缩(Scalable)表示的是该算法读取数据的规则,如果可伸缩,则表示会先读取50000条记录作为种子进行建模,如果足够,则停止读取。否则继续读取下50000个。而不可伸缩则每次都读取所有的实体。
那么,什么是“顺序聚类”呢?其实它的完整名称应该是”Microsoft 顺序分析和聚类分析”,也就是结合了顺序分析和聚类分析的一种特殊的算法。
![](https://s9.51cto.com/oss/202207/20/045496a46e63a19399f10558f9e9e4d02b2086.png)
#p#
这个算法建立模型之后,大致看到的效果是下面这样的
![](https://s4.51cto.com/oss/202207/20/c9d86b256dcd1760c907636c8bbbb7a3da2ed5.png)
![](https://s7.51cto.com/oss/202207/20/6771a6e64d08fc4ab4d5062ce53734e291ff10.png)
![](https://s3.51cto.com/oss/202207/20/52e4e98202e54c65239470e2240569f24f5f6d.png)
![](https://s6.51cto.com/oss/202207/20/69e31fb41c25a2e55ae5724cab186cb4e7e130.png)
【备注】这里一定要注意,除了标准的属性之外,顺序聚类会多出来所谓的“Transitions”,这里也就是体现了顺序的概念。并且顺序聚类算法与标准的聚类算法相比,更多出来另外一个专门的图形,请看下图
![](https://s8.51cto.com/oss/202207/20/d6a7a2348f1c2e649fd897b794313fd02e8b92.png)
关键就在于,这个图你该如何理解呢?我总结这么几点
- 顺序聚类算法,首先它是一个聚类算法,他会对输入的实体进行分组。
- 之所以称为顺序聚类,是说它可以在分完组之后,针对这些组的实体的一些行为(主要是与时间有关的行为)进行分析,展示。
典型的情况有:分析不同客户群体将物品放入购物篮的顺序,分析不同用户群体访问公司网页的点击顺序流。
上面这个图的举例解释就是:“分类1”的这个组,通常是买了“Road-750”这个产品后,有77%的可能性买”Road Bottle Cage”,然后又有93%的可能性买“Water Bottle”
原文链接:http://www.cnblogs.com/chenxizhang/archive/2011/07/24/2115331.html
【编辑推荐】
相关文章
- 从 vue3 和 vite 源码中,我学到了一行代码统一规范团队包管理器的神器
- EDI逐渐成为企业合作的重要节点
- 你说你会ES6?那你倒是用啊!!!
- AMD 正在招聘 RISC-V CPU 设计师
- 用 Django + Electron + Vue 写一个桌面文档客户端
- EleutherAI 推出 200亿参数的类 GPT 模型:不像 GPT-3,它免费开放
- 写完 Electron 后,我好像对 PyQt5 变心了
- 这个赛车AI不再只图一时爽,学会了考虑长远策略
- CODING 代码资产安全系列之 —— 构建全链路安全能力,守护代码资产安全
- 字节最新文本生成图像AI,训练集里居然没有一张带文字描述的图片
- OpenCV 入门之旅
- 云原生时代下的容器镜像安全(上)
- 亚马逊正在重塑 MLOps
- 双指针+归并排序!图解排序链表!
- 低代码开发会带来安全问题和数据泄露隐患吗?
- kubernetes核心实战(六)--- ConfigMap
- 最孤独的神经网络:只有一个神经元,但会「影分身」
- 改代码超级快!GPT-3新增编辑与插入文本功能,AI能为你写诗了
- 延续三代的苗乡三七,运转百年的鞍钢集团,该如何实现数智化转型?| Q推荐
- 理清 Kubernetes 中的准入控制(Admission Controller)