数据挖掘弥补了分析服务功能中的重要不足之处。微软在SQL Server 7.0中引入了针对特定问题
数据挖掘同“针对特定问题”的分析和探测性分析都不相同。通过数据挖掘,分析服务可以浏览信息,寻找相关数据并提交数据。数据挖掘可以说是探测性分析的理想搭档。
SQL Server 2000通过新的API━━OLE DB for Data Mining(OLE DB for DM)实现了数据挖掘的功能,这是一个为方便各种应用程序使用数据挖掘功能而设计的编程接口。通过OLE DB for DM, 微软提供了两种数据挖掘算法(其它软件供应商也可以插入新的算法)。理论上,利用OLE DB for DM开发的分析程序能够使用新发明的算法。
SQL Sever 2000中包含的两种算法是决策树和群。决策树将信息分类为一个树状结构,可以帮助我们预测数据的某些特性。例如,可以将用户信息(如收入、婚姻状况及受教育程度)交由决策树算法,对预测该用户是否具有信用风险提供帮助。可以用群集算法寻找数据中的自然分组。例如,可以将所有的用户信息送入群集算法,要求把所有客户分为三个组。算法可能会找到一个已婚、受教育程度较高而收入偏低的分组,一个单身、高收入的分组和一个受教育程度较低而收入较高的分组。通过进一步的分析可能个发现每个分组都有一个特定的购物方式。利用这些资料,我们可以进行高效益、针对性强的广告活动。注意第二、三分组并没有完全使用所有的三项输入的信息,因为对于分组来说,并不是所有的输入信息都很重要。因此,第二组的描述之所以不包括受教育程度是由于分组不是根据教育水平来划分的。
使用分析服务
如果进行数据挖掘的对象是OLAP多维数据集而不是关系数据库,就不能直接使用OLE DB for DM,因为分析服务可以通过自己的编程接口来实现数据挖掘功能。在服务器端,可以通过决策支持对象(Decision Support Objects,DSO)使用数据挖掘功能,而在客户机端则可以通过OLE DB for OLAP或ActiveX多维数据对象(ADO MD)使用数据挖掘功能。
与群集算法相比,我更喜欢决策树算法,因为它可以根据决策树算法进行数据挖掘的结果创建新的“维”,我们可以将这些“维”纳入一个新的虚拟多维数据集,还可以用数据挖掘的结果浏览现有的维。
创建挖掘模型
创建挖掘模型,需要打开分析管理器(Analysis Manager),展开左边的树形浏览窗口,打开FoodMart 2000数据库
下一步就该选择数据挖掘容器了(容器是新挖掘多维模型挖掘的数据实体)。选择Customers维和Name层。下一步,选择所作预测的类型。假设数据挖掘算法有输入输出,本例将用户的相关信息作为输入,年收入作为被预测的实体或输出。年收入是Customer维中Name层的一个成员属性。依次选择A member property of the case level(容器层的成员属性)―> Yearly Income,如图1 所示。