数据挖掘项目

数据挖掘项目是 Analysis Services 解决方案的一部分。 在设计过程中,在此项目中创建的对象作为工作区数据库的一部分可用于测试和查询。 如果希望用户能够查询或浏览项目中的对象,则必须将项目部署到在多维模式下运行的 Analysis Services 实例。

本主题为您提供了理解和创建数据挖掘项目所需的基本信息。

创建数据挖掘项目

在 SQL Server Data Tools (SSDT) 中,可以使用模板 OLAP 和数据挖掘项目生成数据挖掘项目。 还可以使用 AMO 以编程方式创建数据挖掘项目。 可以使用 Analysis Services 脚本语言 (ASSL) 编写单个数据挖掘对象的脚本。 有关详细信息,请参阅 多维模型数据访问 (Analysis Services - 多维数据)

如果在现有解决方案中创建数据挖掘项目,默认情况下,数据挖掘对象将部署到与解决方案文件同名的 Analysis Services 数据库。 您可以使用 “项目属性” 对话框更改此名称和目标服务器。 有关详细信息,请参阅 配置 analysis Services 项目属性 (SSDT)

警告

若要成功生成和部署项目,必须有权访问在 OLAP/数据挖掘模式下运行的 Analysis Services 实例。 不能在支持表格模型的 Analysis Services 实例上开发或部署数据挖掘解决方案,也不能直接从 PowerPivot 工作簿或使用内存中数据存储的表格模型使用数据。 若要确定你拥有的 Analysis Services 实例是否可以支持数据挖掘,请参阅 确定 Analysis Services 实例的服务器模式

在每个创建的数据挖掘项目中,您将执行以下步骤:

  1. 选中一个“数据源” (如多维数据集、数据库、甚至 Excel 或文本文件),该数据源包含要用于生成模型的原始数据。

  2. 在数据源中定义用于分析的数据子集,并将其保存为“数据源视图”

  3. 定义一个“挖掘结构” 以支持建模。

  4. 通过选中一种“算法” 并指定该算法如何处理数据来将“挖掘模型” 添加到挖掘结构中。

  5. 通过使用所选数据或筛选后的数据子集填充结构来定型模型。

  6. 浏览、测试和重新生成模型。

项目完成后,您可以对其进行部署以便用户浏览或查询,或提供对应用程序中挖掘模型的编程访问,以支持预测和分析。

数据挖掘项目中的对象

所有数据挖掘项目都包含以下四种对象类型。 您可以具有所有类型的多个对象。

  • 数据源

  • 数据源视图

  • 挖掘结构

  • 挖掘模型

例如,单个数据挖掘项目可包含对多个数据源的引用,每个数据源支持多个数据源视图。 反过来,每个数据源视图可以支持多个挖掘结构,每个挖掘结构具有多个相关的挖掘模型。

此外,您的项目可能包含插入算法、自定义程序集或自定义存储过程;但此处不介绍这些对象。 有关详细信息,请参阅 开发人员指南 (Analysis Services)

“数据源”

数据源定义 Analysis Services 服务器将用于连接到数据源的连接字符串和身份验证信息。 该数据源可以包含多个表格或视图;它可以如单个 Excel 工作簿或文本文件一样简单,也可以如联机分析处理 (OLAP) 数据库或大型关系数据库一样复杂。

单个数据挖掘项目可以引用多个数据源。 尽管一个挖掘模型一次只能使用一个数据源,但此项目可能具有多个在不同数据源上绘制的模型。

Analysis Services 支持来自许多外部提供程序的数据,SQL Server数据挖掘可以将关系数据和多维数据集数据用作数据源。 但是,如果你基于关系源开发这两种类型的项目模型和基于 OLAP 多维数据集的模型,你可能希望在单独的项目中开发和管理这些类型。

  • 通常,基于 OLAP 多维数据集的模型应在 OLAP 设计解决方案中进行开发。 一个原因是基于多维数据集的模型必须对多维数据集进行处理以便更新数据。 通常,仅当这是数据存储和数据访问的主要方法时或者需要多维项目创建的聚合、维度和属性时,才应使用多维数据集数据。

  • 如果您的项目仅使用关系数据,则应在单个项目中创建关系模型,否则需要重新处理其他对象。 在许多情况下,用于支持多维数据集创建的临时数据库或数据仓库已包含执行数据挖掘所需的视图,您可以使用这些视图进行数据挖掘,而不是使用多维数据集中的聚合和纬度。

  • 您不能直接使用内存中数据或 PowerPivot 数据生成数据挖掘模型。

该数据源仅标识服务器或提供程序以及数据的一般类型。 如果您需要更改数据格式和聚合,请使用数据源视图对象。

