数据挖掘概念

数据挖掘通常被称为“从大型数据库提取有效、可信和可行信息的过程**”。换言之,数据挖掘派生数据中存在的模式和趋势。这些模式和趋势可以被收集在一起并定义为挖掘模型。挖掘模型可以应用于特定的业务方案,例如:

  • 预测销售额。
  • 向特定客户发送邮件。
  • 确定可能需要搭售的产品。
  • 查找客户将产品放入购物车的顺序序列。

一个重要的概念就是生成挖掘模型是大型过程的一部分,此过程包括从定义模型要解决的基本问题到将模型部署到工作环境的所有事情。此过程可以使用下列六个基本步骤进行定义:

  1. 定义问题
  2. 准备数据
  3. 浏览数据
  4. 生成模型
  5. 浏览和验证模型
  6. 部署和更新模型

以下关系图说明过程中每个步骤之间的关系,以及 Microsoft SQL Server 2005 中可用于完成每个步骤的技术。

数据挖掘进程中的关键步骤

尽管关系图中所示的过程是一个循环过程,但是每个步骤并不需要直接执行到下一个步骤。创建数据挖掘模型是一个动态、交互的过程。浏览完数据之后,您可能会发现数据不足,无法创建适当的挖掘模型,因此必须查找更多的数据。您可以生成数个模型,但可能会发现这些模型无法回答定义问题时所设定的问题,因此必须重新定义问题。您可能必须在部署模型之后对其进行更新,因为又出现了更多的可用数据。因此,了解创建数据挖掘模型是一个过程,并且为了创建一个完美的模型,此过程中的每个步骤可能需要重复多次是非常重要的。

SQL Server 2005 提供用于创建和使用数据挖掘模型的集成环境,称为 Business Intelligence Development Studio。该环境包括数据挖掘算法和工具,使用这些算法和工具更易于生成用于各种项目的综合解决方案。有关使用 BI Development Studio 的详细信息,请参阅开发 Analysis Services 解决方案和项目

有关如何将 SQL Server 工具应用于本主题前面部分列出的业务方案的详细信息,请参阅数据挖掘教程

定义问题

如以下关系图中突出显示的那样,数据挖掘过程的第一步就是明确定义业务问题。

数据挖掘的第一个步骤:定义问题

该步骤包括分析业务需求,定义问题的范围,定义计算模型所使用的度量,以及定义数据挖掘项目的最终目标。这些任务转换为下列问题:

  • 您在查找什么?
  • 您要尝试预测数据集的哪个属性?
  • 您要尝试找到什么类型的关系?
  • 您要通过数据挖掘模型进行预测,还是仅仅查找受关注的模式和关联?
  • 如何分发数据?
  • 列如何关联,或者如果有多个表,则表如何关联?

若要回答这些问题,可能必须进行数据可用性研究,必须调查业务用户对可用数据的需求。如果数据不支持用户的需求,则还必须重新定义项目。

准备数据

如以下关系图中突出显示的那样,数据挖掘过程的第二步就是合并和清除定义问题步骤中标识的数据。

数据挖掘的第二个步骤:准备数据

Microsoft SQL Server 2005 Integration Services (SSIS) 包含完成该步骤所需的所有工具,步骤内容包括转换到自动执行数据清除和合并。

数据可以分散在公司的各个部门并以不同的格式存储,或者可能包含缺陷项或缺少项之类的不一致性。例如,数据可能显示客户在其出生日期之前购买产品,或者客户在距离她家 2,000 英里的商店定期购物。在开始生成模型之前,必须纠正这些问题。通常,您使用的是一个非常大的数据集,并且无法仔细查看每个事务。因此,必须使用某种自动化的形式(如,在 Integration Services 中)来浏览数据并找到这些不一致。

浏览数据

如以下关系图中突出显示的那样,数据挖掘过程的第三步就是浏览已准备的数据。

数据挖掘的第三个步骤:浏览数据

您必须了解数据,以便在创建模型时作出正确的决策。浏览技术包括计算最大值和最小值,计算平均偏差和标准偏差,以及查看数据的分布。浏览完数据之后,便可确定数据集是否包含缺陷数据,然后制订纠正这些问题的策略。

