第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 语句返回离散列的所有状态。 例如,如果对性别列执行此操作,查询将返回malefemale

课程任务

在本课中,你将执行以下任务:

  • 浏览挖掘模型中包含的内容

  • 从用于训练挖掘模型的源数据返回事例

  • 探讨特定离散列中的不同状态

返回挖掘模型的内容

在本课中,你将使用 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)。

返回聚类挖掘模型的内容

  1. 对象资源管理器中,右键单击 Analysis Services 实例,指向 “新建查询”,然后单击 “DMX”。

    查询编辑器打开后,将包含一个新的空白查询。

  2. 将 SELECT FROM <模型>的泛型示例复制到空白查询中的 CONTENT 语句中。

  3. 替换以下内容:

    <select list>   
    

    替换为:

    *  
    

    还可以将 * 替换为 DMSCHEMA_MINING_MODEL_CONTENT行集中包含的任何列的列表。

  4. 替换以下内容:

    [<mining model>]   
    

    替换为:

    [Clustering]  
    

    完整语句现在应如下所示:

    SELECT * FROM [Clustering].CONTENT  
    
  5. 在“ 文件 ”菜单上,单击“ 保存 DMXQuery1.dmx As”。

  6. 在“ 另存为 ”对话框中,浏览到相应的文件夹,并命名该文件 SELECT_CONTENT.dmx

  7. 在工具栏上,单击“ 执行 ”按钮。

    查询返回挖掘模型的内容。

使用钻取

下一步是使用钻取语句返回用于训练决策树挖掘模型的案例样本。 在本课中,你将使用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)

返回用于训练挖掘模型的事例

  1. 对象资源管理器中,右键单击 Analysis Services 实例,指向 “新建查询”,然后单击 “DMX”。

    查询编辑器将打开并包含新的空白查询。

  2. 将 SELECT FROM <模型>.CASES 语句的通用示例复制到空白查询中。

  3. 替换以下内容:

    <select list>   
    

    替换为:

    *  
    

    还可以将 * 替换为源数据中包含的任何列的列表(如 [Bike Buyer])。

  4. 替换以下内容:

    [<mining model>]   
    

    替换为:

    [Decision Tree]  
    

    完整语句现在应如下所示:

    SELECT *   
    FROM [Decision Tree].CASES  
    
  5. 在“ 文件 ”菜单上,单击“ 保存 DMXQuery1.dmx As”。

  6. 在“ 另存为 ”对话框中,浏览到相应的文件夹,并命名该文件 SELECT_DRILLTHROUGH.dmx

  7. 在工具栏上,单击“ 执行 ”按钮。

    该查询返回用于训练决策树挖掘模型的源数据。

返回离散挖掘模型列的状态

下一步是使用 SELECT DISTINCT 语句返回指定挖掘模型列中的不同可能状态。

下面是 SELECT DISTINCT 语句的一般示例:

SELECT DISTINCT [<column>]   
FROM [<mining model>]  

代码的第一行定义返回状态的挖掘模型列:

SELECT DISTINCT [<column>]   

必须包含 DISTINCT 才能返回列的所有状态。 如果排除 DISTINCT,则完整语句将成为预测的快捷方式,并返回指定列最有可能的状态。 有关详细信息,请参阅 SELECT (DMX)

返回离散列的状态

  1. 对象资源管理器中,右键单击 Analysis Services 实例,指向 “新建查询”,然后单击 “DMX”。

    查询编辑器会打开并包含新的空白查询。

  2. 将 SELECT Distinct 语句的泛型示例复制到空白查询中。

  3. 替换以下内容:

    [<column,name>   
    

    替换为:

    [Bike Buyer]  
    
  4. 替换以下内容:

    [<mining model>]   
    

    替换为:

    [Decision Tree]  
    

    完整语句现在应如下所示:

    SELECT DISTINCT [Bike Buyer]   
    FROM [Decision Tree]  
    
  5. 在“ 文件 ”菜单上,单击“ 保存 DMXQuery1.dmx As”。

  6. 在“ 另存为 ”对话框中,浏览到相应的文件夹,并命名该文件 SELECT_DISCRETE.dmx

  7. 在工具栏上,单击“ 执行 ”按钮。

    该查询返回“自行车购买者”列中可能的状态。

在下一课中,你将使用决策树挖掘模型预测潜在客户是否是自行车购买者。

下一课

第 5 课:执行预测查询