创建基于 OLAP 多维数据集或其他多维数据存储的数据挖掘模型有很多优点。 OLAP 解决方案已包含大量数据,这些数据组织良好、清理且格式正确;但是,数据的复杂性使得用户不太可能通过即席探索找到有意义的模式。 数据挖掘提供发现新相关性并提供可作见解的功能。
本主题介绍如何基于现有多维解决方案中的维度和相关度量值创建 OLAP 挖掘结构。
联机分析处理 (OLAP) 挖掘结构和模型的要求
如果要设计 OLAP 挖掘模型,则数据源已存在于用于生成多维数据集的数据库中。 无法连接到远程多维数据集并生成数据挖掘对象;多维数据集对象必须与要生成的挖掘结构位于数据库相同的解决方案中。
如果没有原始项目文件或不想更改这些文件,可以使用 Visual Studio 中的选项从 服务器导入(多维或数据挖掘),获取元数据和解决方案对象的副本。 然后,可以修改部署目标、编辑数据源并处理多维数据集对象,而不会影响现有对象。
有关详细信息,请参阅 使用 Analysis Services 导入向导导入数据挖掘项目。
OLAP 数据挖掘过程概述
通过在解决方案资源管理器中右键单击 “挖掘结构 ”节点并选择“ 新建挖掘结构”来启动数据挖掘向导。 向导将指导你完成以下步骤,为新结构和模型创建结构:
选择定义方法:在此处选择数据源类型,然后选择 “从现有多维数据集”。
注释
用作源的 OLAP 多维数据集必须存在于与挖掘结构相同的数据库中,如上所述。 此外,您不能使用由 Excel 的 PowerPivot 外接程序创建的多维数据集作为数据挖掘的源。
创建数据挖掘结构:确定是只生成一个结构,还是使用挖掘模型构建一个结构。
还必须选择适当的算法来分析数据。 有关哪种算法最适合某些任务的指南,请参阅 HYPERLINK“ms-help://SQL111033/as_1devconc/html/ed1fc83b-b98c-437e-bf53-4ff001b92d64.htm”数据挖掘算法(Analysis Services - 数据挖掘)。
选择源多维数据集维度:此步骤与选择数据源相同。 需要选择包含用于训练模型的最重要数据的单个维度。 可以稍后从其他维度添加数据,也可以筛选维度。
选择案例键:在刚刚选择的维度中,选择一个属性(列)作为事例数据的唯一标识符。
通常,会为你预先选择一个列,但如果实际上有多个键,则可以更改该列。
选择事例级别列:在此处选择所选维度中的属性以及与分析相关的相关度量值。 此步骤等效于从表中选择列。
向导会自动包括方便您查看和选择使用所选维度中的属性创建的任何度量值。
例如,如果多维数据集中包含一个根据客户地理位置计算货运成本的指标,并且您选择了“客户”维度作为建模的主要数据源,那么该指标将被建议作为添加到模型的候选项。 请注意避免添加过多度量值,因为这些度量值已经直接基于属性。度量的公式中定义了列之间的一个隐式关系,其(预期)相关性的强度可能会掩盖你可能发现的其他关系。
指定挖掘模型列使用情况:对于添加到结构中的每个属性或度量值,必须指定属性是应用于预测还是用作输入。 如果您未选择这两个选项中的任意一个,数据将被处理,但不会用于分析;不过,一旦您稍后启用钻取功能,它将作为辅助数据提供。
添加嵌套表:单击以添加相关表。 在 “选择度量值组维度 ”对话框中,可以从与当前维度相关的维度中选择单个维度。
接下来,使用 “选择嵌套表键 ”对话框定义新维度与包含事例数据的维度的关联方式。
使用 “选择嵌套表列 ”对话框从要在分析中使用的新维度中选择属性和度量值。 还必须指定嵌套属性是否将用于预测。
添加可能需要的所有嵌套属性后,返回到页面, 指定挖掘模型列使用情况,然后单击“ 下一步”。
指定列内容和数据类型:此时,已添加将用于分析的所有数据,并且必须为每个属性指定 数据类型 和 内容类型 。
在 OLAP 模型中,你没有自动检测数据类型的选项,因为数据类型已由多维解决方案定义,无法更改。 密钥也会自动识别。 有关详细信息,请参阅数据类型(数据挖掘)。
为模型中使用的每一列选择 的内容类型 告知算法应如何处理数据。 有关详细信息,请参阅内容类型(数据挖掘)。
切片源数据立方体:您可以在此定义数据立方体中的筛选器,以仅选择一部分数据并训练更有针对性的模型。
通过选择维度来筛选数据立方体,选择包含筛选条件的层次结构级别,之后输入用于筛选的条件。
创建测试集:在此页上,可以告知向导应预留多少数据用于测试模型。 如果数据将支持多个模型,最好创建一个保留数据集,以便所有模型都可以在同一数据上进行测试。
有关详细信息,请参阅测试和验证(数据挖掘)。
完成向导:在此页上,为新的挖掘结构和关联的挖掘模型命名,并保存结构和模型。
在此页上,还可以设置以下选项:
允许钻取
创建挖掘模型维度
使用挖掘模型维度创建数据立方体
要了解更多关于这些选项的信息,参见本主题后面的部分:了解数据挖掘维度和钻取。
此时,挖掘结构及其模型只是元数据;需要处理它们才能获取结果。
将数据挖掘与 OLAP 数据配合使用的方案
OLAP 多维数据集经常包含如此多的成员和维度,因此很难知道从何处开始数据挖掘。 为了帮助识别多维数据集包含的模式,通常标识感兴趣的单个维度,然后开始探索与该维度相关的模式。 下表列出了几个常见的 OLAP 数据挖掘任务,介绍了可以应用每个任务的示例方案,并标识要用于每个任务的数据挖掘算法。
任务 | 示例方案 | 算法 |
---|---|---|
将成员分组到群集中 | 根据客户成员属性、客户购买的产品以及客户花费的资金来细分客户维度。 | Microsoft聚类分析算法 |
查找有趣或异常的成员 | 根据销售、利润、商店位置和商店大小确定商店维度中的有趣或异常商店。 | Microsoft决策树算法 |
查找有趣或异常的细胞 | 识别长期与典型趋势相违背的商店销售。 | Microsoft时序算法 |
查找相关性 | 确定与服务器停机时间相关的因素,包括区域、计算机类型、OS 或购买日期。 | Microsoft Naïve Bayes 算法 |
切割数据立方体与过滤模型
在构建模型时切分多维数据集就像是在关系挖掘模型中创建一个筛选器。 在关系模型中,数据源上的筛选器定义为 SQL 语句上的 WHERE 子句;在多维数据集中,使用编辑器使用 MDX 创建筛选器语句。
例如,多维数据集可能包含有关全球产品购买的信息,但对于市场营销活动,你希望基于对居住在英国的30岁以上女性客户的分析来创建模型。
在此方案中,将创建两个筛选器:
对于第一个筛选器,可以选择“地理位置”维度,选择“区域”的层次结构,然后使用 “筛选表达式 ”列表从可能的值中选择“英国”。
对于第二个筛选器,可以选择“客户”维度,选择“性别”属性,然后从属性值列表中选择“女性”。
创建挖掘结构后,可以修改多维数据集数据和筛选条件的定义。 有关详细信息,请参阅 筛选挖掘结构的源多维数据集。
挖掘结构选项卡和挖掘模型选项卡都提供了向现有挖掘结构添加筛选器的选项,通过单击“定义多维数据集切片”。 “切片多维数据集”对话框通过让您从下拉列表中选择值来帮助您创建有效的 MDX 筛选表达式。
警告
请注意,SQL Server 2014 中已更改用于设计和浏览多维数据集的接口。 有关更多信息,请参阅 Browse data and metadata in Cube。
可以根据需要在多维数据集上添加任意数量的筛选器,以返回挖掘模型所需的数据。 您还可以在每个单独的多维数据集切片上定义切片。 例如,如果结构包含两个基于产品的嵌套表,则可以在 2004 年 3 月切片一个表,在 2004 年 4 月对另一个表进行切片。 然后,可以使用生成的模型根据 3 月的购买量预测在 4 月进行的购买。
在 OLAP 挖掘模型中使用嵌套表
使用数据挖掘向导基于多维数据集数据生成模型时,可以通过指定相关维度的名称,然后选择要添加到模型的属性或度量值来添加嵌套表
例如,如果用于事例数据的主维度是 Customer,则可以将产品维度作为相关维度进行添加,因为你预计客户可能会随时间推移订购多个产品,并且多维数据集已通过订单事实数据表将每个客户链接到多个产品。
在向导的“指定挖掘模型列使用情况”页中,单击“添加嵌套表”以添加嵌套表。 此时会打开一个对话框,引导你完成选择相关维度以及任何度量值的过程。 案例和嵌套维度必须通过外键关联,度量值必须使用已经包含在案例或嵌套表中的某个属性。 遗憾的是,这些限制实际上并没有太大的作用来缩小范围,因此必须小心选择仅那些对建模有用的属性。
对于添加到嵌套表的每个属性或度量值,必须通过在“选择嵌套表列”对话框中选择“可预测”或“输入”来指定嵌套属性是否用于预测。 如果未选择上述任一选项,数据将添加到挖掘结构,但不用于分析。
对于每个属性和度量值,还必须指定该属性是离散的、离散化还是连续的。 向导会根据属性的数据类型预先选择默认值,但可能需要根据算法要求更改这些默认值。 如果选择与所选算法不兼容的内容类型(例如,对 Naïve Bayes 模型使用连续数值类型),则直到尝试处理模型,否则不会收到错误消息。
设置完这些选项后,向导会将嵌套表添加到事例表中。 嵌套表的默认名称是嵌套维度名称,但可以重命名嵌套表及其列。 可以重复此过程,将多个嵌套表添加到挖掘结构。
使用嵌套表数据的能力是 SQL Server 数据挖掘中一个特别强大的功能,并且在多维数据集中,使用相关数据子集的可能性几乎是无限的。
了解数据挖掘维度和数据穿透
通过“ 允许钻取”选项,可以在浏览模型时对基础多维数据集数据运行查询。 数据不在新的数据挖掘维度中,但分析服务数据库可以通过数据绑定从源多维数据集中检索信息。
使用选项创建挖掘模型维度,您可以在包含算法发现的模式的现有立方体中生成一个新维度。 新维度中的层次结构在很大程度上取决于模型类型。 例如,聚类模型的表示形式相对简单,层次结构的顶部是 (All) 节点,下一个级别是每个簇。 相比之下,为决策树模型创建的维度可能具有非常深的层次结构,表示树的分支。
使用 挖掘模型维度创建多维数据集 选项,可以将新的数据挖掘维度导出到一个新的多维数据集中。 在数据挖掘维度上,任何钻取所需的对象都将自动包含在内。
警告
只有这些模型类型支持创建数据挖掘维度:基于Microsoft聚类分析算法、Microsoft决策树算法或Microsoft关联算法的模型。
另请参阅
数据挖掘算法 (Analysis Services - 数据挖掘)
挖掘结构列
挖掘模型列
挖掘模型属性
挖掘结构和结构列的属性