若要控制处理数据源中的数据的方法,您可以添加派生列或计算、修改聚合或重命名数据源视图的数据中的列。 (还可以通过修改挖掘结构列,或使用挖掘模型列级别的建模标志和筛选器,以处理数据下游。)

如果需要数据清理,或必须修改数据仓库中的数据以创建其他变量、更改数据类型或创建备用聚合,则可能需要创建其他项目类型以支持数据挖掘。 有关相关项目的详细信息,请参阅 数据挖掘解决方案的相关项目

数据源视图

定义数据源的此连接之后,可以创建标识与模型相关的特定数据的视图。

利用数据源视图,还可以自定义向挖掘模型提供数据源中的数据的方式。 您可以修改数据结构,使其与项目的关系更密切,或者仅选择某些种类的数据。

例如,通过使用数据源视图编辑器,您可以:

  • 创建派生列,如日期部分、子字符串等。

  • 使用 Transact-SQL 语句(如 GROUP BY)聚合值

  • 暂时限制数据或示例数据

有关如何修改数据源视图中数据的详细信息,请参阅 多维模型中的数据源视图

警告

如果要筛选数据,则可以在数据源视图中执行此操作,但也可以在挖掘模型级别对数据创建筛选器。 因为筛选器定义存储在挖掘模型中,所以通过使用模型筛选器更便于确定用于对模型进行定型的数据。 此外,使用不同的筛选条件可以创建多个相关模型。 有关详细信息,请参阅 Analysis Services (挖掘模型的筛选器 - 数据挖掘)

请注意,您创建的数据源视图可能包含不直接用于分析的其他数据。 例如,您可能添加用于测试、预测或钻取的数据源视图数据。 有关这些用法的详细信息,请参阅 测试和验证 (数据挖掘) 钻取

挖掘结构

一旦创建数据源和数据源视图,就必须通过在项目中定义“挖掘结构” 来选择与您的业务问题最相关的数据列。 挖掘结构指示项目实际应使用数据源视图中的哪些数据列来进行建模、定型和测试。

若要添加新的挖掘结构,请启动数据挖掘向导。 该向导自动定义挖掘结构,引导您完成选择数据的整个过程,并可选择性地将初始挖掘模型添加到该结构中。 在挖掘结构中,从数据源视图中或 OLAP 多维数据集中选择表格和列,并定义表格之间的关系(如果您的数据包含嵌套表)。

根据您使用的是关系数据源还是联机分析处理 (OLAP) 数据源,在数据挖掘向导中选择的数据将会有很大区别。

  • 当您选择关系数据源中的数据时,很容易设置一个挖掘结构:从数据源视图的数据中选择列,然后设置其他自定义项(如别名),或定义列中的值如何分组或分装。 有关详细信息,请参阅 创建关系挖掘结构

  • 当您使用来自 OLAP 多维数据集的数据时,挖掘结构必须与 OLAP 解决方案在同一个数据库中。 若要创建挖掘结构,请从您的 OLAP 解决方案的维度和相关度量中选择属性。 数值通常位于度量中,类别变量位于维度中。 有关详细信息,请参阅 创建 OLAP 挖掘结构

  • 还可以使用 DMX 来定义挖掘结构。 有关详细信息,请参阅 数据挖掘扩展插件 (DMX) 数据定义语句

在创建初始挖掘结构之后,可以复制、修改结构列并为其设置别名。

每个挖掘结构可以包含多个挖掘模型。 因此,在创建挖掘结构之后,您可以再次打开挖掘结构,并使用 Data Mining Designer 将多个挖掘模型添加到结构中。

您还具有将数据分为定型数据集以便生成模型的选项,以及一个用来测试或验证挖掘模型的维持数据集。

警告

某些诸如时序模型的模型类型不支持创建维持数据集,因为它们需要连续的数据序列来进行定型。 有关详细信息,请参阅 Training and Testing Data Sets

挖掘模型

挖掘模型定义将用于数据的算法或分析方法。 您可以为每个挖掘结构添加一个或多个挖掘模型。

根据您的需要,可以在单个项目中合并多个模型,或者为每个模型类型或分析任务创建单个项目。

完成创建结构或模型之后,通过生成数据数学模型的算法来运行数据源视图中的数据“处理” 每个模型。 此过程也称为“对模型定型 ”。 有关详细信息,请参阅 处理要求和注意事项 (数据挖掘)

处理模型之后,可以用可视化方式浏览挖掘模型,并创建针对该模型的预测查询。 如果已缓存来自定型过程的数据,则可以使用“钻取” 查询返回有关在模型中使用的事例的详细信息。

如果想要将模型用于生产(如用于进行预测或供一般用户进行浏览),则可将此模型部署到不同服务器。 如果将来需要重新处理该模型,则还必须同时导出基础挖掘结构的定义(如果需要,还须导出数据源定义和数据源视图)。

