大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 顺序分析和聚类分析算法)

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 原文:(原创)大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 顺序分析和聚类分析算法)前言 本篇文章继续我们的微软挖掘系列算法总结,前几篇文章已经将相关的主要算法做了详细的介绍,我为了展示方便,特地的整理了一个目录提纲篇:大数据时代:深入浅出微软数据挖掘算法总结连载,有兴趣的童鞋可以点击查阅,本篇我们将要总结的算法为:Microsoft顺序分析和聚类分析算法,此算法为上一篇中的关联规则分析算法的一个延伸,为关联规则分析算法所形成的种类进行了更细粒度的挖掘,挖掘出不同种类内部的事例间的顺序原则,进而用以引导用户进行消费。
原文: (原创)大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 顺序分析和聚类分析算法)

前言

本篇文章继续我们的微软挖掘系列算法总结,前几篇文章已经将相关的主要算法做了详细的介绍,我为了展示方便,特地的整理了一个目录提纲篇:大数据时代:深入浅出微软数据挖掘算法总结连载,有兴趣的童鞋可以点击查阅,本篇我们将要总结的算法为:Microsoft顺序分析和聚类分析算法,此算法为上一篇中的关联规则分析算法的一个延伸,为关联规则分析算法所形成的种类进行了更细粒度的挖掘,挖掘出不同种类内部的事例间的顺序原则,进而用以引导用户进行消费。

应用场景介绍

Microsoft顺序分析和聚类分析算法,根据名称就可以联想到其应用特点,该挖掘算法是基于聚类分析算法之上然后对其分类内的事例顺序进行挖掘,其分析的重点在于事例间的顺序规则,上一篇我们介绍的Microsoft关联规则算法它的重点在于挖掘事例间的关联关系,而对产生关联关系的顺序则不关系,简单点讲:关联规则算法研究的是“鸡与蛋的关系”,而顺序分析和聚类分析算法则研究的就是“先有鸡还是先有蛋的问题”,上一篇文章中我们挖掘出几组产品间关联关系最强的,比如:山地自行车、轮胎和内胎;自行车、水壶、水壶框,这几种产品关联关系最强,也就是说客户想买其中的一些产品,就会产生最大可能的购买其他相关的产品,但是购买这几种产品的顺序是什么样的呢?

Microsoft顺序分析好聚类分析算法常用的场景:

1、网站中的浏览网站所产生的web点击流,进而进行用户行为预测

2、发生事故(比如服务器宕机、数据库死锁等)之前的事件日志,进而预测下一次事故发生的点

3、根据用户发生购买、添加购物车的顺序记录,根据产品优先级进行最佳产品推荐

其实该算法应用场景类似于聚类分析算法,但相比而言此算法更细粒度化,对聚类中的事例间的顺序进而进行挖掘。

技术准备

(1)微软案例数据仓库(AdventureWorksDW208R2),和上一篇的关联规则用到的表一样,两张表:vAssocSeqLineItems 表和 vAssocSeqOrders 表,这两张表典型的“一对多”的关联关系,vAssocSeqOrders为订单表,vAssocSeqLineItems 表为订单明细表,两者通过OrderNumber关联,具体内容可参照上篇博客:Microsoft 关联规则分析算法

(2)VS2008、SQL Server、 Analysis Services

操作步骤

(1)我们这里还是利用上一期的解决方案,数据源视图同样也是继续沿用,直接看图

其实这里面应用的最重要的一列就是LineNumber列,该列记录的就是产品的购买顺序,进而就是反应顺序规则,我们来浏览一下该数据:

(2)新建挖掘结构

我们来新建这个数据挖掘模型,新简单的步骤,具体内容可参照我之前的博客内容,看几个关键步骤:

选择该算法,然后单击下一步,选择数据源视图,然后选择好事例表和嵌套表:

点击下一步,来设置输入输出列:

然后下一步我们起个名字即可:

我们来部署该挖掘模型,然后进行处理,过程简单,不废话介绍。

结果分析

部署完程序之后,我们通过“挖掘模型查看器”进行查看分析,不废话,我们直接看图:

