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

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

您将在本课中创建的自行车购买者挖掘结构支持根据 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 个,则测试数据集将包含较小数量的事例。

课程任务

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

  • 创建新的空白查询。

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

  • 执行查询。

创建查询

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

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

  1. 打开 SQL Server Management Studio。

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

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

更改查询

第二步是修改上述 CREATE MINING STRUCTURE 语句以创建自行车购买者挖掘结构。

自定义 CREATE MINING STRUCTURE 语句

  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 另存为”**。

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

执行查询

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

执行查询

  • 在查询编辑器中,单击工具栏中的**“执行”**。

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

    Executing the query 
    Execution complete
    

    现在,服务器中便有了名为**“自行车购买者”**的新结构。

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