洞察数据(InSight Data)是商业智能比较关切的话题之一,例如,这里所举的一个销售示例,影响自行车购买的因素有许多,如何更好地找出目标客户群,在技术实现上,数据挖掘(Data Mining)技术非常值得我们了解一下。
以下是一个SQL Server Analysis Service(SSAS)数据挖掘(Data Mining)上的入门小示例,大致了解些数据挖掘的基本步骤及使用不同算法可以观察到什么样的数据。
开发环境:Microsoft SQL Server 2008/SQL Server Analysis Services 2008/Visual Studio 2008
示例数据库:Adventure Works DW
链接参考:http://msdn.microsoft.com/zh-cn/library/bb677206.aspx
关键步骤:
1.创建Analysis Services项目,定义数据源及数据源视图。这里,数据源连接Adventure Works DW数据库,数据视图选择其中的vTargetMail及ProspectiveBuyer。
2.生成挖掘结构(Mining Structure),这里,将生成Target Emailing挖掘结构。
根据向导,生成挖掘结构
1)挖掘数据来源于现有关系型数据库或数据仓库,此外,还可选择现有Cube。
2)创建以微软决策树(Microsoft Decision Trees)为初始模型的挖掘模型。
3)再选择数据视图,标识表类型,这里选vTargetMail为事例(Case)类型。
4)标示数据字段是健(Key),输入(Input)还是可预测的(Predict)。这里,BikeBuyer作为可预测(Predict)的字段,该字段值1表示购买了自行车,0表示未购买,空值表示Missing。其余多数字段为输入(Input)类型,作为影响预测的因素。
图一
5)定义数据类型(Data Type)及内容类型(Content Type)
6)定义是否允许钻取(drill through)
3.向挖掘结构中添加挖掘模型,这里,在MS决策树的基础上,添加Microsoft 聚类分析(MS Cluster)及Microsoft Naive Bayes挖掘模型。
4.部署模型(Process Minning Structure and all Models)并通过挖掘模型视图(Mining Model Viewer)进行数据分析。
微软决策树(Microsoft Decision Trees):
根据这个算法/挖掘模型,我们可以分析出:
1)数据样本,一共多少个cases,购买过自行车的客户cases,未购买的客户的cases以及未标示的。
2)年龄(Age)是最为影响自行车购买的因素
3)不同年龄段影响购买的因素及重要程度,譬如,家里有几个孩子,年收入的分布情况等。
图2
Microsoft 聚类分析(MS Cluster):
我们可以分析出最可能购买自行车目标群的条件组合。
在图4中,可以分析出拥有房子且还未有孩子的家庭最可能成为目标客户。
图3
图4
Microsoft Naive Bayes:
通过该算法,我们可以对影响自行车购买因素之间进行比较。
譬如:在图5中,没有孩子的家庭最可能购买自行车,有2个孩子的家庭最没有可能购买。
图5