嘿,多么熟悉的面板,如果有童鞋看过我之间的文章,可以看到此算法用的结果展示面板其实和前面的Microsoft聚类分析算法是一样的,只是这里添加了一个新的面板:状态转换,下面我们简要的分析这几个面板,有不清楚的可以参照之前文章,重点的看看这个新添加的面板有啥作用。

这里我们随便找一个产品来分析,我们就选择上一篇关联规则算法中最出众的水壶(Water Bottle)来看看:

我们重命名了两类群体,颜色最深的最可能买水壶的群体和颜色最浅的最不可能买水壶的群体,我们针推这两个群体进行聚类分析‘,我们来看第二个面板:

我们可以看到买不买水壶的两种群体和地区有着非常大的关系,比如上图中最想买的人群集中在北美,而在太平洋地区则买的人很少,如果向下拖动的话,还可以看到和收入也有着很大的关系,比如收入高的人群买水壶的人数就少,汗...估计都是买水喝,相反收入低的屌丝阶层买水壶的人就多!嘿嘿...微软的案例数据库给出的数据看样子还挺真实。

接下来我们来看“分类特征”这一面板:

我们选择一个群体,来查看明细数据,上图中我勾选出的数据,展示的就是本章算法的重点,[开始]->Women's Mountain Shorts表示的就是一个客户来商店,最想放入购物篮的第一个产品就是:Women's Mountain Shorts(妇女的山地短裤?我去...为什么是妇女的!!...妇女最喜欢买短裤?...);[开始]->Water Bottle,也是同样的含义,表示最先放入购物篮的就是水壶这个神器了。当然还有其它几个比较重要的概率属性:都是在北美、收入是有节制的人群。

图中给出的商品顺序即是Microsoft 顺序分析和聚类分析算法推测出的顺序产品,也就是说一定按照此顺序发生购买行为的,比如上面的第一个:

Women's Mountain Shorts(妇女的山地短裤),然后Long-Sleeve Logo Jesey(长袖?)

 

最不可能买自行车的群体...来瞅瞅...太平洋地区、高收入、直接上来就买自行车(Mountain-200)或者Patch kit...

我们直接通过“分类对比”面板进行对比,查看结果:

 不介绍,上图介绍的很全面。

下面我们来看最后一个:状态转换面板

 上图给出的就是各个产品间的状态转换问题,首先颜色的深浅告诉了我们这个群体的特征,然后就是产品之间转换的可能性,可以通过拖动左侧的滑动条查看,首先与Water Bottle关联的是Sport-100,也就是说卖完水壶之后,最先买的就是Sport-100;然后是卖完Women’s Mountain Shorts,最先买的是Long-Sleeve Logo...

有兴趣的可以分析其它群体的特征和购买顺序。

推测结果导出

我们到此步骤直接将该模型的分析结果进行预测,进入到“挖掘模型预测”面板:

我们来设置挖掘函数:源选择:预测函数、字段选择:PredictSequence、条件/参数:直接将v Assoc Seq Line Items拖入,点击运行查看结果:

我们来查看结果:

可以看到所有结果中,最先放入购物篮的产品为Mountain-200这款山地自行车。如果默认不加任何选择条件的话,此结果输出项只有一个,也就是预测的第一个事例,当然很多的需求并非如此简单,比如:有时候我们需要根据地区去区分不同的购买序列问题,因为上面我们从“分类特征”面板中已经分析出来,产品件的顺序和地区有着很大的区别;

我们选择“单独查询输入”,点击“Region”,选择Europe地区:

我们可以看到这个群体的第一个最有可能购买的产品已经变了,改成了:Touring-1000,当然我们直接写DMX语句就可以:

这样实现方式更灵活,我们可以查询出产品和概率项:

其实,对于SSAS所产生的结果集,有其专用的DMX语言进行灵活的查询和操作,这里我们就不多解释了,有时间专门来解析这块。

当然,此块我们也可以根据已有的客户列表中,进行挖掘,推测出该用户最大可能性的选择的下一款产品是神马?我们选择现有的事例表和嵌套表,然后设计语句:

我们来查看结果:

看上图,根据本篇的Microsoft 顺序分析和聚类分析算法,已经将不同的用户可能按照顺序购买的产品有哪些,这里面分析的结果是严格按照顺序进行的,我们可以看到上面有一个顾客编号的为18239的,他最可能先买Water Bottle,然后再买Sport-100....

