若要在 Analysis Services 中创建准确性图表,必须选择将用于测试模型的数据,并将数据映射到模型。
默认情况下,Analysis Services 将使用挖掘模型测试数据,前提是你在生成挖掘结构时创建了保留数据集。 创建保留测试集是测试基于同一挖掘结构的模型的最简单方法,因为列名和数据类型将始终与模型匹配,因此可以合理地确保数据的分布相似。 此外,设计器会自动创建输入列和模型列之间的关系。
或者,可以指定外部数据源。 对于外部数据,还有其他一些要求:
外部数据集必须定义为 Analysis Services 实例中的数据源视图。
外部数据集必须至少包含一个列,这些列可以映射到挖掘模型中的可预测列。 可以选择忽略某些列。
不能在不同的数据源视图中添加新列或映射列。 所选数据源视图必须包含预测查询所需的所有列。
如果外部列名称与模型中的列名称完全匹配,设计器会为你映射它们。 如果映射错误,可以更改这些映射,或者删除并创建新的现有列映射。
如果使用外部数据源,则可以应用筛选器来将测试数据限制为相关的事例子集。
即使使用保留测试集,也应该注意筛选器可能会导致与挖掘结构和挖掘模型测试用例关联的测试数据之间的差异。
本主题介绍如何选择和映射测试数据:
选择输入表以测试挖掘模型的准确性
在 SQL Server Data Tools(SSDT)中的数据挖掘设计器中,双击包含要绘制的模型的挖掘结构。
选择“ 挖掘准确性图表 ”选项卡。
在“挖掘准确性图表”视图的“输入选择”选项卡上,选择以下选项之一:
使用挖掘模型测试用例
使用挖掘结构测试用例
指定其他数据集
如果选择 了“指定其他数据集”,可以选择单击“ 打开筛选器编辑器 ”,在输入数据集上创建筛选条件。 单击 “确定” 。
单击“ 提升图 ”选项卡或“ 分类矩阵 ”选项卡,使用指定的测试数据自动生成图表。
将数据模型的列映射到测试数据中的列
双击包含要绘制的模型的挖掘结构,在数据挖掘设计器中打开结构和模型。
选择 “挖掘准确性图表 ”选项卡,然后选择“ 输入选择 ”选项卡。
在“ 输入选择 ”选项卡中,在 “选择要用于准确性图表的数据集”下,选择 “指定其他数据集”。
单击浏览按钮 (...) 打开对话框并生成外部数据集的定义。
在 “选择挖掘结构 ”对话框中,选择包含要使用的模型的挖掘结构,然后单击“ 确定”。
在“挖掘准确性图表”选项卡的“选择输入表”表中,单击“选择事例表”以打开“选择表”对话框。
在 “选择表 ”对话框中,从“ 数据源 ”列表中选择数据源。 选择一个表,其中包含要在预测查询中使用的数据,以确定模型的准确性。
在 “表/视图名称 ”框中,选择包含要用于测试模型的数据的表。
如有必要,修改映射。 挖掘结构中的列会自动映射到输入表中具有相同名称的列。 若要手动创建映射,请单击 “选择输入表”表中 的列,然后将其拖到 “挖掘结构 ”表中的相应列。 若要删除映射,请单击将 挖掘结构 表中的列链接到 选择输入表 表中的已映射的列的行,然后按 DELETE。
单击 “确定” 。
修改输入数据映射到模型的方式
在数据挖掘设计器中,双击包含要绘制的模型的结构。
选择“ 挖掘准确性图表 ”选项卡。
单击“ 输入选择 ”选项卡。
在 “选择要用于准确性图表的数据集”中,选择“ 指定其他数据集”选项。
单击浏览按钮 (...) 打开对话框并生成外部数据源的定义。
在“ 指定列映射 ”对话框中,单击 “选择事例表”。
在“选择表”对话框中,从列表中选择数据源视图,然后选择包含事例数据的表。 单击 “确定” 。
如果所需的表不可用,请关闭该对话框并创建包含该表的新数据源视图。 有关如何创建数据源视图的信息,请参阅“定义数据源视图”(Analysis Services)。
如果挖掘模型包含嵌套表,请单击 “选择嵌套表”,然后从数据源视图中的表列表中选择嵌套表。 单击 “确定” 。
选择要修改的映射的联接行,然后选择“ 修改连接”。
此时将打开 “修改映射 ”对话框。 在此对话框的表格中,挖掘结构列 列出所选挖掘结构包含的每个列,表列 则列出了映射到挖掘结构中的列的输入表中的列。
在 “表列”下,选择要修改关系的 挖掘结构列 下的行对应的行。 从列表中选择一个新列,或从列表中选择空白条目以删除该列。
单击 “确定” 。
新的列映射显示在“ 指定列映射 ”对话框中。 可以通过选择列之间的行并按 DELETE 键来删除映射。 可以通过选择 挖掘结构 表中的列,并将其拖动到 选择输入 表中的相应列来创建新连接。