- 1、本文档共79页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用SQL Server Analysis Services数据挖掘的关联规则实现商品推荐功能
(一)
假如你有一个购物类的网站,那么你如何给你的客户来推荐产品呢?这个功能在很多电商类网站都有,那么,通过SQL Server Analysis Services的数据挖掘功能,你也可以轻松的来构建类似的功能。
将分为三个部分来演示如何实现这个功能。
构建挖掘模型
为挖掘模型编写服务接口
开发简单的前端应用
此篇介绍如何使用SQL Server Analysis Services基于此问题来构建简单的挖掘模型。
关于数据挖掘,简单的就是说从海量数据中发现信息的一个过程。如果说商业智能分为三个层次:告诉你发生了什么,为什么会发生,将来会发生什么。那么,数据挖掘绝对算是商业智能中最高的一个层次,告诉你将来会发生什么,也就是预测。而预测的基础就是根据海量的历史数据,结合一定的算法,以概率为基础,告诉你一条新数据某条属性的趋势。
数据挖掘的模型很多,贝叶斯,时间序列,关联规则等都是常用的模型,根据不同的问题特征可以套用不同的模型算法。比如此篇提到的商品推荐,就是典型的适合用关联规则来解决。在数据挖掘中典型的啤酒和尿布的问题,大体上就是基于这个方法。
创建挖掘模型项目
笔者注:如果你是一个c#或者相关的应用程序开发人员,以下的内容看起来可能会有些陌生,笔者建议此部分跟着文章中介绍的步骤来做就可以,相关细节我会尽量以开发人员的角度去解释。后面有适合开发人员逻辑的一些介绍可以帮助你更好的理解数据挖掘项目。
打开SQL Server Data Tools,点击File-New-Project
选择项目类型:
Analysis Services Multidimensional and Data Mining Models
为项目添加数据源。
如图,在Solution Explorer中,右键单击Data Sources,选择New Data Source:
这里用到的数据源是微软官方示例库Adventure Works DW 2012,是Data Warehouse的示例库。
关于如何获取并且部署这些示例库,可以参考此篇下面的文章列表。
然后,添加数据源视图,在Solution Explorer中右键Data Source Views,选择New Data Source View。
在Relational data source中,选择刚才建立的数据源名称:
点击下一步。
这个界面中选择用到的表。根据微软官方教程以及示例数据,只选择vAssocSeqLineItems和vAssocSeqOrders两个视图就可以。
如果要用关联规则来解决问题,那么你的数据就要符合一定的结构。而具体的结构要求就可以参考这两个视图。
vAssocSeqOrders是订单主表,里面记录了基本的订单信息,一条订单一行记录。
vAssocSeqLineItems是订单相信信息表,里面记录了每条订单里都包含了哪些商品。
两张表逻辑上通过OrderNumber关联,我们关注的字段是Model,这里面记录了商品名称。
选择好用到的表之后,可以直接点击完成结束数据源视图的设置。
这两个视图是没有逻辑关系的,但这里需要指定一下。
方法就是在数据源视图里,拖拽vAssocSeqLineItems里的OrderNumber字段到vAssocSeqOrders的OrderNumber字段。完成后可以看到一个从vAssocSeqLineItems视图指向vAssocSeqOrders的箭头。
到这里数据源视图设置完毕。
下面建立基于关联规则的挖掘模型。在Solution Explorer中,右键单击Mining Structures,选择New Mining Structure。
第一个界面,使用已经存在的关系数据库或者数据仓库,所以直接下一步。
然后在这个界面中指定挖掘结构要采用的挖掘模型。点击下拉框,选择Microsoft Association Rules,也就是关联规则。点下一步。
这里指定数据源视图,默认选择刚才建立的就可以,直接点击下一步。
这一步比较关键,理解起来也比较绕。这里主要是要指定事例表和嵌套表。在这里,记录订单基本信息的是事例表,而记录订单里有哪些产品的表为嵌套表。
在这个模型当中,我们要清楚的是,我们的事例单位,是一条条订单,而不是订单里的一个个产品。如果每次在建立模型的过程中无法区分哪个应该是事例表哪个应该是嵌套表的话,那么可以回头来先想下这个问题。
指定完毕事例表和嵌套表,点击下一步。
这里指定在分析模型中如何使用这些列。首先指定键列为OrderNumber和Model,然后再把Model列指定为输入列和可预测列。因为这里就是要根据已经选择的商品来预测客户将会购买什么商品。
按如图所示的方法指定完毕后,点击下一步。
选择列的类型,这里根据系统
文档评论(0)