设为首页 收藏本站
查看: 1019|回复: 0

[经验分享] 使用SQL Server Analysis Services数据挖掘的关联规则实现商品推荐功能(五)

[复制链接]
发表于 2015-7-3 01:27:40 | 显示全部楼层 |阅读模式
  假如你有一个购物类的网站,那么你如何给你的客户来推荐产品呢?这个功能在很多电商类网站都有,那么,通过SQL Server Analysis Services的数据挖掘功能,你也可以轻松的来构建类似的功能。
  
  
  此篇承接上篇,主要演示如何根据工具的要求组织数据,然后在Excel中做挖掘预测分析。
  
  
DSC0000.jpg
  上一篇中我们演示了如何用微软提供的Data Mining for Add-ins里的示例数据来实现挖掘预测分析的功能,此篇我们用Adventure Works来演示如何来组织数据在Excel中进行挖掘预测。
  微软提供的Adventure Works示例库分为OLTP库和OLAP库,前者记录业务数据,在一个系统中的业务数据通常都是操作在这一层,业务数据层经过ETL的清洗加载和转换进入到数据仓库,供分析系统做统计分析。
  关于如何获取并且安装这些示例库,可以参考我的这篇随笔。
DSC0001.png
  在微软提供的Adventure Works示例中,已经为我们创建好了Data Warehouse库,在2012版中默认对应的名称是AdventureWorksDW2012。
DSC0002.png
  在第一篇的演示中,我们用过一个视图:vAssocSeqLineItems。
DSC0003.png
  这个视图里面记录了订单号和商品名称等信息。通过这个视图,嵌套另外一个视图,我们生成了关联规则挖掘模型进行预测分析。
  在上一篇中,挖掘工具中还需要提供商品价格信息,明显这个视图无法满足工具的要求,所以我们根据数据仓库的结构重新定义样本数据。
DSC0004.png
  上一篇我们提到的设置界面中,需要指定三个信息,订单编号商品名商品价格。工具会根据这三列的信息生成临时的挖掘模型然后生成预测报告。
  在数据仓库中,选择两张表,事实表FactInternetSales和维度表DimProduct,在事实表中我们取订单编号,然后连接到维度表中取产品名称和价格信息。建立如下查询:
  SELECT
   f.[SalesOrderNumber] AS [OrderNumber]
   ,Coalesce(p.[ModelName], p.[EnglishProductName]) AS [Model]
   ,f.ExtendedAmount AS Amount
  FROM [dbo].[FactInternetSales] f
  INNER JOIN [dbo].[DimProduct] p ON f.[ProductKey] = p.[ProductKey]
  这个查询会连接事实表和维度表生成符合工具要求格式的数据,也就说订单编号,商品名和价格。
  接下来,需要在Excel中把上面SQL语句的查询结果导入进来。下面的操作会演示如何导入一条SQL语句的结果到Excel中。当然在Excel中导入的方法很多,下面只介绍一种:
  打开Excel,点击Ribbon菜单下的Data,From Other Sources->From SQL Server。
DSC0005.png
  在新弹出的数据连接工具中,指定分析服务器所在的Server。
DSC0006.png
  点击下一步。
DSC0007.png
  留意Connect to specific table,由于我们这里用的是一个查询而不是已经存在的一张表活着一个视图,所以需要把这里勾选掉。然后选择AdventureWorksDW2012 数据仓库,点下一步。
DSC0008.png
  确认连接文件后点击Finish。
DSC0009.png
  接下来的界面中会让你选择指定数据库下的一张表,这里随便选择一个。然后点OK。
DSC00010.png
  在然后出现的Import Data界面中,选择属性Properties,出现连接属性界面:
DSC00011.png
  在连接属性界面中,点击Definition,Command type更改成SQL,Command text里输入刚才建立的SQL查询,然后点击OK。
DSC00012.png
  以上,样本数据生成好了,接下来,按照上一篇的方法开始购物篮预测分析。
DSC00013.png
  具体的方法可以参考上一篇的内容,这里需要留意的是,Transation ID选择OrderNumber,Item选择Model,Item Value选择Amount。
DSC00014.png
  在工具新建的两个标签页中,可以看到根据组织的数据生成的挖掘报告。
  同时,在挖掘分析的过程中,可以通过点击Advanced设置一些挖掘参数:
DSC00015.png
  在新弹出的界面中,可以指定最小支持度和最小规则概率。
DSC00016.png
  这些参数的设置会影响到预测结果集。通过这里的设置,可以过滤掉一些支持度低和发生概率小的事件,根据不同的业务场景需要动态的调节这些值以达到符合我们要求的挖掘结果。
  任何挖掘工具都只是一个工具,里面会让我们去设置一些跟算法相关的参数,这些参数的设置,从技术的角度上来说没有任何的建议,如何去设置就需要一定的行业经验。这也就是为什么说,有行业经验的数据分析师待遇都相当不错。同时也间接的解释了一个行业里流传好久的事实,就是为什么用顶端工具的,比如Excel,会比纯粹写SQL语句的人赚更多的钱。
  
  
  总结:
  此篇的演示基于前一篇的基础之上,从微软提供的示例数据DW中开始组织数据,然后导入到Excel利用数据挖掘插件实现挖掘预测分析。
  至此,在Excel中进行关联规则挖掘分析的介绍暂告一段落。跟前三篇的通过分析服务的方法相比,在Excel中的操作更直接一些,前者更适应用到IT系统中,适合更大量的数据,比如网站的购物篮推荐,后者更适合做内部的小规模的挖掘预测分析。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-82625-1-1.html 上篇帖子: 当SQL Server排序时遇上了NULL值 下篇帖子: SQL Server所支持的 Sql_variant 数据类型
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表