第 1 课:创建自行车购买者数据挖掘结构

在本课中,你将创建一个挖掘结构,用于预测 Adventure Works Cycles 的潜在客户是否会购买自行车。 如果不熟悉挖掘结构及其在数据挖掘中的作用,请参阅挖掘结构(Analysis Services - 数据挖掘)。

在本课中创建的 Bike Buyer 挖掘结构支持基于 Microsoft聚类分析算法Microsoft决策树算法添加挖掘模型。 在后面的课程中,你将使用聚类分析挖掘模型来探索客户分组的不同方式,并使用决策树挖掘模型来预测潜在客户是否会购买自行车。

CREATE MINING STRUCTURE 语句

若要创建挖掘结构,请使用 CREATE MINING STRUCTURE (DMX) 语句。 语句中的代码可以分为以下部分:

  • 为结构命名。

  • 定义关键列。

  • 定义挖掘列。

  • 定义可选的测试数据集。

下面是 CREATE MINING STRUCTURE 语句的通用示例:

CREATE MINING STRUCTURE [<mining structure name>]  
(  
    <key column>,  
    <mining structure columns>  
)   
WITH HOLDOUT (<holdout specifier>)  

代码的第一行定义结构的名称:

CREATE MINING STRUCTURE [<mining structure name>]  

有关在数据挖掘扩展插件(DMX)中命名对象的信息,请参阅标识符(DMX)。

代码的下一行定义挖掘结构的键列,该列唯一标识源数据中的实体:

<key column>,  

在要创建的挖掘结构中,客户标识符定义 CustomerKey源数据中的实体。

代码的下一行用于定义挖掘列,这些挖掘列将由与挖掘结构关联的挖掘模型使用:

<mining structure columns>  

您可以在<挖掘结构列>中使用 DISCRETIZE 函数,按照以下语法将连续列离散化:

DISCRETIZE(<method>,<number of buckets>)

有关离散化列的详细信息,请参阅离散化方法(数据挖掘)。 有关可以定义的挖掘结构列类型的详细信息,请参阅 挖掘结构列

代码的最后一行定义挖掘结构中的可选分区:

WITH HOLDOUT (<holdout specifier>)  

指定用于测试与结构相关的挖掘模型的某些数据部分,其余数据用于训练模型。 默认情况下,Analysis Services 会创建一个测试数据集,其中包含 30% 的所有事例数据。 您应添加规范,测试数据集应包含案例总数的 30%,但不超过 1000 个案例。 如果 30% 的事例小于 1000,则测试数据集将包含较小的数量。

课程任务

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

  • 创建新的空白查询。

  • 更改查询以创建挖掘结构。

  • 执行查询。

创建查询

第一步是在 SQL Server Management Studio 中连接到 Analysis Services 实例并创建新的 DMX 查询。

在 SQL Server Management Studio 中创建新的 DMX 查询

  1. 打开 SQL Server Management Studio。

  2. 在“ 连接到服务器 ”对话框中,对于 “服务器类型”,选择 “Analysis Services”。 在 服务器名称中,键入 LocalHost或键入要连接到本课的 Analysis Services 实例的名称。 单击连接

  3. 对象资源管理器中,右键单击 Analysis Services 实例,指向 “新建查询”,然后单击 DMX 以打开 查询编辑器 和新的空白查询。

更改查询

下一步是修改上述 CREATE MINING STRUCTURE 语句以创建 Bike Buyer 挖掘结构。

自定义创建挖掘结构语句

  1. 在查询编辑器中,将 CREATE MINING STRUCTURE 语句的通用示例复制到空白查询中。

  2. 替换以下内容:

    [<mining structure>]   
    

    替换为:

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

    <key column>   
    

    替换为:

    CustomerKey LONG KEY  
    
  4. 替换以下内容:

    <mining structure columns>   
    

    替换为:

    [Age] LONG DISCRETIZED(Automatic,10),  
    [Bike Buyer] LONG DISCRETE,  
    [Commute Distance] TEXT DISCRETE,  
    [Education] TEXT DISCRETE,  
    [Gender] TEXT DISCRETE,  
    [House Owner Flag] TEXT DISCRETE,  
    [Marital Status] TEXT DISCRETE,  
    [Number Cars Owned] LONG DISCRETE,  
    [Number Children At Home] LONG DISCRETE,  
    [Occupation] TEXT DISCRETE,  
    [Region] TEXT DISCRETE,  
    [Total Children]LONG DISCRETE,  
    [Yearly Income] DOUBLE CONTINUOUS  
    
  5. 替换以下内容:

    WITH HOLDOUT (holdout specifier>)  
    

    替换为:

    WITH HOLDOUT (30 PERCENT or 1000 CASES)  
    

    完整的挖掘结构语句现在应如下所示:

    CREATE MINING STRUCTURE [Bike Buyer]  
    (  
       [Customer Key] LONG KEY,  
       [Age]LONG DISCRETIZED(Automatic,10),  
       [Bike Buyer] LONG DISCRETE,  
       [Commute Distance] TEXT DISCRETE,  
       [Education] TEXT DISCRETE,  
       [Gender] TEXT DISCRETE,  
       [House Owner Flag] TEXT DISCRETE,  
       [Marital Status] TEXT DISCRETE,  
       [Number Cars Owned]LONG DISCRETE,  
       [Number Children At Home]LONG DISCRETE,  
       [Occupation] TEXT DISCRETE,  
       [Region] TEXT DISCRETE,  
       [Total Children]LONG DISCRETE,  
       [Yearly Income] DOUBLE CONTINUOUS  
    )  
    WITH HOLDOUT (30 PERCENT or 1000 CASES)  
    
    
  6. 在“ 文件 ”菜单上,单击“ 保存 DMXQuery1.dmx As”。

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

执行查询

最后一步是执行查询。 创建并保存查询后,需要执行该查询。 也就是说,需要运行该语句才能在服务器上创建挖掘结构。 有关在查询编辑器中执行查询的详细信息,请参阅数据库引擎查询编辑器(SQL Server Management Studio)。

执行查询

  1. 在查询编辑器的工具栏上,单击“ 执行”。

    在语句完成执行后,查询的状态将显示在查询编辑器底部的 “消息 ”选项卡中。 消息应显示:

    Executing the query   
    Execution complete  
    

    服务器上现在存在名为 Bike Buyer 的新结构。

在下一课中,你将将挖掘模型添加到刚刚创建的结构。

下一课

第 2 课:向自行车购买者挖掘结构添加挖掘模型