“啤酒与尿布”的故事家喻户晓,在IT界里,几乎是数据挖掘的代名词,那么各商家企业受了多少启发,数据挖掘又给他们带来了多少价值呢?
客户需求
客户面对大量的信息,用OLAP进行多维分析。如:一个网上书店,用OLAP技术可以浏览到什么时间,那个类别的客户买了多少书等信息,如果想动态的获得深层次的信息,比如:哪些书籍可以打包推荐,哪些书籍可以在销售中关联推出等等,就要用到数据挖掘技术了。
当客户在使用OLAP技术进行数据的多维分析的时候,联想到“啤酒与尿布”的故事,客户不禁会有疑问,能不能通过数据挖掘来对数据进行深层次的分析呢,能不能将数据挖掘和OLAP结合起来进行分析呢?
SQL Server 2005 数据挖掘:
SQL Server 2005的Data Mining是SQL Server2005分析服务(Analysis Services)中的一部分。数据挖掘通常被称为“从大型数据库提取有效、可信和可行信息的过程”。换言之,数据挖掘派生数据中存在的模式和趋势。这些模式和趋势可以被收集在一起并定义为挖掘模型。挖掘模型可以应用于特定的业务方案,例如:预测销售额、向特定客户发送邮件、确定可能需要搭售的产品、查找客户将产品放入购物车的顺序序列。
Microsoft 决策树算法、Microsoft Naive Bayes 算法、Microsoft 聚类分析算法、Microsoft 神经网络算法 (SSAS),可以预测离散属性,例如,预测目标邮件活动的收件人是否会购买某个产品。
Microsoft 决策树算法、Microsoft 时序算法可以预测连续属性,预测连续属性,例如,预测下一年的销量。
Microsoft 顺序分析和聚类分析算法预测顺序,例如,执行公司网站的点击流分析。
Microsoft 关联算法、Microsoft 决策树算法查找交易中的常见项的组,例如,使用市场篮分析来建议客户购买其他产品。
Microsoft 聚类分析算法、Microsoft 顺序分析和聚类分析算法,查找相似项的组,例如,将人口统计数据分割为组以便更好地理解属性之间的关系。
巅峰之旅之案例一:网上书店关联销售
提出问题
网上书店现在有了很强的市场和比较固定的大量的客户。为了促进网上书店的销售量的增长,各网上书店采取了各种方式,给客户提供更多更丰富的书籍,提供更优质服务,等方式吸引更多的读者。
是不是这样就够了呢?这里,给众多网上书店的商家们提供一种非常好的促进销售量增长,吸引读者的方法,就是关联销售分析。这种方法就是给客户提供其他的相关书籍,也就是在客户购买了一种书籍之后,推荐给客户其他的相关的书籍。这种措施的运用给他们带来了可观的效益。
首先必须明确的是,这里介绍的关联销售并不是,根据网上书店的销售记录进行的比例统计,也区别于简单的概率分析统计,是用的关联规则算法。“啤酒和尿布”的故事足以证明了该算法的强大功能和产生的震撼效果。
那么,怎么来实现这样一个效果呢?
解决步骤
首先,我们有数据源,也就是销售记录。这里我们做数据挖掘模型,要用到两张表,一张表是我们的会员,用会员ID号来代替;另一张表是我们那个会员买了什么书。
我们应用SQL Server 2005的Data Mining工具,建立数据挖掘模型。
具体步骤如下:
第一步:定义数据源。选取的为网上书店的销售记录数据源(最主要的是User表和Sales表)。
第二步:定义数据源视图。在此我们要建立好数据挖掘中事例表和嵌套表,并定义两者之间的关系,定义User为事例表(Case Table),Sales为嵌套表(Nested Table)。
第三步:选取Microsoft Association Rules(关联规则)算法,建立挖掘模型。
第四步、设置算法参数,部署挖掘模型。
第五步、浏览察看挖掘模型。对于关联规则算法来说,三个查看的选项卡。
A:项集:“项集”选项卡显示被模型识别为经常发现一起出现的项集的列表。在这里指的是经过关联规则算法处理后,发现关联在一起的书籍的集合。
B:规则:“规则”选项卡显示关联算法发现的规则。“规则”选项卡包含一个具有以下列的网格:“概率”、“重要性”和“规则”。概率说明出现规则结果的可能性。重要性用于度量规则的用途。尽管规则出现的概率可能很高,但规则自身的用途可能并不重要。重要性列就是说明这一情况的。例如,如果每个项集都包含属性的某个特定状态,那么,即使概率非常高,预测状态的规则也并不重要。重要性越高,规则越重要。
C:关联网络:节点间的箭头代表项之间有关联。箭头的方向表示按照算法发现的规则确定的项之间的关联。
效果展示
1、我们可以看到在上图中,绿色的是我们选择的节点,橙色的是可以预测所选节点的节点,也就是说如果消费者买了《月光宝盒(2VCD)》的话,那么我们可以给该消费者推荐《乱世佳人(上集,2VCD)》。紫色的是和所选节点能够双向预测的,即买了《大圣娶亲》,推荐《乱世佳人(上集,2VCD)》;同样,买了《乱世佳人(上集,2VCD)》,推荐《大圣娶亲》。这样我们就很容易看到经过关联算法计算出来的书籍之间的关联性。如图3所示效果。
2、我们也可以通过写DMX语句来实现预测查询。
SELECT
PredictAssociation([User].[Sales],include_statistics,10)
From
[User]
NATURAL PREDICTION JOIN
(SELECT (SELECT '月光宝盒(2VCD)' AS [Book Name]) AS [Sales]) AS t
巅峰之旅之案例二:客户类别销售分析
这个案例的前提是我们已经建立好了一个OLAP的多维数据库Sales,事实表为FactInternetSales,有 五个维度,分别是DimCurrency,DimCustomer,DimProduct,DimTime,DimPromotion。
提出问题
利用OLAP建立的多维数据库Sales,我们可以实现多角度的浏览和分析。例如:我们可以分析2004年第一季度的M生产线产品的销售量情况,还可以实现灵活的交叉分析,等等。但是,如果我们要分析,某个维度的多个属性的综合的销售量,例如:客户维度里有Birth Date、English Education、House Owner Flag、Number Cars Owned、Yearly Income等属性,在多维数据库里面分析的时候,
我们可以把客户维度的Number Cars Owned属性放在展示区域的行上,把度量值Order Quantity放在列上,查看拥有0-4辆汽车的客户的订购所有产品的数量。同样,我们也可以类似的查看其他属性的情况。但是,如果我们要把客户维度的某些属性综合考虑来分类,例如:我们要把高收入、高学历、高消费的客户作为一个群体,把高收入,低学历、高消费的客户作为一个群体,等等,然后,基于这些群体来浏览分析,销售情况,如何来实现呢?
解决步骤
用过聚类算法的大概比较清楚,聚类算法,是用来给事物分类的。那么怎么用聚类算法的这个特性,和OLAP进行正和呢。请看下面这个案例:
第一步:建立挖掘模型。这里需要注意的是:以前我们在建立数据挖掘模型的时候是基于关系型数据源。
A:而在这里,我们要基于多维数据库Sales,选取维度DimCustomer为数据挖掘模型的数据源。
B:按照向导,选取事例键Dim Customer,
C:在选取事例级别列对话框里面,选择一些属性和度量值,我们这里选取English Education、House Owner Flag、Number Cars Owned、Yearly Income、Sales Amount。如图5所示。
D:在完成对话框里面,我们输入挖掘结构名称CustomerSturcture,输入挖掘模型名称CustomerClustering。必须注意的是,一是一定要选择创建挖掘模型维度,输入挖掘模型维度的名称CustomerClustering;二是一定要选择使用挖掘模型维度创建多维数据集Sales_DM。
E:设置算法参数。
然后对创建的挖掘结构和挖掘模型进行处理。
此时,共享维度里面会自动添加了一个CustomerClustering维度,也就是数据挖掘维度。
第二步:处理CustomerClustering维度。
第三步:处理多维数据集Salse_DM。
处理后的多维数据集Sales_DM,就包含了数据挖掘维度CustomerClustering。这样,我们就可以把经过聚类算法分类后的客户维度,来进行多维数据分析。
效果展示
这些Cluster是我们用聚类算法建立的挖掘模型的维度成员,每个Cluster都是我们所选属性的一个综合的结果,但是代表着一个明显的特征。我们还可以在数据挖掘模型里面,对各个Cluster进行名称的标示,如Cluster 1是高收入高消费高学历的群体,我们就可以给他命名,把所有的Cluster都命名为能代表本身特性的名称,这样,使得多为数据库的信息就更丰富了。
总结
在激烈的市场竞争中,要想把海量的数据转化为信息,提高自身的信息化建设水平,增强企业的核心竞争力,BI技术是您明智的选择。应用OLAP技术建立多维数据库,进行多维分析,并把数据挖掘算法应用于多维数据库中,会进一步增加信息量,让您掌握更多的市场先机。