我们看看这个顾客已经发生的购买行为:

看在S051176这个订单中,这货已经买了俩产品...下一步他将买啥?我们上面已经推测出来了:Water Bottle,然后再买Sport-100....

下一步我们的工作就是保存到数据库,一段简单的代码经这部分群体的意向购买行为给挖掘出来,然后你就拿着去找BOSS可以了....

此部分过程很简单,不明白的可以参照我之间的博客。

结语

本篇文章到此结束了...关于“现有鸡先有蛋的问题”我们就研究到此,后续文章继续分析其它问题。

文章的最后我们给出前几篇算法的文章连接:

Microsoft决策树分析算法总结

Microsoft聚类分析算法总结

Microsoft Naive Bayes 分析算法

Microsoft算法结果预测篇

Microsoft时序算法总结

Microsoft 时序算法——结果预算+下期彩票预测篇

Microsoft 关联规则分析算法 

大数据时代:深入浅出微软数据挖掘算法总结连载

如果您看了本篇博客,觉得对您有所收获,请不要吝啬您的“推荐”。

 

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
19天前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。
|
29天前
|
SQL 数据库
GBase8a 数据库集群v953扩容案例问题分享
GBase8a 数据库集群v953扩容案例问题分享
|
29天前
|
SQL 数据库
gbase 8a 数据库 SQL优化案例-关联顺序优化
gbase 8a 数据库 SQL优化案例-关联顺序优化
|
1月前
|
存储 SQL 数据库
Sybase数据恢复—Sybase数据库常见问题之数据库无法启动的恢复案例
Sybase数据库数据恢复环境: Sybase数据库版本:SQL Anywhere 8.0。 Sybase数据库故障&分析: Sybase数据库无法启动。 使用Sybase Central连接报错。 数据库数据恢复工程师经过检测,发现Sybase数据库出现故障的原因是:异常断电造成Sybase数据库无法回写正常数据,导致多个存储页数据不一致,系统表描述和存储表不一致,部分存储页底层数据完全杂乱。
|
1月前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—Oracle数据库文件有坏快损坏的数据恢复案例
一台Oracle数据库打开报错,报错信息: “system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。管理员联系我们数据恢复中心寻求帮助,并提供了Oracle_Home目录的所有文件。用户方要求恢复zxfg用户下的数据。 由于数据库没有备份,无法通过备份去恢复数据库。
|
1月前
|
存储 Oracle 关系型数据库
oracle数据恢复—Oracle数据库文件大小变为0kb的数据恢复案例
存储掉盘超过上限,lun无法识别。管理员重组存储的位图信息并导出lun,发现linux操作系统上部署的oracle数据库中有上百个数据文件的大小变为0kb。数据库的大小缩水了80%以上。 取出&并分析oracle数据库的控制文件。重组存储位图信息,重新导出控制文件中记录的数据文件,发现这些文件的大小依然为0kb。
|
24天前
|
存储 Oracle 关系型数据库
服务器数据恢复—华为S5300存储Oracle数据库恢复案例
服务器存储数据恢复环境: 华为S5300存储中有12块FC硬盘,其中11块硬盘作为数据盘组建了一组RAID5阵列,剩下的1块硬盘作为热备盘使用。基于RAID的LUN分配给linux操作系统使用,存放的数据主要是Oracle数据库。 服务器存储故障: RAID5阵列中1块硬盘出现故障离线,热备盘自动激活开始同步数据,在同步数据的过程中又一块硬盘离线,RAID5阵列瘫痪,上层LUN无法使用。
|
5天前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
20 3
|
5天前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
24 3
|
5天前
|
SQL 关系型数据库 MySQL
数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog
《数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog》介绍了如何利用MySQL的二进制日志(Binlog)恢复误删除的数据。主要内容包括: 1. **启用二进制日志**:在`my.cnf`中配置`log-bin`并重启MySQL服务。 2. **查看二进制日志文件**:使用`SHOW VARIABLES LIKE 'log_%';`和`SHOW MASTER STATUS;`命令获取当前日志文件及位置。 3. **创建数据备份**:确保在恢复前已有备份,以防意外。 4. **导出二进制日志为SQL语句**:使用`mysqlbinlog`
29 2