第 4 课:浏览自行车购买者挖掘模型
在本课中,您将使用 SELECT (DMX) 语句浏览决策树和聚类分析挖掘模型的内容,聚类分析挖掘模型是在第 2 课:向可预测挖掘结构中添加挖掘模型中创建。
挖掘模型中包含的列不是由挖掘结构定义的列,而是用于说明通过算法获得的趋势和模式的特定列集。在 DMSCHEMA_MINING_MODEL_CONTENT Rowset 架构行集中对这些挖掘模型列进行了说明。例如,内容架构行集中的 MODEL_NAME 列包含挖掘模型的名称。对于聚类分析挖掘模型,NODE_CAPTION 列包含每个分类的名称,NODE_DESCRIPTION 列包含每个分类的特征说明。您可以使用 DMX 中的 SELECT FROM <模型>.CONTENT 语句浏览这些列。也可以使用该语句浏览用于创建挖掘模型的数据。为了使用该语句,必须对挖掘结构启用钻取功能。有关该语句的详细信息,请参阅 SELECT FROM <模型>.CASES (DMX)。
也可以使用 SELECT DISTINCT 语句返回离散列的所有状态。例如,如果对 gender 列执行此操作,则查询将返回 male 和 female。
课程任务
在本课中,您将执行以下任务:
浏览挖掘模型中包含的内容
返回源数据中用于为挖掘模型定型的事例
浏览其他可用于特定离散列的状态
返回挖掘模型的内容
在本课中,将使用 SELECT FROM <model>.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 Rowset 中包含的任意列的列表替换 *。
将
[<mining model>]
替换为
[Clustering]
现在,完整的语句应该如下所示:
SELECT * FROM [Clustering].CONTENT
在**“文件”菜单中,单击“DMXQuery1.dmx 另存为”**。
在**“另存为”**对话框中,浏览到相应的文件夹,并将文件命名为 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>')
有关使用带有 IsInNode 的 WHERE 语句的详细信息,请参阅 SELECT FROM <模型>.CASES (DMX)。
返回用于为挖掘模型定型的事例
在对象资源管理器中,右键单击 Analysis Services 的实例,指向**“新建查询”**,再单击 DMX。
将打开查询编辑器,其中包含一个新的空白查询。
将 SELECT FROM <模型>.CASES 语句的一般示例复制到空白查询中。
将
<select list>
替换为
您还可以使用源数据(如 [自行车购买者])中包含的任意列的列表替换 *。
将
[<mining model>]
替换为
[Decision Tree]
现在,完整的语句应该如下所示:
SELECT * FROM [Decision Tree].CASES
在**“文件”菜单中,单击“DMXQuery1.dmx 另存为”**。
在**“另存为”**对话框中,浏览到相应的文件夹,并将文件命名为 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 另存为”**。
在**“另存为”**对话框中,浏览到相应的文件夹,并将文件命名为 SELECT_DISCRETE.dmx。
在工具栏中,单击**“执行”**按钮。
查询返回 Bike Buyer 列的可能状态。
在下一课中,您将使用决策树挖掘模型预测潜在的客户是否为自行车购买者。