使用SQL Server Analysis Services数据挖掘的关联规则实现商品推荐功能(四)
假如你有一个购物类的网站,那么你如何给你的客户来推荐产品呢?这个功能在很多电商类网站都有,那么,通过SQL Server Analysis Services的数据挖掘功能,你也可以轻松的来构建类似的功能。
此篇独立于前三篇,主要介绍如何通过Excel的数据挖掘来独立的实现商品推荐功能,将通过微软提供的示例数据来进行演示。
Excel是大家再熟悉不过的工具,它是微软Office里的组件之一。在baidu百科中你可以找到如下的描述:
Excel 是微软办公套装软件的一个重要的组成部分,它可以进行各种数据的处理、统计分析和辅助决策操作,广泛地应用于管理、统计财经、金融等众多领域。
数据处理,统计分析是我们经常用Excel来做的事,而辅助决策对应商业智能中的最高的一个层次,也就是微软提供的Excel数据挖掘功能。
在Excel中进行数据挖掘,需要安装一个插件:SQL Server Data Mining Tools Add-ins for Office。
下载SQL Server Data Mining Tools Add-ins for Office的页面:
http://www.microsoft.com/en-us/download/details.aspx?id=29061
本文中使用的版本是SQL Server 2012和Office 2010,这个下载链接对应的就是这个版本。
下载时需要留意下语言的版本,要跟机器上安装的Office版本相对应,还有需要留意你所安装的是32位的还是64位的,都有对应的版本。
对于以前的office 2007版本,有对应的2005,2008和2008 R2的SQL Server版本与之对应,这些版本都可以从那个下载页面的底端找到。
下载安装完成后,首先找到工具给的示例数据来看一下Excel下的数据挖掘都能给我们提供哪些功能。
如果你安装了Windows 8,那么进入到开始界面,然后敲Excel进入到应用搜索,通常第二个结果就是。
打开Excel的过程中,可能会弹出这个界面:
这里选择第二项,不要在意里面的2008版本信息。
点击后会弹出另外一个工具:
点击下一步:
指定好一个分析服务实例,点击下一步:
这里会有一个提示,从提示中我们可以看到,Excel的这个Add-ins会在分析服务库中创建临时的挖掘模型,而且这个模型会在用户关闭连接之后自动删除。
点击下一步:
这里会让我们指定是创建一个新库还是用一个已经存在的库,这里默认选择创建新库。点击下一步:
这里需要为用户指定权限。此篇演示按照默认设置就可以,点击Finish。
工具会自动创建分析服务数据库和相应的用户权限。完成后点击Close关闭工具。
以上,Excel Data Mining Add-ins的配置就完成了。
转到刚才打开的示例Excel,可以看到示例中提供的数据挖掘示例数据:
这里直接选择最后一个Associate and Shopping Basket。关联规则和购物篮。
然后会跳转到Associate标签里面的样本数据。这个工具就是根据样本数据,利用关联规则模型的算法,来发现里面的购买规律。
其中Order Number是订单编号,往后依次是产品分类,产品名称和产品价格。
留意一下安装了Data Mining Add-ins for Office之后的Excel的Ribbon工具栏:
多了一项Table Tools,这里我们要用到里面的Shopping Basket Analysis。
首先留意一下右边的Connection工具,Excel的这个数据挖掘插件是需要SQL Server Analysis Services支持的,点击它连接一个分析服务。
点击New新建连接。
添写要连接到的分析服务,Catalog name直接选default就可以。Test Connection没问题后点OK完成设置。
然后点击Shopping Basket Analysis按钮。
接下来会弹出如图的工具,需要根据模型算法的特点指定一些列的信息。
Transation ID直接对应订单编码Order Number,Item在演示中为了降低项的个数这里直接选择Category,Item Value选择Product Price产品价格。
直接点击Run开始处理数据:
处理完毕后,会自动生成两个标签页记录模型分析的结果:
在第一个标签页中,会给我们一些销售捆绑建议。
结果是按照最后一列的捆绑总销售额,挖掘结果根据这一列进行了排序。前面几列对应的信息分别是绑定包的大小,比如一个咖啡和伴侣,那么这个包的大小就是2,第二列跟支持度差不多,也就是在样本数据中,有多少是用户是同时买了这几样产品的,后面一列是这个捆绑包的总价是多少。
比如第一行,Road Bikesh和Helmets这个捆绑建议,它的包大小是2,在样本数据,也就是历史数据中,有805个订单里同时包括这两样产品,这个捆绑包的价格是1570.228025,样本数据中这样的产品在一起一共卖了1264033.56。
通过这个报告,我们就可以知道哪些捆绑商品值得创建。
在另外一个标签页中,可以看到商品推荐建议信息:
这里会列出最值得推荐的几个组合建议,后两列信息跟前一个报告一样。前两列信息依次是给定的一个商品和根据这个给定产品最值得推荐的产品。
往后列依次是,有多少个订单包含了给定的产品,接下来一列是在包含给定产品的订单中,有多少又同时包含了推荐的产品。后面的百分比就是这个比例。
以上报告中提供的统计信息都是我们在做销售捆绑决策时很重要的参考信息,而不同人做的决策肯定会有所差别。
比如,一个保守点的老板觉得Helmets跟Tires and Tubes这样的组合很多,而且Helmets购买量也足够大,为了让不太好卖的产品更好卖些,比如Bike Racks卖的很少,但明显Tires and Tubes卖的比较多,那么我就可以推行Bike Racks和Tires and Tubes这样的搭配方案来促进销售。
而另外一个老板可能认为目前的销售应该趁热打铁,什么好卖卖什么,于是肯定会大力推行Helmets和Tires and Tubes这样的搭配方案,因为Helmets已经卖得够好了,那么更希望能带动Tires and Tubes的销量。
总之,根据不同的销售策略和特点,根据这些统计信息可以为用户提供不同的决策数据依据。
在处理数据的过程中,可能会出现如下的错误提示:
出现这个错误主要是由于连接分析服务失败,检查下分析服务的角色设置就可以。
总结:
此篇根据微软提供的示例数据,通过Excel实现购物篮预测功能,结果为Excel里的两篇报告。通过此篇,相信大家应该对这个挖掘工具需要什么样的样本数据已经有了大体的了解。后续的文章,我会进行一个实际操作过程来演示如何在我们的实际业务中,组织数据来进行类似的预测分析。