BI Development Studio 中的数据源视图设计器包含数种可用于浏览数据的工具。

生成模型

如以下关系图中突出显示的那样,数据挖掘过程的第四步就是生成挖掘模型。

数据挖掘的第四个步骤:生成挖掘模型

在生成模型之前,必须随机将已准备的数据分离到单独的定型数据集和测试数据集。您使用定型数据集生成模型,并通过创建预测查询来使用测试数据集测试模型的准确性。您可以使用 Integration Services 中的百分比抽样转换来拆分数据集。

您将使用从浏览数据步骤中获得的知识来帮助定义和创建挖掘模型。模型通常包含多个输入列、一个标识列以及一个可预测列。然后可使用数据挖掘扩展插件 (DMX) 语言,或 BI Development Studio 中的数据挖掘向导,在新的模型内定义这些列。有关如何使用 DMX 的详细信息,请参阅数据挖掘扩展插件 (DMX) 参考。有关如何使用数据挖掘向导的详细信息,请参阅数据挖掘向导

定义完挖掘模型的结构之后,需要对其进行处理,使用说明模型的模式来填充空结构。这称为“定型**”模型。模式通过利用数学算法计算原始数据而得。SQL Server 2005 针对可生成的每种模型包含一种不同的算法。您可以使用参数调整每种算法。

挖掘模型由一个数据挖掘结构对象、一个数据挖掘模型对象以及一种数据挖掘算法定义。

有关详细信息,请参阅:挖掘结构 (Analysis Services)数据挖掘算法

Microsoft SQL Server 2005 Analysis Services (SSAS) 包括以下算法:

浏览和验证模型

如以下关系图中突出显示的那样,数据挖掘过程的第五步就是浏览您已经生成的模型并测试其有效性。

数据挖掘的第五个步骤:验证挖掘模型

您不希望在事先没有测试模型性能的情况下将模型部署到生产环境。同样,您也许已经创建了数个模型,并且必须确定性能最佳的模型。如果您在创建模型步骤中创建的所有模型都无法正常工作,则必须返回到此过程的上一个步骤,重新定义问题或重新调查原始数据集中的数据。

可以使用 BI Development Studio 中数据挖掘设计器内的查看器来浏览算法发现的趋势和模式。还可以使用该设计器中的工具(如,提升图和分类矩阵)来测试模型创建预测的性能。这些工具要求使用您在模型生成步骤中从原始数据集内分离的测试数据。

有关详细信息,请参阅:查看数据挖掘模型验证数据挖掘模型提升图分类矩阵

部署和更新模型

如以下关系图中突出显示的那样,数据挖掘过程的最后一步就是将性能最佳的模型部署到生产环境。

数据挖掘的第六个步骤:部署挖掘模型

当生产环境中部署了挖掘模型之后,便可根据您的需求执行许多任务。下面是一些可以执行的任务:

  • 使用模型创建预测,然后可以使用这些预测作出业务决策。SQL Server 提供可用于创建预测查询的 DMX 语言,同时还提供有助于生成查询的预测查询生成器。
  • 直接将数据挖掘功能嵌入到应用程序。您可以包括分析管理对象 (AMO) 或一个包含一组对象(应用程序可使用这组对象创建、更改、处理以及删除挖掘结构和挖掘模型)的程序集。另外,可以直接将 XML for Analysis (XMLA) 消息发送到 Analysis Services 实例。
  • 使用 Integration Services 创建一个包,在这个包中,挖掘模型用于自动将传入数据分离到多个表中。例如,如果数据库不断地通过潜在客户进行更新,则可以结合使用挖掘模型和 Integration Services 将传入数据拆分为可能购买产品的客户和不可能购买产品的客户。
  • 创建可让用户直接对现有挖掘模型进行查询的报表。

更新模型是部署策略的一部分。随着单位传入的数据不断增多,必须重新处理模型,以便提高效用。

有关详细信息,请参阅:在 Analysis Services 中的处理创建 DMX 预测查询数据挖掘扩展插件 (DMX) 参考Analysis Services Administration Programming (SSAS)

请参阅

概念

使用数据挖掘
使用数据挖掘工具

其他资源

Analysis Services 概念

帮助和信息

获取 SQL Server 2005 帮助