在本课中,你将使用 SELECT (DMX) 语句浏览决策树中的内容,并聚类分析 第 2 课中创建的挖掘模型:将挖掘模型添加到预测挖掘结构。
挖掘模型中包含的列不是挖掘结构定义的列,而是描述算法找到的趋势和模式的特定列集。 这些挖掘模型列在 DMSCHEMA_MINING_MODEL_CONTENT Rowset 架构行集中介绍。 例如,内容架构行集中的MODEL_NAME列包含挖掘模型的名称。 对于聚类分析挖掘模型,NODE_CAPTION列包含每个分类的名称,NODE_DESCRIPTION列包含每个分类的特征的说明。 可以在 DMX 中使用 SELECT FROM <模型>.CONTENT 语句来浏览这些列。 还可以使用此语句浏览用于创建挖掘模型的数据。 必须在挖掘结构上启用钻取才能使用此语句。 有关该语句的更多信息,请参阅 SELECT FROM <模型>。CASES (DMX)。
还可以使用 SELECT DISTINCT 语句返回离散列的所有状态。 例如,如果对性别列执行此操作,查询将返回male和female。
课程任务
在本课中,你将执行以下任务:
浏览挖掘模型中包含的内容
从用于训练挖掘模型的源数据返回事例
探讨特定离散列中的不同状态
返回挖掘模型的内容
在本课中,你将使用 SELECT FROM <模型>。CONTENT (DMX) 语句,用于返回聚类分析模型的内容。
下面是 SELECT FROM <模型>.CONTENT 语句的通用示例。
SELECT <select list> FROM [<mining model>].CONTENT
WHERE <where clause>
代码的第一行定义要从挖掘模型内容返回的列及其关联的挖掘模型:
SELECT <select list> FROM [<mining model].CONTENT
在挖掘模型名称旁边的 CONTENT 子句指定了您将从挖掘模型返回内容。 有关挖掘模型中包含的列的详细信息,请参阅 DMSCHEMA_MINING_MODEL_CONTENT 行集。
可以选择使用代码的最后一行来筛选语句返回的结果:
WHERE <where clause>
例如,如果要将查询结果限制为仅包含大量事例的群集,则可以将以下 WHERE 子句添加到 SELECT 语句:
WHERE NODE_SUPPORT > 100
有关使用 WHERE 语句的详细信息,请参阅 SELECT (DMX)。
返回聚类挖掘模型的内容
在 对象资源管理器中,右键单击 Analysis Services 实例,指向 “新建查询”,然后单击 “DMX”。
查询编辑器打开后,将包含一个新的空白查询。
将 SELECT FROM <模型>的泛型示例复制到空白查询中的 CONTENT 语句中。
替换以下内容:
<select list>替换为:
*还可以将 * 替换为 DMSCHEMA_MINING_MODEL_CONTENT行集中包含的任何列的列表。
替换以下内容:
[<mining model>]替换为:
[Clustering]完整语句现在应如下所示:
SELECT * FROM [Clustering].CONTENT在“ 文件 ”菜单上,单击“ 保存 DMXQuery1.dmx As”。
在“ 另存为 ”对话框中,浏览到相应的文件夹,并命名该文件
SELECT_CONTENT.dmx。在工具栏上,单击“ 执行 ”按钮。
查询返回挖掘模型的内容。
使用钻取
下一步是使用钻取语句返回用于训练决策树挖掘模型的案例样本。 在本课中,你将使用SELECT FROM <模型>CASES(DMX)语句来返回决策树模型的内容。
下面是 SELECT FROM <模型的>通用示例。CASES 语句:
SELECT <select list>
FROM [<mining model>].CASES
WHERE IsInNode('<node id>')
代码的第一行定义要从源数据返回的列及其中包含的挖掘模型:
SELECT <select list> FROM [<mining model>].CASES
.CASES 子句指定您正在执行钻透查询。 若要使用钻取功能,必须在创建挖掘模型时启用该功能。
代码的最后一行是可选的,并指定要从中请求事例的挖掘模型中的节点:
WHERE IsInNode('<node id>')
有关将 WHERE 语句与 IsInNode 配合使用的详细信息,请参阅 SELECT FROM <模型>。CASES (DMX) 。
返回用于训练挖掘模型的事例
在 对象资源管理器中,右键单击 Analysis Services 实例,指向 “新建查询”,然后单击 “DMX”。
查询编辑器将打开并包含新的空白查询。
将 SELECT FROM <模型>.CASES 语句的通用示例复制到空白查询中。
替换以下内容:
<select list>替换为:
*还可以将 * 替换为源数据中包含的任何列的列表(如 [Bike Buyer])。
替换以下内容:
[<mining model>]替换为:
[Decision Tree]完整语句现在应如下所示:
SELECT * FROM [Decision Tree].CASES在“ 文件 ”菜单上,单击“ 保存 DMXQuery1.dmx As”。
在“ 另存为 ”对话框中,浏览到相应的文件夹,并命名该文件
SELECT_DRILLTHROUGH.dmx。在工具栏上,单击“ 执行 ”按钮。
该查询返回用于训练决策树挖掘模型的源数据。
返回离散挖掘模型列的状态
下一步是使用 SELECT DISTINCT 语句返回指定挖掘模型列中的不同可能状态。
下面是 SELECT DISTINCT 语句的一般示例:
SELECT DISTINCT [<column>]
FROM [<mining model>]
代码的第一行定义返回状态的挖掘模型列:
SELECT DISTINCT [<column>]
必须包含 DISTINCT 才能返回列的所有状态。 如果排除 DISTINCT,则完整语句将成为预测的快捷方式,并返回指定列最有可能的状态。 有关详细信息,请参阅 SELECT (DMX)。
返回离散列的状态
在 对象资源管理器中,右键单击 Analysis Services 实例,指向 “新建查询”,然后单击 “DMX”。
查询编辑器会打开并包含新的空白查询。
将 SELECT Distinct 语句的泛型示例复制到空白查询中。
替换以下内容:
[<column,name>替换为:
[Bike Buyer]替换以下内容:
[<mining model>]替换为:
[Decision Tree]完整语句现在应如下所示:
SELECT DISTINCT [Bike Buyer] FROM [Decision Tree]在“ 文件 ”菜单上,单击“ 保存 DMXQuery1.dmx As”。
在“ 另存为 ”对话框中,浏览到相应的文件夹,并命名该文件
SELECT_DISCRETE.dmx。在工具栏上,单击“ 执行 ”按钮。
该查询返回“自行车购买者”列中可能的状态。
在下一课中,你将使用决策树挖掘模型预测潜在客户是否是自行车购买者。