在部署模型时,您还必须确保在结构和模型上设置了正确的处理选项,并且潜在用户具有执行查询、查看模型或钻取结构或模型数据所需的权限。 有关详细信息,请参阅 安全概述 (数据挖掘)

使用已完成的数据挖掘项目

本节总结可以使用已完成的数据挖掘项目的方法。 您可以创建准确性图表,浏览并验证数据,以及使数据挖掘模式可用于用户。

警告

用于数据挖掘模型的图表、查询和可视化对象不作为数据挖掘项目的一部分保存,并且不能进行部署。 如果您需要保持这些对象,则必须保存显示的内容,或按照针对每个对象的描述对其编写脚本。

查看和浏览模型

创建模型之后,可以使用可视化工具和查询来浏览模型中的模式,并了解有关基础模式和统计数据的详细信息。 在数据挖掘Designer的“挖掘模型查看器”选项卡上,Analysis Services 为每个挖掘模型类型提供查看器,可用于浏览挖掘模型。

这些可视化效果是临时的,在使用 Analysis Services 退出会话时会关闭而不保存。 因此,如果您需要将这些可视化对象导出到其他应用程序以进行显示或进一步分析,请使用查看器界面的每一个工具栏或窗格中提供的 “复制” 命令。

Excel 数据挖掘外接插件还提供可用于以 Visio 关系图表示模型并使用 Visio 工具对关系图进行批注和修改的 Visio 模板。 有关详细信息,请参阅 适用于 Microsoft Office 2007 的 Microsoft SQL Server 2008 SP2 数据挖掘外接程序

测试和验证模型

创建模型之后,可以调查结果,并确定性能最佳的模型。

Analysis Services 提供了多个图表,你可以使用这些图表提供可用于直接比较挖掘模型并选择最准确或最有用的挖掘模型的工具。 这些工具包括提升图、利润图和分类矩阵。 你可以使用数据挖掘设计器的“挖掘准确性图表” 选项卡来生成这些图表。

您还可以使用交叉验证报表对数据子集进行迭代抽样,进而确定模型是否偏重于某一特定数据集。 报表提供的统计信息可用于客观地比较模型,并评估您的定型数据的质量。

请注意:这些报表和图表不与项目存储在一起,也不存储在 ssASnoversion 数据库中,因此,如果您需要保留或复制这些结果,则应保存这些结果或使用 DMX 或 AMO 编写这些对象的脚本。 还可以将存储过程用于交叉验证。

有关详细信息,请参阅 测试和验证 (数据挖掘)

创建预测

Analysis Services 提供了一种称为数据挖掘扩展插件 (DMX) 的查询语言,该语言是创建预测的基础,并且易于编写脚本。 为了帮助你生成 DMX 预测查询,SQL Server提供了SQL Server Management Studio中提供的查询生成器。 SQL Server Management Studio中查询编辑器也有许多 DMX 模板。如果不熟悉预测查询,建议使用数据挖掘Designer和SQL Server Management Studio中提供的查询生成器。 有关详细信息,请参阅 Data Mining Tools

在 SSDT) 或 SQL Server Management Studio SQL Server Data Tools (中创建的预测不会持久保存,因此,如果查询很复杂,或者需要重现结果,建议将预测查询保存到 DMX 查询文件、编写脚本或将查询作为 Integration Services 包的一部分嵌入。

对数据挖掘对象的编程访问

Analysis Services 提供了多种工具,可用于以编程方式处理数据挖掘项目及其中的对象。 DMX 提供可用于创建数据源和数据源视图以及创建、定型和使用挖掘结构和模型的语句。 有关详细信息,请参阅数据挖掘扩展插件 (DMX) 参考

还可以通过使用 Analysis Services 脚本语言 (ASSL) 或使用分析管理对象 (AMO) 来执行这些任务。 有关详细信息,请参阅 在 Analysis Services 中使用 XMLA 开发

下面的主题介绍使用数据挖掘向导来创建数据挖掘项目及关联的对象。

任务 主题
介绍如何使用挖掘结构列 创建关系挖掘结构
提供有关如何添加新的挖掘模型以及处理结构和模型的详细信息 向结构中添加挖掘模型(Analysis Services - 数据挖掘)
提供了指向一些资源的链接,这些资源可帮助您自定义生成数据挖掘模型的算法 自定义挖掘模型和结构
提供了指向有关各个挖掘模型查看器的信息的链接 数据挖掘模型查看器
了解如何创建提升图、利润图、分类矩阵或测试挖掘结构 测试和验证(数据挖掘)
了解有关处理选项和权限的信息 处理数据挖掘对象
提供有关 Analysis Services 的详细信息 多维模型数据库 (SSAS)

另请参阅

Data Mining Designer
使用 SQL Server Data Tools 创建多维模型 (SSDT)
工作区数据库(SSAS 表格)