2023年6月21日发(作者:)

教学实施方案

(2011~ 2012学年 春季 学期)

学 院: 计算机科学与技术学院

部 门: 专 业 实 验 中 心

姓 名: 吴 思 远

课程名称:《数据挖掘》实验 重庆邮电大学教学实施方案

【首页】

课程名称

课程编号

《数据挖掘》实验

040752

年级 2009级

智能科学与授课专业 0450901

技术

班级 0450902

必修课 公共基础课( );专业基础课( );专业课(√)

课程类型

选修课 限选课( );任选课( )

授课方式 课堂讲授( );实验课(√) 考核方式 考试();考查(√)

课程教学

总学时数

14 学 分 数 1

学时分配 实验课 14学时

理论教材:

《数据挖掘概念与技术》

教材名称

实验教材:

《数据挖掘实验》讲义

机械工业范明等 出版社出版社及

2007年3月出版时间

第2版

吴思远

计算机科学与技术学院

授课教师 吴思远 讲师 单 位

授课学期 2011~2012 学年 春季 学期

注:表中( )选项请打“√”,本页只在每门课程教案前填写一份。实验项目教学实施方案

第 1 次课 第 6 周 星期 三 第 3、4节 授课日期: 2012 年 3 月 28 日

计划学时: 2 实验项目(课题)名称:

SQL Server 2005 数据多维分析环境

√ 3.综合性□ 4.设计性□ 5.其它□ 实验类型: 1.演示性□ 2.验证性□实验一:SQL Server 2005 数据多维分析环境

一、实验目的:

在本课程中,将学习如何在SQL Server 2008 BI开发环境中,创建新的 Analysis Services

数据库,添加数据源和数据源视图,以及准备将用于数据挖掘的新数据库。将学习如何创建可用作目标邮寄方案一部分的挖掘模型结构。将学习如何向结构中添加模型。

二、实验要求:

1、实验前:预习实验内容,学习相关知识。

2、实验中:按照实验内容要求进行实验,做好实验记录。

3、实验后:分析实验结果,总结实验知识,得出结论,按格式写出实验报告。

4、在整个实验过程中,要独立思考、独立按时完成实验任务,不懂的要虚心向教师或同学请教。

5、要求按指定格式书写实验报告,且报告中应反映出对本次实验的总结,下次实验前交实验报告。

三、实验的重点与难点:

1、重点:

(1)启动SQL Server 2008 BI的开发环境。

(2)创建一个Analysis Services项目,定义一个单个数据源,并向数据源视图添加一个表子集。

(3)使用“数据挖掘向导”来创建Targeted Mailing挖掘结构,在此挖掘结构中,创建一个具有决策树算法的挖掘模型。

2、难点:

(1)决策树模型的指定数据类型和内容类型,为结构指定测试数据集。

四、仪器设备及用具:

硬件:投影仪、每位同学分配PC机一台。

软件:

1

Microsoft SQL Server 2008

Microsoft SQL Server Analysis Services

Adventure Works DW 2008R2示例数据库。

五、教学过程:

(一)实验预习

每位同学熟悉和了解SQL Server 2008 BI开发环境。

(二)实验原理

在SQL Server 2008 BI开发环境中,创建数据源、创建数据源视图。

(三)实验内容

1.打开程序->Microsoft SQL Server 2008->SQL Server Business Intelligence Development

Studio,启动SQL Server 2008 BI的开发环境。

2.在“文件”菜单上,指向“新建”,然后选择“项目”。选中“项目类型”窗格中的“商业智能项目”。选中“模板”窗格中的“Analysis Services 项目”。在“名称”框中,将新项目命名为 AS Data Mining 2008。单击“确定”。

3. 在Business Intelligence Development Studio中,选择“项目”菜单中的“属性”。在“属性页”窗格左侧的“配置属性”下,单击“部署”。在“属性页”窗格右侧的“目标”下,确保“服务器”名称为localhost。如果使用的是其他实例,请键入该实例的名称。单击“确定”。

2

4. 在“解决方案资源管理器”中,右键单击“数据源”文件夹,然后选择“新建数据源”。

在“欢迎使用数据源向导”页面中,单击“下一步”按钮。

在“选择如何定义连接”页上,单击“新建”向 Adventure Works DW 2008 R2 数据库中3

添加连接。

在连接管理器中的“访问接口”列表中,选择“本机 OLE DBSQL Server Native Client

10.0”。

在“服务器名称”框中,键入或选择安装了AdventureWorksDW2008R2的服务器的名称。例如,如果是在本地服务器上承载该数据库,请键入localhost。如果使用的是其他实例,请键入该实例的名称。在“登录到服务器”组中,选择“使用 Windows 身份验证”。

连接到一个数据库时,选择AdventureWorksDW2008R2数据库,然后单击“确定”。 单击4

“下一步”。这是一个虚构公司 Adventure Works Cycles所有的示例。

5.在“模拟信息”页中,单击“使用服务帐户”,再单击“下一步”。在“完成向导”页中,请注意数据源名称默认为Adventure Works DW2008R2。单击“完成”。此时,解决方案资源管理器的“数据源”文件夹中将出现刚创建的新数据源Adventure Works DW2008R2。

6.在解决方案资源管理器中,右键单击“数据源视图”并选择“新建数据源视图”。

在“欢迎使用数据源视图向导”页中,单击“下一步”。

5

在“选择数据源”页的“关系数据源”下方,选择在上一个任务中创建的 Adventure Works

DW2008R2 数据源。单击“下一步”。

7.在“选择表和视图”页上,选择下列对象,然后单击右箭头键,将它们包括在新数据源视图中:ProspectiveBuyer (dbo) - 预期自行车购买者的表

vTargetMail (dbo) - 有关以前的自行车购买者的历史数据的视图

6

单击“下一步”。在“完成向导”页上,系统默认将数据源视图命名为Adventure Works

DW2008R2。将该名称更改为Targeted Mailing,然后单击“完成”。新数据源视图随即在“Targeted [设计]”选项卡中打开。

(四)注意事项

1、vTargetMail 的“事例”列中的复选框以将其用作事例表。

2、CacheMode 设置为 KeepTrainingCases。HoldoutSeed 设置为12。

六、实验步骤:

按照五、教学过程中(三)实验内容所示步骤,执行以下内容:

1.启动SQL Server 2008 BI。

7

2.新建 Analysis Services 项目,命名为AS Data Mining 2008。

3.在数据库AdventureWorksDW2008R2上新建数据源。

4.新建数据源视图ProspectiveBuyer(dbo)和vTargetMail(dbo)。

七、思考与练习:

1、在配置数据库连接“模拟信息”页中,除了使用服务帐户外,怎么配置才能使用凭据进行连接?

八、实验报告要求:

参见数据挖掘实验报告模版

参考文献:

[1]

《数据挖掘概念与技术》 范明 等 机械工业出版社

[2] 《数据挖掘原理与应用--SQL Server 2008数据库》 董艳 等译 清华大学出版社

[3] 《数据仓库与数据挖掘技术》 张兴会 等 清华大学出版社

[4] 《WEB数据挖掘》 俞勇 等译 清华大学出版社

下次实验内容:

在下次实验中,将学习如何在SQL Server 2008 BI开发环境中,创建新的 Analysis Services

数据库,添加数据源和数据源视图,创建关联挖掘结构,处理关联挖掘模型,浏览市场篮关联挖掘模型。

8

实验项目教学实施方案

第 2 次课 第 7 周 星期 五 第 5、6 节 授课日期: 2012 年 4 月 4 日

计划学时: 2 实验项目(课题)名称:

实践关联规则挖掘方法

√ 5.其它□ 实验类型: 1.演示性□ 2.验证性□ 3.综合性□ 4.设计性□实验二 实践关联规则挖掘方法

一、实验目的

在本实验中,将学习如何在SQL Server 2008 BI开发环境中,创建新的 Analysis Services

数据库,添加数据源和数据源视图,创建关联挖掘结构,处理关联挖掘模型,浏览市场篮关联挖掘模型。

二、实验要求

1、实验前:预习实验内容,学习相关知识。

2、实验中:按照实验内容要求进行实验,实验时注意挖掘算法参数含义,做好实验记录。

3、实验后:分析实验结果,总结实验知识,得出结论,按格式写出实验报告。

4、在整个实验过程中,要独立思考、独立按时完成实验任务,不懂的要虚心向教师或同学请教。

5、要求按指定格式书写实验报告,且报告中应反映出本对次实验的总结,下次实验前交实验报告。

三、实验的重点与难点

1、重点:

(1)要确保将 OrderNumber 列从 vAssocSeqLineItems 嵌套表拖到 vAssocSeqOrders 事例表,前者代表联接的多方,后者代表联接的一方

(2)如果遇到vAssocSeqLineItems 不能用作嵌套表的错误,请返回本实验中的添加数据源视图,并确保通过从 vAssocSeqLineItems 表(多端)拖到 vAssocSeqOrders 表(一端)来创建多对一联接。还可以通过右键单击联接线来编辑这两个表之间的关系。

(3)Analysis Services 提供的用来测试模型准确性的方法(如提升图和交叉验证报告)旨在进行分类和估计。关联预测不支持这些方法。

2、难点:

关联模型算法模型中参数的调整。

预测SQL中的DMX语句。

更改预测查询的条件。

9

四、仪器设备及用具

硬件:投影仪、每位同学分配PC机一台。

软件:

Microsoft SQL Server 2008

Microsoft SQL Server Analysis Services

Adventure Works DW 2008R2示例数据库。

五、教学过程

(一)实验预习

学习和理解关联规则模型相关理论知识。

(二)实验原理

在SQL Server 2008 BI开发环境中,创建数据源、创建数据源视图、创建挖掘结构、处理和浏览挖掘模型。

(三)实验内容

添加数据源视图

1. 在解决方案资源管理器中,右键单击“数据源视图”,然后选择“新建数据源视图”。

系统将打开数据源视图向导。

2. 在“欢迎使用数据源视图向导”页中,单击“下一步”。

3. 在“选择数据源”页的“关系数据源”下方,选择你们在数据挖掘基础教程中创建的

Adventure Works DW2008R2 数据源。单击“下一步”。

4. 在“选择表和视图”页上,选择下列各表,然后单击右箭头将这些表包括在新数据源视图中:

vAssocSeqOrders

vAssocSeqLineItems

5. 单击“下一步”。

6. 在“完成向导”页上,系统默认将数据源视图命名为 Adventure Works DW2008R2。将此名称更改为Orders,然后单击“完成”。

数据源视图设计器随即打开,并且Orders数据源视图将出现。

创建表之间的关系

1. 在数据源视图设计器中,定位 vAssocSeqLineItems 表和 vAssocSeqOrders 表,使其水平对齐,并且 vAssocSeqLineItems 表在左,vAssocSeqOrders 表在右。

2. 选择 vAssocSeqLineItems 表中的 OrderNumber 列。

10

3. 将该列拖到 vAssocSeqOrders 表中,并将其放到 OrderNumber 列上。

4. vAssocSeqLineItems 表和 vAssocSeqOrders 表之间现在存在一种新的“多对一关系”。如果你们已正确联接表,则数据源视图应如下所示:

5.

创建市场篮结构和模型

现在你们已经创建了一个数据源视图,你们将使用数据挖掘向导创建一个新的挖掘结构。在本任务中,你们将创建基于 Microsoft 关联算法的挖掘结构和挖掘模型。

创建关联挖掘结构

1. 在 Business Intelligence Development Studio 的解决方案资源管理器中,右键单击“挖掘结构”,再选择“新建挖掘结构”以打开数据挖掘向导。

2. 在“欢迎使用数据挖掘向导”页上,单击“下一步”。

3. 在“选择定义方法”页上,确保已选中“从现有关系数据库或数据仓库”,再单击“下一步”。

4. 在“创建数据挖掘结构”页的“你们要使用何种数据挖掘技术?”下,选中列表中的“Microsoft 关联规则”,再单击“下一步”。“选择数据源视图”页随即显示。

5. 在“可用数据源视图”下选择 Orders,再单击“下一步”。

6. 在“指定表类型”页上,在 vAssocSeqLineItems 表的对应行中选中“嵌套”复选框,在 vAssocSeqOrders 表的对应行中选中“事例”复选框。单击“下一步”。

7. 在“指定定型数据”页中,清除任何可能处于选中状态的复选框。通过选中 OrderNumber

旁边的“键”复选框,为事例表 vAssocSeqOrders 设置键。

由于市场篮分析的目的在于确定单个交易中包括哪些产品,因此你们不必使用 CustomerKey 字段,

8. 通过选中 Model 旁边的“键”复选框,为嵌套表 vAssocSeqLineItems 设置键。当你们这样做之后,会自动选中“输入”复选框。对于“模型”也选中“可预测”复选框。

在市场篮模型中,你们不关心产品在购物篮中的顺序,因此,你们不应当将 LineNumber 用作嵌套表的键,仅在顺序非常重要的模型中才将 LineNumber 用作键。选中 IncomeGroup 和

Region 左侧的复选框,但是不进行任何其他选择。这些列将添加到结构中以供日后参考,但是将不会用在模型中。你们选择的内容应如下所示:

11

9. 单击“下一步”。

10.在“指定列的内容和数据类型”页上,查看你们选择的内容(应如下表所示),再单击“下一步”。

IncomeGroup

Order Number

Region

vAssocSeqLineItems

Model

内容类型

Discrete

Key

Discrete

Key

数据类型

Text

Text

Text

Text

11.在“创建测试集”页上,“测试数据百分比”选项的默认值为 30%。请将该选项更改为

0。单击“下一步”。

12.在“完成向导”页的“挖掘结构名称”中,键入Association。

13.在“挖掘模型名称”中,键入Association。

14.选择“允许钻取”选项,然后单击“完成”。

12

系统将打开数据挖掘设计器,显示刚刚创建的 Association 挖掘结构。

修改和处理市场篮模型

在处理创建的Association 挖掘模型之前,必须更改以下两个参数的默认值:Support 和

Probability。

Support 定义规则被视为有效前必须存在的事例百分比。你们将指定规则必须至少是在百分之一的事例中发现的。

Probability 定义关联被视为有效前必须存在的可能性。你们将认为任何关联都必须具有至少百分之十的可能性。

定义 Association 挖掘模型的结构和参数后,你们将处理该模型。

调整 Association 模型的参数

1. 打开数据挖掘设计器的“挖掘模型”选项卡。

2. 右键单击设计器的网格中的“关联”列,然后选择“设置算法参数以打开算法参数”对话框。

3. 在“算法参数”对话框的“值”列中,设置以下参数:

MINIMUM_PROBABILITY = 0.1

MINIMUM_SUPPORT = 0.01

4. 单击“确定”。

处理挖掘模型

1. 在 Business Intelligence Development Studio 的“挖掘模型”菜单上,选择“处理挖掘结构和所有模型”。

2. 看到询问你们是否要生成和部署项目的警告时,请单击“是”。

“处理挖掘结构 - Association”对话框随即打开。

3. 单击“运行”。

浏览市场篮模型

因为已经建立了“关联”模型,你们可以使用数据挖掘设计器的“挖掘模型查看器”选项卡中的 Microsoft 关联查看器浏览该模型。本教程指导你们使用查看器来浏览各项之间的关系。查看器可以帮助你们快速查看哪些产品通常会一起出现,并且大致了解出现的模式。

Microsoft 关联查看器包含三个选项卡:“规则”、“项集”和“依赖关系网络”。由于每个选项卡显示的数据视图略有差异,因此在浏览某个模型时,你们通常会在不同窗格之间多次来回切换,以便深入了解数据。

“依赖关系网络”选项卡

“项集”选项卡

“规则”选项卡

“一般内容”视图

在此实验中,你们将从“依赖关系网络”选项卡开始学习,然后使用“规则”和“项集”13

选项卡来对查看器中显示的关系进行深入了解。你们还将使用 Microsoft 一般内容树查看器来检索各个规则或项集的详细统计信息。

“依赖关系网络”选项卡

使用“依赖关系网络”选项卡,可以研究模型中不同项的交互。查看器中的每个节点代表一个项,而节点之间的线条则代表规则。通过选择节点,可以查看哪些其他节点预测选定项,还可以查看当前项预测哪些项。在某些情况下,项之间存在双向关联,这意味着它们可以出现在同一事务中。你们可以参考选项卡底部的颜色图例来确定关联的方向。

连接两个项的线条意味着这些项很可能共同出现在同一事务中。也就是说,客户很可能一起购买这些物品。滑块与规则的概率关联。上下移动滑块可以筛选出弱关联,弱关联意味着这些规则的概率很低。

依赖关系网络图显示了成对规则,这些规则在逻辑上可以用 A->B 表示,意思是如果购买了产品 A,就很可能购买产品 B。该图不能显示类型 AB->C 的规则。如果你们移动滑块来显示所有规则,但仍未在图中看到任何线条,则意味着没有成对规则满足算法参数的条件。

还可以通过键入属性名称的前几个字母,按名称查找节点。

在 Microsoft 关联规则查看器中打开关联模式

1. 在解决方案资源管理器中,双击关联结构。

2. 在数据挖掘设计器中,单击“挖掘模型查看器”选项卡。

3. 从“挖掘模型”下拉列表中的挖掘模型列表中选择关联。

导航依赖关系图和查找特定节点

1. 在“挖掘模型查看器”选项卡中,单击“依赖关系网络”选项卡。

2. 单击“放大”数次,直至你们可以轻松地查看每个节点的标签。

默认情况下,该图会以所有节点都可见这种形式显示。复杂模型中可能有很多节点,使得每个节点都显得很小。

3. 单击查看器右下角的 + 符号,并按住鼠标按钮在该图上平移。

4. 在查看器的左侧,向下拖动滑块,将其从“所有链接”(默认值)移至滑块控件的底部。

5. 查看器更新该图,只显示最强的关联,也就是 Touring Tire 和 Touring Tire Tube 项之间的关联。

6. 单击标记为 Touring Tire Tube = Existing 的节点。

该图进行更新,只突出显示与此项紧密相关的项。请注意两个项之间箭头的方向。

7. 在查看器的左侧,重新向上拖动滑块,将其从底部移至大约中间位置。

请注意连接两个项的箭头的变化。

8. 从“依赖关系网络”窗格顶部的下拉列表中选择“仅显示属性名称”。

图中的文本标签会更新为仅显示模型名称。

“项集”选项卡

接下来,你们将更加详细地了解 Touring Tire 和 Touring Tire Tube 产品的模型所生成14

的规则和项集。“项集”选项卡显示三种重要信息,这些信息与 Microsoft 关联算法发现的项集相关:

支持:其中出现项集的事务数。

大小:项集中的项数。

项:每个项集中包含的项的列表。

根据算法参数的设置方式,算法可能生成多个项集。查看器中返回的每个项集都代表销售该项的事务。使用“项集”选项卡上方的控件,可以筛选查看器以仅显示包含指定的最小支持度和项集大小的项集。

如果你们使用不同的挖掘模型,并且没有列出项集,则原因在于没有项集满足算法参数的条件。在这种情况下,可以更改算法参数,以允许具有较低支持的项集。

按名称筛选在查看器中显示的项集

1. 单击查看器的“项集”选项卡。

2. 在“筛选项集”框中,键入 Touring Tire,然后在框外部单击。

筛选器返回所有包含此字符串的项。

3. 在“显示”列表中,选择“仅显示属性名称”。

4. 选中“显示长名称”复选框。

项集列表会更新为仅显示包含字符串“Touring Tire”的项集。项集的长名称包括了表的名称,表名称包含每个项的属性和值。

5. 清除“显示长名称”复选框。

项集的列表会更新为仅显示短名称。

“支持”列中的值指示每个项集的事务的数量。项集的事务表示该购买包括项集中的所有项。

默认情况下,查看器按支持的降序列出项集。可以单击列标题,按不同列(例如项集大小或名称)进行排序。如果你们有兴趣了解关于包括在项集中的各个事务的更多信息,可以从项集钻取到各个事例。钻取结果中的结构列是客户的收入水平和客户 ID,这些信息未在模型中使用。

查看项集的详细信息

1. 在项集的列表中,单击“项集”列标题按名称进行排序。

2. 查找 Touring Tire 项(没有第二项)。

3. 右键单击 Touring Tire,选择“钻取”,然后选择“模型和结构列”。

“钻取”对话框显示用作此项集的支持的各个事务。

4. 展开嵌套表 vAssocSeqLineItems 可以查看事务中的实际购买列表。

按支持或大小筛选项集

1. 清除“筛选项集”框中可能包含的任何文本。不能将文本筛选器和数值筛选器一起使用。

2. 在“最低支持”框中键入 100,然后单击查看器的背景。

15

项集的列表会更新为仅显示支持最低达到 100 的项集。

“规则”选项卡

“规则”选项卡显示与算法发现的规则相关的以下信息。

概率:规则的“可能性”,定义为在给定左侧项的情况下右侧项的概率。

重要性:用于度量规则的有用性。值越大则意味着规则越有用。

重要性用于度量规则的有用性,因为只使用概率可能会发生误导。例如,如果每个事务都包含一个水壶(也许水壶是作为促销活动的一部分自动添加到每位客户的购物车中),该模型会创建一条规则,预测水壶的概率为 1。仅依据概率来看,此规则非常准确,但它并未提供有用的信息。

规则:规则的定义。对于市场篮模型,规则描述特定的项组合。

每条规则都可以根据事务中其他项的发生情况来预测某个项的发生情况。与使用“项集”选项卡类似,你们可以筛选规则,以便仅显示最关心的规则。如果你们使用的挖掘模型没有任何规则,你们可能希望更改算法参数,以降低规则的概率阈值。

仅查看包括 Mountain-200 自行车的规则

1. 在“挖掘模型查看器”选项卡中,单击“规则”选项卡。

2. 在“筛选规则”框中,输入 Mountain-200。

清除“显示长名称”复选框。

3. 从“显示”列表中,选择“仅显示属性名称”。

查看器将仅显示包含 Mountain-200 字样的规则。通过规则的概率,你们可以知道:如果一个人购买了 Mountain-200 自行车,则此人购买其他所列产品的可能性有多大。

这些规则按照概率降序排序,但你们可以单击栏标题来更改排序顺序。如果你们有兴趣查找关于某个特定规则的更多详细信息,可以使用钻取功能来查看支持事例。

查看支持特定规则的事例

1. 在“规则”选项卡中,右键单击要查看的规则。

2. 选择“钻取”,然后选择“仅限模型列”或“模型和结构列”。

“钻取”对话框在窗格顶部提供该规则的摘要,以及用作该规则的支持数据的所有事例的列表。

一般内容树查看器

此查看器可用于所有模型,无论算法和模型类型为何均为如此。“Microsoft 一般内容树查看器”可以从“查看器”下拉列表中找到。

内容树是挖掘模型的表示形式,由一系列节点组成,其中每个节点都表示与数据的某一子集相关的已发现的知识。节点可以包含一种模式、一组规则、一个群集或共享某些特性的日期范围的定义。根据算法和可预测属性的类型的不同,节点的具体内容也会不同,但内容的通用表示形式是相同的。你们可以展开每个节点以查看详细信息的递增级别,并可以将任何节点的内容复制到剪贴板。

使用内容查看器查看关于规则的详细信息

16

1. 在“挖掘模型查看器”选项卡中,从“查看器”列表中选择“Microsoft 一般内容树查看器”。

2. 在“节点标题”窗格中,滚动到列表的底部,然后单击最后一个节点。

查看器首先显示项集,接下来显示规则,但不对它们进行分组。查找特定节点的最简单方法是创建内容查询。

3. 在“节点详细信息”窗格中,查看 NODE_TYPE 和 NODE_DESCRIPTION 的值。

节点类型 8 是规则,节点类型 7 是项集。对于规则来说,NODE_DESCRIPTION 的值指示了构成规则的条件。对于项集来说,NODE_DESCRIPTION 的值指示了包括在项集中的项。

筛选挖掘模型中的嵌套表

创建并浏览模型后,你们决定将精力集中在客户数据的某个子集上。例如,你们可能希望仅分析包含特定项的购物篮,或者可能希望仅分析在某个时间段内没有购买任何物品的客户的人口统计信息。

SQL Server 2008 Analysis Services 提供了筛选挖掘模型中所使用数据的功能,因此,你们不必再为了使用不同数据而创建新的数据源视图了。在数据挖掘基础教程中,你们学习了如何通过对事例表应用条件来筛选平面表中的数据。在此任务中,你们将创建一个应用于嵌套表的筛选器。

以下内容为本实验选作部分,完成后有加分奖励。

针对嵌套表和针对事例表的筛选器

如果你们的数据源视图包含一个事例表和一个嵌套表,如 Association 模型中使用的数据源视图,则可以筛选事例表中的值、筛选嵌套表中是否存在某个值,或者这两者的组合。

在本实验中,你们将首先制作 Association 模型的副本,然后将 IncomeGroup 和 Region

属性添加到新的相关模型中,以便你们能够筛选事例表中的这些属性。

创建和修改 Association 模型的副本

1. 在 Business Intelligence Development Studio 的“挖掘模型”选项卡中,右键单击

Association 模型并选择“新建挖掘模型”。

2. 对于“模型名称”,键入 Association Filtered。对于“算法名称”,选择“Microsoft

关联规则”。单击“确定”。

3. 在针对 Association Filtered 模型的列中,单击 IncomeGroup 行并将值从“忽略”更改为“输入”。

接下来,将在新的关联模型中创建一个针对事例表的筛选器。仅当客户在目标区域中时或者仅当客户达到目标收入水平时,该筛选器才传递给模型。然后,将添加第二个筛选条件集,以指定模型仅使用其购物篮已至少包含一项的客户。

将筛选器添加到挖掘模型中

1. 在“挖掘模型”选项卡中,右键单击模型 Association Filtered,然后选择“设置模型筛选器”。

17

2. 在“模型筛选器”对话框的“挖掘结构列”文本框中,单击网格中的第一行。

3. 在“挖掘结构列”文本框中,选择 IncomeGroup。

该文本框左侧的图标会发生改变,以指示所选项是列。

4. 单击“运算符”文本框,然后从列表中选择 = 运算符。

5. 单击“值”文本框,然后在该框中键入 High。

6. 单击网格中的下一行。

7. 单击网格下一行中的 AND/OR 文本框,然后选择 OR。

8. 在“挖掘结构列”文本框中,选择 IncomeGroup。在“值”文本框中,键入 Moderate。

你们创建的筛选条件将自动添加到“表达式”文本框中,且应该如下所示:

[IncomeGroup] = 'High' OR [IncomeGroup] = 'Moderate'

9. 单击网格中的下一行,将运算符保留为默认值 AND。

10.对于“运算符”,保留默认值 Contains。单击“值”文本框。

11.在“筛选器”对话框中,在“挖掘结构列”下方的第一行中选择 Model。

12.对于“运算符”,选择 IS NOT NULL。将“值”文本框保留为空。单击“确定”。

“模型筛选器”对话框的“表达式”文本框中的筛选条件会自动更新,以对嵌套表包含新条件。完成的表达式如下所示:

[IncomeGroup] = 'High' OR [IncomeGroup] = 'Moderate' AND EXISTS (SELECT * FROM

[vAssocSeqLineItems] WHERE [Model] <> NULL)

13.单击“确定”。

启用钻取并处理筛选后的模型

1. 在“挖掘模型”选项卡中,右键单击 Association Filtered 模型并选择“属性”。

2. 将 AllowDrillThrough 属性更改为 True。

3. 右键单击 Association Filtered 挖掘模型并选择“处理模型”。

4. 在出现的错误消息中单击“是”,以将新模型部署到 Analysis Services 数据库中。

5. 在“处理挖掘结构”对话框中,单击“运行”。

6. 处理完成后,单击“关闭”退出“处理进度”对话框,然后再次单击“关闭”退出“处理挖掘结构”对话框。

你们可以通过下面的方法进行验证:使用 Microsoft 一般内容树查看器并查看

NODE_SUPPORT 的值,查看筛选模型所包含事例的数目是否小于原始模型中事例的数目。

预测关联

处理了模型之后,你们可以使用模型中存储的有关关联的信息来创建预测。在本课程的最后一个任务中,你们将了解如何针对所创建的关联模型生成预测查询。本课程假定你们已经熟悉了如何使用预测查询生成器,同时希望了解如何生成针对关联模型的预测查询。

创建单独预测查询

关联预测可用于多种用途,例如向客户推荐商品,或者找出产品之间的关系。若要生成预18

测查询,请先选择要使用的关联模型,然后指定输入数据。输入可以来自外部数据源(例如值列表),也可以生成单独查询并随时提供值。

对此方案,你们首先需要创建一些单独预测查询,以了解预测是如何运行的。然后你们将创建一个批预测的查询,以便根据客户当前的购买情况提出建议。

针对关联模型创建预测查询

1. 在数据挖掘设计器中,单击“挖掘模型预测”选项卡。

2. 在“挖掘模型”窗格中单击“选择模型”。(如果已选择正确的模型,则可跳过此步骤和下一步骤。)

3. 在“选择挖掘模型”对话框中,展开表示挖掘结构 Association 的节点,选择模型

Association。单击“确定”。

现在,可以忽略“输入”窗格。

4. 在网格中,单击“源”下的空单元,选择“预测函数”。在“字段”下的单元中选择

PredictAssociation。

你们也可以使用 Predict 函数预测关联。使用该函数时,请确保选择采用表列作为参数的

Predict 函数的版本。

5. 在“挖掘模型”窗格中选择嵌套表 vAssocSeqLineItems,将其拖到网格中

PredictAssociation 函数的“条件/参数”框。

通过拖放表和列名称可以生成没有语法错误的复杂语句。但是这样就替换了当前单元的内容,其中包括 PredictAssociation 函数的其他可选参数。为了查看其他参数,可以将函数的另一个实例临时添加到网格供参考。

6. 单击“条件/参数”框,在表名称后键入以下文本:,3

“条件/参数”框中的完整文本应该如下所示:

[Association].[v Assoc Seq Line Items],3

7. 单击预测查询生成器上角的“结果”按钮。

预期结果包含一列,标题为“表达式”。“表达式”列包含的嵌套表包含一个单独的列以及以下三行。由于未指定输入值,因此这些预测表示整个模型最可能的产品关联。

型号

Women's Mountain Shorts

Water Bottle

Touring-3000

接下来,你们将使用“单独查询输入”窗格来指定一个产品作为查询输入,并查看最可能与该产品关联的产品。

创建带有嵌套表输入的单独预测查询

19

1. 单击预测查询生成器角上的“设计”按钮,切换回查询生成网格。

2. 在“挖掘模型”菜单中选择“单独查询”。

3. 在“挖掘模型”对话框中选择 Association 模型。

4. 在网格中,单击“源”下的空单元,选择“预测函数”。在“字段”下的单元中选择

PredictAssociation。

5. 在“挖掘模型”窗格中选择嵌套表 vAssocSeqLineItems,将其拖到网格中

PredictAssociation 函数的“条件/参数”框。与前一过程相同,在嵌套表名称后键入 ,3。

6. 在“单独查询输入”对话框中单击 vAssoc Seq Line Items 旁边的“值”框,再单击

(„) 按钮。

7. 在“嵌套表输入”对话框中,选择“键列”窗格中的 Touring Tire,然后单击“添加”。

8. 单击“结果”按钮。

现在结果显示最可能与 Touring Tire 关联的产品的预测。

型号

Touring Tire Tube

Sport-100

Water Bottle

但是,你们已经通过浏览模型了解到,客户经常同时购买 Touring Tire 和 Touring Tire Tube;你们更愿意了解你们能够向同时购买这些商品的客户推荐哪些产品。你们将更改查询以便根据市场篮中的两个项目预测相关产品。你们还将修改查询以添加所有预测产品的概率。

向单独预测查询添加输入和概率

1. 单击预测查询生成器角上的“设计”按钮,切换回查询生成网格。

2. 在“单独查询输入”对话框中单击 vAssoc Seq Line Items 旁边的“值”框,再单击

(„) 按钮。

3. 在“键列”窗格中选择 Touring Tire,然后单击“添加”。

4. 在网格中,单击“源”下的空单元,选择“预测函数”。在“字段”下的单元中选择

PredictAssociation。

5. 在“挖掘模型”窗格中选择嵌套表 vAssocSeqLineItems,将其拖到网格中

PredictAssociation 函数的“条件/参数”框。与前一过程相同,在嵌套表名称后键入 ,3。

6. 在“嵌套表输入”对话框中,选择“键列”窗格中的 Touring Tire Tube,然后单击“添加”。

7. 在网格中的 PredictAssociation 函数的行中,单击“条件/参数”框,更改参数以添加20

新参数 INCLUDE_STATISTICS。

“条件/参数”框中的完整文本应该如下所示:

[Association].[v Assoc Seq Line Items], INCLUDE_STATISTICS, 3

8. 单击“结果”按钮。

嵌套表中的结果现在更改为同时显示支持率和概率的预测。

型号

Sport-100

Water Bottle

Patch Kit

处理结果

如果结果中有很多嵌套表,你们可能希望简化结果以便查看。为此,你们可以手动修改查询并添加 FLATTENED 关键字。

平展预测查询中的嵌套行集

1. 单击预测查询生成器角上的 SQL 按钮。

网格更改为一个打开的窗格,在此你们可以查看和修改由预测查询生成器创建的 DMX 语句。

2. 在 SELECT 关键字后键入 FLATTENED。

完整的查询文本应该如下所示:

SELECT FLATTENED

PredictAssociation([Association].[v Assoc Seq Line Items],INCLUDE_STATISTICS,3)

FROM

[Association]

NATURAL PREDICTION JOIN

(SELECT (SELECT 'Touring Tire' AS [Model]

UNION SELECT 'Touring Tire Tube' AS [Model]) AS [v Assoc Seq Line Items]) AS t

3. 单击预测查询生成器上角的“结果”按钮。

请注意,手动编辑查询之后,将无法切换回设计视图而不丢失更改。如果希望保存查询,可以将创建的 DMX 语句手动复制到一个文本文件中。更改回设计视图后,查询会恢复到设计视图中有效的上一版本。

更改预测查询的输入方法

1. 在“挖掘模型”菜单中重新选择“单独查询”,以清除复选标记。

2. 出现一条错误消息警告你们单独查询将丢失。单击“是”。

“输入”对话框的名称更改为“选择输入表”。

21

$SUPPORT

4334

2866

2113

$PROBABILITY

0.291„

0.192„

0.142„

$ADJUSTEDPROBABILITY

0.252„

0.175„

0.132 你们希望创建一个预测查询,以将客户 ID 和产品列表作为输入,因此需要将客户表添加为事例表,将采购表添加为嵌套表。然后你们将添加预测函数来创建建议。

使用嵌套表输入创建预测查询

1. 在“挖掘模型”窗格中选择 Association Filtered 模型。

2. 在“选择输入表”对话框中单击“选择事例表”。

3. 在“选择表”对话框中,为“数据源”选择 AdventureWorksDW2008。在“表/视图名称”列表中选择 vAssocSeqOrders,然后单击“确定”。

将表 vAssocSeqOrders 添加到窗格中。

4. 在“选择输入表”对话框中单击“选择嵌套表”。

5. 在“选择表”对话框中,为“数据源”选择 AdventureWorksDW2008。在“表/视图名称”列表中选择 vAssocSeqLineItems,然后单击“确定。

将表 vAssocSeqLineItems 添加到窗格中。

6. 在“指定嵌套联接”对话框中,将 OrderNumber 字段从事例表中拖放到嵌套表中的

OrderNumber 字段上。

你们也可以单击“添加关系”,通过从列表中选择列来创建关系。

7. 在“指定关系”对话框中,验证已正确映射 OrderNumber 字段,然后单击“确定”。

8. 单击“确定”关闭“指定嵌套联接”对话框。

在“设计”窗格中将更新事例表和嵌套表,显示将外部数据列连接到模型中的列的联接。如果关系是错误的,可以右键单击联接线并选择“修改连接”来编辑列映射,或者右键单击联接线并选择“删除”完全删除关系。

9. 向网格中添加一个新行。对于“源”,请选择 vAssocSeqOrders table。对于“字段”,请选择 CustomerKey。

10.向网格中添加一个新行。对于“源”,请选择 vAssocSeqOrders table。对于“字段”,请选择 Region。

11.向网格中添加一个新行。对于“源”,请选择“预测函数”,对于“字段”,请选择

PredictAssociation。

12.将 vAssocSeqLineItems 拖到 PredictAssociation 行的“条件/参数”框中。单击“条件/参数”框的末尾,然后键入以下文本:INCLUDE_STATISTICS,3

“条件/参数”框中的完整文本应该为:[Association].[v Assoc Seq Line Items],

INCLUDE_STATISTICS, 3

13.单击“结果”按钮查看对每个客户的预测。

(四)注意事项

1、“针对嵌套表和针对事例表的筛选器”及后面部分为选作实验,如果完成,有加分的奖励。

22

六、实验步骤:

按照五、教学过程中(三)实验内容所示步骤,执行以下内容:

1.启动SQL Server 2008 BI。

2.新建 Analysis Services 项目,命名为Orders。

3.在数据库AdventureWorksDW2008R2上新建数据源。

4.新建数据源视图vAssocSeqOrders和vAssocSeqLineItems。

5.新建关联规则挖掘结构Association,并处理和浏览该挖掘模型。

七、思考与练习

1、如何调整关联规则算法参数,来提高预测的准确率?

八、实验报告要求:

参见数据挖掘实验报告模版

参考文献:

[1]

《数据挖掘概念与技术》 范明 等 机械工业出版社

[2] 《数据挖掘原理与应用--SQL Server 2008数据库》 董艳 等译 清华大学出版社

[3] 《数据仓库与数据挖掘技术》 张兴会 等 清华大学出版社

[4] 《WEB数据挖掘》 俞勇 等译 清华大学出版社

下次实验内容

下次实验中,将学习如何在SQL Server 2008 BI开发环境中,创建新的 Analysis Services

数据库,添加数据源和数据源视图,创建决策树挖掘结构,处理决策树挖掘模型,浏览决策树挖掘模型。

23

实验项目教学实施方案

第 3 次课 第 8 周 星期三 第3、4 节 授课日期: 2012 年 4 月 11 日

计划学时: 2 实验项目(课题)名称:

实践决策树挖掘方法

√ 4.设计性□ 5.其它□ 实验类型: 1.演示性□ 2.验证性□ 3.综合性□实验三 实践决策树挖掘方法

一、实验目的

本实验中,将学习如何在SQL Server 2008 BI开发环境中,创建新的 Analysis Services

数据库,添加数据源和数据源视图,创建决策树挖掘结构,处理决策树挖掘模型,浏览决策树挖掘模型。

二、实验要求

1、实验前:预习实验内容,学习相关知识。

2、实验中:按照实验内容要求进行实验,实验时注意挖掘算法参数含义,做好实验记录。

3、实验后:分析实验结果,总结实验知识,得出结论,按格式写出实验报告。

4、在整个实验过程中,要独立思考、独立按时完成实验任务,不懂的要虚心向教师或同学请教。

5、要求按指定格式书写实验报告,且报告中应反映出对本次实验的总结,下次实验前交实验报告。

三、实验的重点与难点

1、重点:

(1)创建决策树挖掘结构。

(2)处理决策树挖掘模型。

(3)浏览决策树挖掘模型。

2、难点:

设置决策树算法输入变量和其类型。

调整决策树挖掘算法中的参数。

四、仪器设备及用具

硬件:投影仪、每位同学分配PC机一台。

软件:

Microsoft SQL Server 2008

24

Microsoft SQL Server Analysis Services

Adventure Works DW 2008R2示例数据库。

五、教学过程

(一)实验预习

学习和理解决策树模型相关理论知识。

(二)实验原理

在SQL Server 2008 BI开发环境中,创建数据源、创建数据源视图、创建挖掘结构、处理和浏览挖掘模型。

(三)实验内容

1.在解决方案资源管理器中,右键单击“挖掘结构”并选择“新建挖掘结构”启动数据挖掘向导。

在“欢迎使用数据挖掘向导”页上,单击“下一步”。

25

在“选择定义方法”页上,确保已选中“从现有关系数据库或数据仓库”,

再单击“下一步”。在“创建数据挖掘结构”页的“你们要使用何种数据挖掘技术?”下,选择“Microsoft 决策树”。

2.单击“下一步”。在“选择数据源视图”页上的“可用数据源视图”窗格中,选择 Targeted

Mailing。可单击“浏览”查看数据源视图中的各表,然后单击“关闭”返回该向导。单击“下一步”。

26

在“指定表类型”页上,选中 vTargetMail 的“事例”列中的复选框以将其用作事例表,然后单击“下一步”。

稍后将使用 ProspectiveBuyer 表进行测试,不过现在可以忽略它。在“指定定型数据”页上,你们将为模型至少标识一个可预测列、一个键列以及一个输入列。选中 BikeBuyer 行中的“可预测”列中的复选框。

27

单击“建议”打开“提供相关列建议”对话框。

查看建议,然后单击“取消”忽略建议。

确认在 CustomerKey 行中已选中“键”列中的复选框。

28

选中以下行中“输入”列中的复选框。可通过下面的方法来同时选中多个列:突出显示一系列单元格,然后在按住 Ctrl 的同时选中一个复选框。

Age

CommuteDistance

EnglishEducation

EnglishOccupation

Gender

GeographyKey

HouseOwnerFlag

MaritalStatus

NumberCarsOwned

NumberChildrenAtHome

Region

TotalChildren

YearlyIncome

在该页的最左侧的列中,选中以下行中的复选框。

29

AddressLine1

AddressLine2

DateFirstPurchase

EmailAddress

FirstName

LastName

确保这些行仅选择了左侧列中的复选标记。这些列将添加到结构中,但不会包含在模型中。但是,模型生成后,它们将可用于钻取和测试。单击“下一步”。

在“指定列的内容和数据类型”页上,单击“检测”运行用来确定每列的默认数据类型和内容类型的算法。

查看“内容类型”和“数据类型”列中的各项;如有必要,请进行更改,以确保设置与下30

表所示一致。通常,向导会检测数值,并分配相应的数值数据类型;但有些情况下,你们可能想要将数值作为文本处理。例如,GeographyKey 应作为文本处理,因为对此标识符进行数学运算是不对的。

Address Line1

Address Line2

Age

Bike Buyer

Commute Distance

CustomerKey

DateLastPurchase

Email Address

English Education

English Occupation

FirstName

Gender

Geography Key

House Owner Flag

Last Name

Marital Status

Number Cars Owned

内容类型 数据类型

Discrete Text

Discrete Text

Continuous Long

Discrete Long

Discrete Text

Key Long

Continuous Date

Discrete Text

Discrete Text

Discrete Text

Discrete Text

Discrete Text

Discrete Text

Discrete Text

Discrete Text

Discrete Text

Discrete Long

Number Children At Home Discrete Long

Region

Total Children

Yearly Income

单击“下一步”。

在“创建测试集”页上,将“测试数据百分比”保留其默认值:30。对于“测试数据集中的最大事例数”,请键入 1000。单击“下一步”。

Discrete Text

Discrete Long

Continuous Double

31

在“完成向导”页上的“挖掘结构名称”中,键入Targeted Mailing。在“挖掘模型名称”中,键入TM_Decision_Tree。选中“允许钻取”复选框。单击“完成”。

单击“完成”, 新挖掘结构随即在“Targeted [设计]”选项卡中打开。

32

3.在 Business Intelligence Development Studio 的数据挖掘设计器中,单击“挖掘结构”选项卡或“挖掘模型”选项卡。Targeted Mailing MiningStructure 显示在“属性”窗格中。确保按 F4 可以打开“属性”窗格。确保 CacheMode 已设置为 KeepTrainingCases。

HoldoutSeed 设置为12。

4.在“挖掘模型”菜单上选择“处理挖掘结构和所有模型”。

如果更改了结构,系统将提示你们在处理模型之前生成和部署项目。单击“是”。

33

在“处理挖掘结构 - Targeted Mailing”对话框中单击“运行”。

“处理进度”对话框将打开以显示有关模型处理的详细信息。模型处理可能需要一些时间,具体取决于你们的计算机。

34

模型处理完成后,在“处理进度”对话框中单击“关闭”。在“处理挖掘结构”对话框中单击“关闭”。

5. 在“决策树”选项卡中浏览模型

在“数据挖掘设计器”中,选择“挖掘模型查看器”选项卡。

默认情况下,设计器将打开添加到结构中的第一个模型(在本例中为 TM_Decision_Tree)。使用放大镜按钮调整树的显示大小。

默认情况下,Microsoft 树查看器仅显示树的前三个级别。如果树级别不到三个,则查看器仅显示现有级别。可以使用“显示级别”滑块或“默认扩展”列表查看更多级别。

将“显示级别”滑到第四条。

将“背景”值更改为 1。

通过更改“背景”设置,可以迅速查看每个节点中 [Bike Buyer] 的目标值为 1 的事例的数量。请注意,在这种特定的情况下,每个事例均表示一个客户。值 1 指示该客户之前购买了自行车;值 0 指示该客户尚未购买自行车。节点的底纹颜色越深,节点中具有目标值的事例所占的百分比越大。

将光标放在标记为“全部”的节点上。将出现显示以下信息的工具提示:

事例总数

非自行车购买者事例的数量

自行车购买者事例的数量

缺少 [Bike Buyer] 值的事例的数量

或者,将光标放在树中的任何节点上,查看从上级节点到达该节点所需的条件。还可以35

在“挖掘图例”中查看同样的信息。

单击“Age >=34 且 < 41”的节点。直方图将显示为一个穿过该节点的窄水平条,并表示此年龄范围中以前买过自行车的客户(粉色)和没有买过自行车的客户(蓝色)的分布情况。查看器显示:没有汽车或者有一辆汽车、年龄在 34 到 40 的客户有可能购买自行车。再进一步考察发现,实际年龄在 38 到 40 的客户购买自行车的可能性会增加。

由于你们在创建结构和模型时启用了钻取,因此,可以从模型事例和挖掘结构中检索详细的信息,其中包括挖掘模型中所不包含的列(例如,emailAddress 和 FirstName)。

钻取到事例数据

右键单击某个节点,然后依次选择“钻取”和“仅限模型列”。

每个定型事例的详细信息将以电子表格方式显示。这些详细信息来自你们在生成挖掘结构时选作事例表的 vTargetMail 视图。

右键单击某个节点,然后依次选择“钻取”和“模型和结构列”。

将显示同一个电子表格,并在末尾处附加结构列。

“依赖关系网络”选项卡

“依赖关系网络”选项卡显示决定挖掘模型预测能力的各个属性之间的关系。依赖关系网络查看器进一步证实了我们的发现:年龄和地区是预测自行车购买行为的重要因素。

在“依赖关系网络”选项卡中浏览模型

单击 Bike Buyer 节点以确定它的依赖关系。

依赖关系网络的中间节点 (Bike Buyer) 表示挖掘模型中的可预测属性。粉色阴影指示所有属性都会对自行车购买行为产生影响。

调整“所有链接”滑块可确定影响最大的属性。

向下滑动滑块时,将只保留对 [Bike Buyer] 列影响最大的属性。通过调整滑块,可以发现年龄和地区是预测个人自行车购买行为的最主要因素。

(四)注意事项

1、确保 CacheMode 已设置为 KeepTrainingCases。 HoldoutSeed 设置为12。

六、实验步骤:

按照五、教学过程中(三)实验内容所示步骤,执行以下内容:

1.启动SQL Server 2008 BI。

2.新建 Analysis Services 项目,命名为AS Data Mining 2008。

3.在数据库AdventureWorksDW2008R2上新建数据源。

4.新建数据源视图ProspectiveBuyer(dbo)和vTargetMail(dbo)。

5.新建决策树挖掘结构TM_Decision_Tree,并处理和浏览该挖掘模型。

36

七、思考与练习

1、如何修改测试数据集中的最大事例数和种子的值?

八、实验报告要求:

参见数据挖掘实验报告模版

参考文献:

[1]

《数据挖掘概念与技术》 范明 等 机械工业出版社

[2] 《数据挖掘原理与应用--SQL Server 2008数据库》 董艳 等译 清华大学出版社

[3] 《数据仓库与数据挖掘技术》 张兴会 等 清华大学出版社

[4] 《WEB数据挖掘》 俞勇 等译 清华大学出版社

下次实验内容

下次实验中,将学习如何在SQL Server 2008 BI开发环境中,创建新的 Analysis Services

数据库,添加数据源和数据源视图,创建聚类与时间序列挖掘结构,处理聚类与时间序列挖掘模型,浏览聚类与时间序列挖掘模型。

37

实验项目教学实施方案

第 4 次课 第 9 周 星期 三 第 3、4 节 授课日期: 2012 年 4 月 18 日

计划学时: 2 实验项目(课题)名称:

实践聚类与时间序列挖掘方法

√ 5.其它□ 实验类型: 1.演示性□ 2.验证性□ 3.综合性□ 4.设计性□实验四 实践聚类与时间序列挖掘方法

一、实验目的

本实验中,将学习如何在SQL Server 2008 BI开发环境中,创建新的 Analysis Services

数据库,添加数据源和数据源视图,创建聚类与时间序列挖掘结构,处理聚类与时间序列挖掘模型,浏览聚类与时间序列挖掘模型。

二、实验要求

1、实验前:预习实验内容,学习相关知识。

2、实验中:按照实验内容要求进行实验,实验时注意挖掘算法参数的含义,做好实验记录。

3、实验后:分析实验结果,总结实验知识,得出结论,按格式写出实验报告。

4、在整个实验过程中,要独立思考、独立按时完成实验任务,不懂的要虚心向教师或同学请教。

5、要求按指定格式书写实验报告,且报告中应反映出对本次实验的总结,下次实验前交实验报告。

三、实验的重点与难点

1、重点:

(1)创建聚类与时间序列挖掘结构。

(2)处理聚类与时间序列挖掘模型。

(3)浏览聚类与时间序列挖掘模型。

2、难点:

设置聚类挖掘算法与时间序列挖掘算法输入变量和其类型。

调整聚类挖掘算法中的参数。

四、仪器设备及用具

硬件:投影仪、每位同学分配PC机一台。

软件:

Microsoft SQL Server 2008

38

Microsoft SQL Server Analysis Services

Adventure Works DW 2008R2示例数据库。

五、教学过程

(一)实验预习

学习和理解聚类与时间序列模型相关理论知识。

(二)实验原理

在SQL Server 2008 BI开发环境中,创建数据源、创建数据源视图、创建挖掘结构、处理和浏览挖掘模型。

(三)实验内容

1. 切换到 Business Intelligence Development Studio 中数据挖掘设计器的“挖掘模型”选项卡。右键单击“结构”列,选择“新建挖掘模型”。

在“新建挖掘模型”对话框中的“模型名称”中,键入TM_Clustering。在“算法名称”中,选择“Microsoft聚类分析”。单击“确定”。

39

新模型现在显示在数据挖掘设计器的“挖掘模型”选项卡中。此模型是用 Microsoft 聚类分析算法生成的,它将具有相似特征的客户进行分类并预测每个分类的自行车购买行为。

2.在 Business Intelligence Development Studio 的数据挖掘设计器中,单击“挖掘结构”选项卡或“挖掘模型”选项卡。Targeted Mailing MiningStructure 显示在“属性”窗格中。确保按 F4 可以打开“属性”窗格。确保 CacheMode 已设置为 KeepTrainingCases。

HoldoutSeed 设置为12。

3.在“挖掘模型”菜单上选择“处理挖掘结构和所有模型”。

40

如果更改了结构,系统将提示你们在处理模型之前生成和部署项目。单击“是”。

在“处理挖掘结构 - Targeted Mailing”对话框中单击“运行”。

“处理进度”对话框将打开以显示有关模型处理的详细信息。模型处理可能需要一些时间,具体取决于你们的计算机。

41

模型处理完成后,在“处理进度”对话框中单击“关闭”。在“处理挖掘结构”对话框中单击“关闭”。

4.

浏览聚类分析模型

Microsoft 聚类分析算法将事例分组为包含类似特征的分类。在浏览数据、标识数据中的异常及创建预测时,这些分组十分有用。

Microsoft 分类查看器提供了以下选项卡,用于浏览聚类分析挖掘模型:

分类关系图、分类剖面图、分类特征、分类对比

“分类关系图”选项卡

“分类关系图”选项卡显示挖掘模型中的所有分类。分类之间的线条表示“接近程度”,其明暗度取决于分类之间的相似程度。每个分类的实际颜色表示分类中变量和状态的出现频率。

在“分类关系图”选项卡中浏览模型

1. 使用“挖掘模型查看器”选项卡顶部的“挖掘模型”列表,可切换到 TM_Clustering 模型。

2. 在“查看器”列表中,选择“Microsoft 分类查看器”。

3. 在“明暗度变量”框中,选择 Bike Buyer。

默认变量是 Population,但可将其更改为模型中的任意属性,以发现其包含的成员具有所需属性的分类。

4. 在“状态”框中选择 1,可以浏览那些购买自行车的事例。

“密度”图例描述了在“明暗度变量”和“状态”中选定的属性状态对的密度。在此示例中,42

明暗度最深的分类就是自行车购买者百分比最高的分类。

5. 将鼠标悬停在明暗度最深的分类上。

工具提示将显示具有 Bike Buyer = 1 属性的事例所占的百分比。

6. 选择密度最高的分类,右键单击该分类,然后选择“重命名分类”并键入 Bike Buyers

High 以用作日后标识。单击“确定”。

7. 查找明暗度最浅(也就是密度最低)的分类。右键单击该分类,然后选择“重命名分类”并键入 Bike Buyers Low。单击“确定”。

8. 单击 Bike Buyers High 分类,并将其拖到窗格的适当区域,以便清楚地查看它与其他分类的连接。

选择某个分类时,将此分类连接到其他分类的线条将突出显示,以便你们方便地查看此分类的所有关系。如果该分类处于未选定状态,则可以通过线条的暗度来确定关系图中所有分类之间关系的紧密程度。如果明暗度较浅或无明暗度,则表示分类的相似程度较低。

9. 使用网络左侧的滑块,可筛选掉强度较低的链接,找出关系最接近的分类。Adventure

Works Cycles 市场部可能希望将相似的分类组合在一起,以便确定提供目标邮件的最佳方法。

“分类剖面图”选项卡

“分类剖面图”选项卡提供 TM_Clustering 模型的总体视图。“分类剖面图”选项卡对于模型中的每个分类都包含一列。第一列列出至少与一个分类关联的属性。查看器的其余部分包含每个分类的某个属性的状态分布。离散变量的分布以彩色条显示,最大条数在“直方图条”列表中显示。连续属性以菱形图显示,表示每个分类中的平均偏差和标准偏差。

在“分类剖面图”选项卡中浏览模型

1. 将“直方图”条数设置为5。在我们的模型中,任意一个变量的最大状态数均为5。

2. 如果“挖掘图例”妨碍了“属性配置文件”的显示,请移开图例。

3. 选择 Bike Buyers High 列,并将其拖到 Population 列的右侧。

4. 选择 Bike Buyers Low 列,并将其拖到 Bike Buyers High 列的右侧。

5. 单击 Bike Buyers High 列。

“变量”列按照其对该分类的重要性来进行排序。滚动浏览该列,查看 Bike Buyer High 分类的特征。例如,他们上下班路程较短的可能性较大。

6. 双击 Bike Buyers High 列中的 Age 单元格。

“挖掘图例”显示更详细的视图,你们可以看到这些客户的年龄范围,也可以看到他们的平均年龄。

7. 右键单击 Bike Buyers Low 列并选择“隐藏列”。

“分类特征”选项卡

使用“分类特征”选项卡,你们可以更加详细地检查组成分类的特征。你们可以一次浏览一个分类,而不是比较所有分类的特征(就像在“分类剖面图”选项卡中那样)。例如,如果从43

“分类”列表中选择 Bike Buyers High,则可以看到此分类中的客户的特征。尽管显示方式与分类剖面图查看器不同,但查找结果却是相同的。

“分类对比”选项卡

使用“分类对比”选项卡,可以浏览区分分类的特征。当你们从“分类 1”和“分类 2”列表中各选择一个分类后,查看器会计算这两个分类之间的区别,并显示各分类最独特的属性的列表。

在“分类对比”选项卡中浏览模型

1. 在“分类 1”框中,选择 Bike Buyers High。

2. 在“分类 2”框中,选择 Bike Buyers Low。

3. 单击“变量”按字母顺序排序。

Bike Buyers Low 和 Bike Buyers High 分类中的客户之间的其他一些显著差异包括年龄、汽车拥有情况、子女数量和所在地区。

(四)注意事项

除非设置了 holdoutseed 的初始值,否则在你们每次处理模型时,结果都会有所不同。

六、实验步骤:

按照五、教学过程中(三)实验内容所示步骤,执行以下内容:

1.启动SQL Server 2008 BI。

2.新建 Analysis Services 项目,命名为AS Data Mining 2008。

3.在数据库AdventureWorksDW2008R2上新建数据源。

4.新建数据源视图ProspectiveBuyer(dbo)和vTargetMail(dbo)。

5.新建聚类挖掘结构TM_Clustering,并处理和浏览该挖掘模型。

七、思考与练习

1、HoldoutSeed的值可以设置为其它值吗?

八、实验报告要求:

参见数据挖掘实验报告模版

参考文献:

[1]

《数据挖掘概念与技术》 范明 等 机械工业出版社

[2] 《数据挖掘原理与应用--SQL Server 2008数据库》 董艳 等译 清华大学出版社

[3] 《数据仓库与数据挖掘技术》 张兴会 等 清华大学出版社

[4] 《WEB数据挖掘》 俞勇 等译 清华大学出版社

44

下次实验内容

下次实验中,将学习如何在SQL Server 2008 BI开发环境中,创建新的 Analysis Services

数据库,添加数据源和数据源视图,创建贝叶斯挖掘结构,处理贝叶斯挖掘模型,浏览贝叶斯挖掘模型。

45

实验项目教学实施方案

第 5 次课 第 10 周 星期 三 第3、4 节 授课日期: 2012 年 4 月 25 日

计划学时: 2 实验项目(课题)名称:

实践贝叶斯分类方法

√ 4.设计性□ 5.其它□ 实验类型: 1.演示性□ 2.验证性□ 3.综合性□实验五 实践贝叶斯分类方法

一、实验目的

本实验中,将学习如何在SQL Server 2008 BI开发环境中,创建新的 Analysis Services

数据库,添加数据源和数据源视图,创建贝叶斯挖掘结构,处理贝叶斯挖掘模型,浏览贝叶斯挖掘模型。

二、实验要求

1、实验前:预习实验内容,学习相关知识。

2、实验中:按照实验内容要求进行实验,实验时注意挖掘算法参数的含义,做好实验记录。

3、实验后:分析实验结果,总结实验知识,得出结论,按格式写出实验报告。

4、在整个实验过程中,要独立思考、独立按时完成实验任务,不懂的要虚心向教师或同学请教。

5、要求按指定格式书写实验报告,且报告中应反映出对本次实验的总结,下次实验前交实验报告。

三、实验的重点与难点

1、重点:

(1)创建贝叶斯挖掘结构。

(2)处理贝叶斯挖掘模型。

(3)浏览贝叶斯挖掘模型。

2、难点:

创建贝叶斯挖掘结构。

四、仪器设备及用具

硬件:投影仪、每位同学分配PC机一台。

软件:

Microsoft SQL Server 2008

Microsoft SQL Server Analysis Services

46

Adventure Works DW 2008R2示例数据库。

五、教学过程

(一)实验预习

学习和理解贝叶斯模型相关理论知识。

(二)实验原理

在SQL Server 2008 BI开发环境中,创建数据源、创建数据源视图、创建挖掘结构、处理和浏览挖掘模型。

(三)实验内容

1. 切换到 Business Intelligence Development Studio 中数据挖掘设计器的“挖掘模型”选项卡。右键单击“结构”列,选择“新建挖掘模型”。

2.在数据挖掘设计器的“挖掘模型”选项卡中,右键单击“结构”列,并选择“新建挖掘模型”。在“新建挖掘模型”对话框中的“模型名称”下,键入TM_NaiveBayes。在“算法名称”中,选择Microsoft Naive Bayes,再单击“确定”。

此时将显示一条消息,说明Microsoft Naive Bayes算法不支持 Age 和 Yearly Income 列,这些都是连续列。单击“是”,以确认此消息并继续下面的操作。

3.浏览 Naive Bayes 模型

47

2023年6月21日发(作者:)

教学实施方案

(2011~ 2012学年 春季 学期)

学 院: 计算机科学与技术学院

部 门: 专 业 实 验 中 心

姓 名: 吴 思 远

课程名称:《数据挖掘》实验 重庆邮电大学教学实施方案

【首页】

课程名称

课程编号

《数据挖掘》实验

040752

年级 2009级

智能科学与授课专业 0450901

技术

班级 0450902

必修课 公共基础课( );专业基础课( );专业课(√)

课程类型

选修课 限选课( );任选课( )

授课方式 课堂讲授( );实验课(√) 考核方式 考试();考查(√)

课程教学

总学时数

14 学 分 数 1

学时分配 实验课 14学时

理论教材:

《数据挖掘概念与技术》

教材名称

实验教材:

《数据挖掘实验》讲义

机械工业范明等 出版社出版社及

2007年3月出版时间

第2版

吴思远

计算机科学与技术学院

授课教师 吴思远 讲师 单 位

授课学期 2011~2012 学年 春季 学期

注:表中( )选项请打“√”,本页只在每门课程教案前填写一份。实验项目教学实施方案

第 1 次课 第 6 周 星期 三 第 3、4节 授课日期: 2012 年 3 月 28 日

计划学时: 2 实验项目(课题)名称:

SQL Server 2005 数据多维分析环境

√ 3.综合性□ 4.设计性□ 5.其它□ 实验类型: 1.演示性□ 2.验证性□实验一:SQL Server 2005 数据多维分析环境

一、实验目的:

在本课程中,将学习如何在SQL Server 2008 BI开发环境中,创建新的 Analysis Services

数据库,添加数据源和数据源视图,以及准备将用于数据挖掘的新数据库。将学习如何创建可用作目标邮寄方案一部分的挖掘模型结构。将学习如何向结构中添加模型。

二、实验要求:

1、实验前:预习实验内容,学习相关知识。

2、实验中:按照实验内容要求进行实验,做好实验记录。

3、实验后:分析实验结果,总结实验知识,得出结论,按格式写出实验报告。

4、在整个实验过程中,要独立思考、独立按时完成实验任务,不懂的要虚心向教师或同学请教。

5、要求按指定格式书写实验报告,且报告中应反映出对本次实验的总结,下次实验前交实验报告。

三、实验的重点与难点:

1、重点:

(1)启动SQL Server 2008 BI的开发环境。

(2)创建一个Analysis Services项目,定义一个单个数据源,并向数据源视图添加一个表子集。

(3)使用“数据挖掘向导”来创建Targeted Mailing挖掘结构,在此挖掘结构中,创建一个具有决策树算法的挖掘模型。

2、难点:

(1)决策树模型的指定数据类型和内容类型,为结构指定测试数据集。

四、仪器设备及用具:

硬件:投影仪、每位同学分配PC机一台。

软件:

1

Microsoft SQL Server 2008

Microsoft SQL Server Analysis Services

Adventure Works DW 2008R2示例数据库。

五、教学过程:

(一)实验预习

每位同学熟悉和了解SQL Server 2008 BI开发环境。

(二)实验原理

在SQL Server 2008 BI开发环境中,创建数据源、创建数据源视图。

(三)实验内容

1.打开程序->Microsoft SQL Server 2008->SQL Server Business Intelligence Development

Studio,启动SQL Server 2008 BI的开发环境。

2.在“文件”菜单上,指向“新建”,然后选择“项目”。选中“项目类型”窗格中的“商业智能项目”。选中“模板”窗格中的“Analysis Services 项目”。在“名称”框中,将新项目命名为 AS Data Mining 2008。单击“确定”。

3. 在Business Intelligence Development Studio中,选择“项目”菜单中的“属性”。在“属性页”窗格左侧的“配置属性”下,单击“部署”。在“属性页”窗格右侧的“目标”下,确保“服务器”名称为localhost。如果使用的是其他实例,请键入该实例的名称。单击“确定”。

2

4. 在“解决方案资源管理器”中,右键单击“数据源”文件夹,然后选择“新建数据源”。

在“欢迎使用数据源向导”页面中,单击“下一步”按钮。

在“选择如何定义连接”页上,单击“新建”向 Adventure Works DW 2008 R2 数据库中3

添加连接。

在连接管理器中的“访问接口”列表中,选择“本机 OLE DBSQL Server Native Client

10.0”。

在“服务器名称”框中,键入或选择安装了AdventureWorksDW2008R2的服务器的名称。例如,如果是在本地服务器上承载该数据库,请键入localhost。如果使用的是其他实例,请键入该实例的名称。在“登录到服务器”组中,选择“使用 Windows 身份验证”。

连接到一个数据库时,选择AdventureWorksDW2008R2数据库,然后单击“确定”。 单击4

“下一步”。这是一个虚构公司 Adventure Works Cycles所有的示例。

5.在“模拟信息”页中,单击“使用服务帐户”,再单击“下一步”。在“完成向导”页中,请注意数据源名称默认为Adventure Works DW2008R2。单击“完成”。此时,解决方案资源管理器的“数据源”文件夹中将出现刚创建的新数据源Adventure Works DW2008R2。

6.在解决方案资源管理器中,右键单击“数据源视图”并选择“新建数据源视图”。

在“欢迎使用数据源视图向导”页中,单击“下一步”。

5

在“选择数据源”页的“关系数据源”下方,选择在上一个任务中创建的 Adventure Works

DW2008R2 数据源。单击“下一步”。

7.在“选择表和视图”页上,选择下列对象,然后单击右箭头键,将它们包括在新数据源视图中:ProspectiveBuyer (dbo) - 预期自行车购买者的表

vTargetMail (dbo) - 有关以前的自行车购买者的历史数据的视图

6

单击“下一步”。在“完成向导”页上,系统默认将数据源视图命名为Adventure Works

DW2008R2。将该名称更改为Targeted Mailing,然后单击“完成”。新数据源视图随即在“Targeted [设计]”选项卡中打开。

(四)注意事项

1、vTargetMail 的“事例”列中的复选框以将其用作事例表。

2、CacheMode 设置为 KeepTrainingCases。HoldoutSeed 设置为12。

六、实验步骤:

按照五、教学过程中(三)实验内容所示步骤,执行以下内容:

1.启动SQL Server 2008 BI。

7

2.新建 Analysis Services 项目,命名为AS Data Mining 2008。

3.在数据库AdventureWorksDW2008R2上新建数据源。

4.新建数据源视图ProspectiveBuyer(dbo)和vTargetMail(dbo)。

七、思考与练习:

1、在配置数据库连接“模拟信息”页中,除了使用服务帐户外,怎么配置才能使用凭据进行连接?

八、实验报告要求:

参见数据挖掘实验报告模版

参考文献:

[1]

《数据挖掘概念与技术》 范明 等 机械工业出版社

[2] 《数据挖掘原理与应用--SQL Server 2008数据库》 董艳 等译 清华大学出版社

[3] 《数据仓库与数据挖掘技术》 张兴会 等 清华大学出版社

[4] 《WEB数据挖掘》 俞勇 等译 清华大学出版社

下次实验内容:

在下次实验中,将学习如何在SQL Server 2008 BI开发环境中,创建新的 Analysis Services

数据库,添加数据源和数据源视图,创建关联挖掘结构,处理关联挖掘模型,浏览市场篮关联挖掘模型。

8

实验项目教学实施方案

第 2 次课 第 7 周 星期 五 第 5、6 节 授课日期: 2012 年 4 月 4 日

计划学时: 2 实验项目(课题)名称:

实践关联规则挖掘方法

√ 5.其它□ 实验类型: 1.演示性□ 2.验证性□ 3.综合性□ 4.设计性□实验二 实践关联规则挖掘方法

一、实验目的

在本实验中,将学习如何在SQL Server 2008 BI开发环境中,创建新的 Analysis Services

数据库,添加数据源和数据源视图,创建关联挖掘结构,处理关联挖掘模型,浏览市场篮关联挖掘模型。

二、实验要求

1、实验前:预习实验内容,学习相关知识。

2、实验中:按照实验内容要求进行实验,实验时注意挖掘算法参数含义,做好实验记录。

3、实验后:分析实验结果,总结实验知识,得出结论,按格式写出实验报告。

4、在整个实验过程中,要独立思考、独立按时完成实验任务,不懂的要虚心向教师或同学请教。

5、要求按指定格式书写实验报告,且报告中应反映出本对次实验的总结,下次实验前交实验报告。

三、实验的重点与难点

1、重点:

(1)要确保将 OrderNumber 列从 vAssocSeqLineItems 嵌套表拖到 vAssocSeqOrders 事例表,前者代表联接的多方,后者代表联接的一方

(2)如果遇到vAssocSeqLineItems 不能用作嵌套表的错误,请返回本实验中的添加数据源视图,并确保通过从 vAssocSeqLineItems 表(多端)拖到 vAssocSeqOrders 表(一端)来创建多对一联接。还可以通过右键单击联接线来编辑这两个表之间的关系。

(3)Analysis Services 提供的用来测试模型准确性的方法(如提升图和交叉验证报告)旨在进行分类和估计。关联预测不支持这些方法。

2、难点:

关联模型算法模型中参数的调整。

预测SQL中的DMX语句。

更改预测查询的条件。

9

四、仪器设备及用具

硬件:投影仪、每位同学分配PC机一台。

软件:

Microsoft SQL Server 2008

Microsoft SQL Server Analysis Services

Adventure Works DW 2008R2示例数据库。

五、教学过程

(一)实验预习

学习和理解关联规则模型相关理论知识。

(二)实验原理

在SQL Server 2008 BI开发环境中,创建数据源、创建数据源视图、创建挖掘结构、处理和浏览挖掘模型。

(三)实验内容

添加数据源视图

1. 在解决方案资源管理器中,右键单击“数据源视图”,然后选择“新建数据源视图”。

系统将打开数据源视图向导。

2. 在“欢迎使用数据源视图向导”页中,单击“下一步”。

3. 在“选择数据源”页的“关系数据源”下方,选择你们在数据挖掘基础教程中创建的

Adventure Works DW2008R2 数据源。单击“下一步”。

4. 在“选择表和视图”页上,选择下列各表,然后单击右箭头将这些表包括在新数据源视图中:

vAssocSeqOrders

vAssocSeqLineItems

5. 单击“下一步”。

6. 在“完成向导”页上,系统默认将数据源视图命名为 Adventure Works DW2008R2。将此名称更改为Orders,然后单击“完成”。

数据源视图设计器随即打开,并且Orders数据源视图将出现。

创建表之间的关系

1. 在数据源视图设计器中,定位 vAssocSeqLineItems 表和 vAssocSeqOrders 表,使其水平对齐,并且 vAssocSeqLineItems 表在左,vAssocSeqOrders 表在右。

2. 选择 vAssocSeqLineItems 表中的 OrderNumber 列。

10

3. 将该列拖到 vAssocSeqOrders 表中,并将其放到 OrderNumber 列上。

4. vAssocSeqLineItems 表和 vAssocSeqOrders 表之间现在存在一种新的“多对一关系”。如果你们已正确联接表,则数据源视图应如下所示:

5.

创建市场篮结构和模型

现在你们已经创建了一个数据源视图,你们将使用数据挖掘向导创建一个新的挖掘结构。在本任务中,你们将创建基于 Microsoft 关联算法的挖掘结构和挖掘模型。

创建关联挖掘结构

1. 在 Business Intelligence Development Studio 的解决方案资源管理器中,右键单击“挖掘结构”,再选择“新建挖掘结构”以打开数据挖掘向导。

2. 在“欢迎使用数据挖掘向导”页上,单击“下一步”。

3. 在“选择定义方法”页上,确保已选中“从现有关系数据库或数据仓库”,再单击“下一步”。

4. 在“创建数据挖掘结构”页的“你们要使用何种数据挖掘技术?”下,选中列表中的“Microsoft 关联规则”,再单击“下一步”。“选择数据源视图”页随即显示。

5. 在“可用数据源视图”下选择 Orders,再单击“下一步”。

6. 在“指定表类型”页上,在 vAssocSeqLineItems 表的对应行中选中“嵌套”复选框,在 vAssocSeqOrders 表的对应行中选中“事例”复选框。单击“下一步”。

7. 在“指定定型数据”页中,清除任何可能处于选中状态的复选框。通过选中 OrderNumber

旁边的“键”复选框,为事例表 vAssocSeqOrders 设置键。

由于市场篮分析的目的在于确定单个交易中包括哪些产品,因此你们不必使用 CustomerKey 字段,

8. 通过选中 Model 旁边的“键”复选框,为嵌套表 vAssocSeqLineItems 设置键。当你们这样做之后,会自动选中“输入”复选框。对于“模型”也选中“可预测”复选框。

在市场篮模型中,你们不关心产品在购物篮中的顺序,因此,你们不应当将 LineNumber 用作嵌套表的键,仅在顺序非常重要的模型中才将 LineNumber 用作键。选中 IncomeGroup 和

Region 左侧的复选框,但是不进行任何其他选择。这些列将添加到结构中以供日后参考,但是将不会用在模型中。你们选择的内容应如下所示:

11

9. 单击“下一步”。

10.在“指定列的内容和数据类型”页上,查看你们选择的内容(应如下表所示),再单击“下一步”。

IncomeGroup

Order Number

Region

vAssocSeqLineItems

Model

内容类型

Discrete

Key

Discrete

Key

数据类型

Text

Text

Text

Text

11.在“创建测试集”页上,“测试数据百分比”选项的默认值为 30%。请将该选项更改为

0。单击“下一步”。

12.在“完成向导”页的“挖掘结构名称”中,键入Association。

13.在“挖掘模型名称”中,键入Association。

14.选择“允许钻取”选项,然后单击“完成”。

12

系统将打开数据挖掘设计器,显示刚刚创建的 Association 挖掘结构。

修改和处理市场篮模型

在处理创建的Association 挖掘模型之前,必须更改以下两个参数的默认值:Support 和

Probability。

Support 定义规则被视为有效前必须存在的事例百分比。你们将指定规则必须至少是在百分之一的事例中发现的。

Probability 定义关联被视为有效前必须存在的可能性。你们将认为任何关联都必须具有至少百分之十的可能性。

定义 Association 挖掘模型的结构和参数后,你们将处理该模型。

调整 Association 模型的参数

1. 打开数据挖掘设计器的“挖掘模型”选项卡。

2. 右键单击设计器的网格中的“关联”列,然后选择“设置算法参数以打开算法参数”对话框。

3. 在“算法参数”对话框的“值”列中,设置以下参数:

MINIMUM_PROBABILITY = 0.1

MINIMUM_SUPPORT = 0.01

4. 单击“确定”。

处理挖掘模型

1. 在 Business Intelligence Development Studio 的“挖掘模型”菜单上,选择“处理挖掘结构和所有模型”。

2. 看到询问你们是否要生成和部署项目的警告时,请单击“是”。

“处理挖掘结构 - Association”对话框随即打开。

3. 单击“运行”。

浏览市场篮模型

因为已经建立了“关联”模型,你们可以使用数据挖掘设计器的“挖掘模型查看器”选项卡中的 Microsoft 关联查看器浏览该模型。本教程指导你们使用查看器来浏览各项之间的关系。查看器可以帮助你们快速查看哪些产品通常会一起出现,并且大致了解出现的模式。

Microsoft 关联查看器包含三个选项卡:“规则”、“项集”和“依赖关系网络”。由于每个选项卡显示的数据视图略有差异,因此在浏览某个模型时,你们通常会在不同窗格之间多次来回切换,以便深入了解数据。

“依赖关系网络”选项卡

“项集”选项卡

“规则”选项卡

“一般内容”视图

在此实验中,你们将从“依赖关系网络”选项卡开始学习,然后使用“规则”和“项集”13

选项卡来对查看器中显示的关系进行深入了解。你们还将使用 Microsoft 一般内容树查看器来检索各个规则或项集的详细统计信息。

“依赖关系网络”选项卡

使用“依赖关系网络”选项卡,可以研究模型中不同项的交互。查看器中的每个节点代表一个项,而节点之间的线条则代表规则。通过选择节点,可以查看哪些其他节点预测选定项,还可以查看当前项预测哪些项。在某些情况下,项之间存在双向关联,这意味着它们可以出现在同一事务中。你们可以参考选项卡底部的颜色图例来确定关联的方向。

连接两个项的线条意味着这些项很可能共同出现在同一事务中。也就是说,客户很可能一起购买这些物品。滑块与规则的概率关联。上下移动滑块可以筛选出弱关联,弱关联意味着这些规则的概率很低。

依赖关系网络图显示了成对规则,这些规则在逻辑上可以用 A->B 表示,意思是如果购买了产品 A,就很可能购买产品 B。该图不能显示类型 AB->C 的规则。如果你们移动滑块来显示所有规则,但仍未在图中看到任何线条,则意味着没有成对规则满足算法参数的条件。

还可以通过键入属性名称的前几个字母,按名称查找节点。

在 Microsoft 关联规则查看器中打开关联模式

1. 在解决方案资源管理器中,双击关联结构。

2. 在数据挖掘设计器中,单击“挖掘模型查看器”选项卡。

3. 从“挖掘模型”下拉列表中的挖掘模型列表中选择关联。

导航依赖关系图和查找特定节点

1. 在“挖掘模型查看器”选项卡中,单击“依赖关系网络”选项卡。

2. 单击“放大”数次,直至你们可以轻松地查看每个节点的标签。

默认情况下,该图会以所有节点都可见这种形式显示。复杂模型中可能有很多节点,使得每个节点都显得很小。

3. 单击查看器右下角的 + 符号,并按住鼠标按钮在该图上平移。

4. 在查看器的左侧,向下拖动滑块,将其从“所有链接”(默认值)移至滑块控件的底部。

5. 查看器更新该图,只显示最强的关联,也就是 Touring Tire 和 Touring Tire Tube 项之间的关联。

6. 单击标记为 Touring Tire Tube = Existing 的节点。

该图进行更新,只突出显示与此项紧密相关的项。请注意两个项之间箭头的方向。

7. 在查看器的左侧,重新向上拖动滑块,将其从底部移至大约中间位置。

请注意连接两个项的箭头的变化。

8. 从“依赖关系网络”窗格顶部的下拉列表中选择“仅显示属性名称”。

图中的文本标签会更新为仅显示模型名称。

“项集”选项卡

接下来,你们将更加详细地了解 Touring Tire 和 Touring Tire Tube 产品的模型所生成14

的规则和项集。“项集”选项卡显示三种重要信息,这些信息与 Microsoft 关联算法发现的项集相关:

支持:其中出现项集的事务数。

大小:项集中的项数。

项:每个项集中包含的项的列表。

根据算法参数的设置方式,算法可能生成多个项集。查看器中返回的每个项集都代表销售该项的事务。使用“项集”选项卡上方的控件,可以筛选查看器以仅显示包含指定的最小支持度和项集大小的项集。

如果你们使用不同的挖掘模型,并且没有列出项集,则原因在于没有项集满足算法参数的条件。在这种情况下,可以更改算法参数,以允许具有较低支持的项集。

按名称筛选在查看器中显示的项集

1. 单击查看器的“项集”选项卡。

2. 在“筛选项集”框中,键入 Touring Tire,然后在框外部单击。

筛选器返回所有包含此字符串的项。

3. 在“显示”列表中,选择“仅显示属性名称”。

4. 选中“显示长名称”复选框。

项集列表会更新为仅显示包含字符串“Touring Tire”的项集。项集的长名称包括了表的名称,表名称包含每个项的属性和值。

5. 清除“显示长名称”复选框。

项集的列表会更新为仅显示短名称。

“支持”列中的值指示每个项集的事务的数量。项集的事务表示该购买包括项集中的所有项。

默认情况下,查看器按支持的降序列出项集。可以单击列标题,按不同列(例如项集大小或名称)进行排序。如果你们有兴趣了解关于包括在项集中的各个事务的更多信息,可以从项集钻取到各个事例。钻取结果中的结构列是客户的收入水平和客户 ID,这些信息未在模型中使用。

查看项集的详细信息

1. 在项集的列表中,单击“项集”列标题按名称进行排序。

2. 查找 Touring Tire 项(没有第二项)。

3. 右键单击 Touring Tire,选择“钻取”,然后选择“模型和结构列”。

“钻取”对话框显示用作此项集的支持的各个事务。

4. 展开嵌套表 vAssocSeqLineItems 可以查看事务中的实际购买列表。

按支持或大小筛选项集

1. 清除“筛选项集”框中可能包含的任何文本。不能将文本筛选器和数值筛选器一起使用。

2. 在“最低支持”框中键入 100,然后单击查看器的背景。

15

项集的列表会更新为仅显示支持最低达到 100 的项集。

“规则”选项卡

“规则”选项卡显示与算法发现的规则相关的以下信息。

概率:规则的“可能性”,定义为在给定左侧项的情况下右侧项的概率。

重要性:用于度量规则的有用性。值越大则意味着规则越有用。

重要性用于度量规则的有用性,因为只使用概率可能会发生误导。例如,如果每个事务都包含一个水壶(也许水壶是作为促销活动的一部分自动添加到每位客户的购物车中),该模型会创建一条规则,预测水壶的概率为 1。仅依据概率来看,此规则非常准确,但它并未提供有用的信息。

规则:规则的定义。对于市场篮模型,规则描述特定的项组合。

每条规则都可以根据事务中其他项的发生情况来预测某个项的发生情况。与使用“项集”选项卡类似,你们可以筛选规则,以便仅显示最关心的规则。如果你们使用的挖掘模型没有任何规则,你们可能希望更改算法参数,以降低规则的概率阈值。

仅查看包括 Mountain-200 自行车的规则

1. 在“挖掘模型查看器”选项卡中,单击“规则”选项卡。

2. 在“筛选规则”框中,输入 Mountain-200。

清除“显示长名称”复选框。

3. 从“显示”列表中,选择“仅显示属性名称”。

查看器将仅显示包含 Mountain-200 字样的规则。通过规则的概率,你们可以知道:如果一个人购买了 Mountain-200 自行车,则此人购买其他所列产品的可能性有多大。

这些规则按照概率降序排序,但你们可以单击栏标题来更改排序顺序。如果你们有兴趣查找关于某个特定规则的更多详细信息,可以使用钻取功能来查看支持事例。

查看支持特定规则的事例

1. 在“规则”选项卡中,右键单击要查看的规则。

2. 选择“钻取”,然后选择“仅限模型列”或“模型和结构列”。

“钻取”对话框在窗格顶部提供该规则的摘要,以及用作该规则的支持数据的所有事例的列表。

一般内容树查看器

此查看器可用于所有模型,无论算法和模型类型为何均为如此。“Microsoft 一般内容树查看器”可以从“查看器”下拉列表中找到。

内容树是挖掘模型的表示形式,由一系列节点组成,其中每个节点都表示与数据的某一子集相关的已发现的知识。节点可以包含一种模式、一组规则、一个群集或共享某些特性的日期范围的定义。根据算法和可预测属性的类型的不同,节点的具体内容也会不同,但内容的通用表示形式是相同的。你们可以展开每个节点以查看详细信息的递增级别,并可以将任何节点的内容复制到剪贴板。

使用内容查看器查看关于规则的详细信息

16

1. 在“挖掘模型查看器”选项卡中,从“查看器”列表中选择“Microsoft 一般内容树查看器”。

2. 在“节点标题”窗格中,滚动到列表的底部,然后单击最后一个节点。

查看器首先显示项集,接下来显示规则,但不对它们进行分组。查找特定节点的最简单方法是创建内容查询。

3. 在“节点详细信息”窗格中,查看 NODE_TYPE 和 NODE_DESCRIPTION 的值。

节点类型 8 是规则,节点类型 7 是项集。对于规则来说,NODE_DESCRIPTION 的值指示了构成规则的条件。对于项集来说,NODE_DESCRIPTION 的值指示了包括在项集中的项。

筛选挖掘模型中的嵌套表

创建并浏览模型后,你们决定将精力集中在客户数据的某个子集上。例如,你们可能希望仅分析包含特定项的购物篮,或者可能希望仅分析在某个时间段内没有购买任何物品的客户的人口统计信息。

SQL Server 2008 Analysis Services 提供了筛选挖掘模型中所使用数据的功能,因此,你们不必再为了使用不同数据而创建新的数据源视图了。在数据挖掘基础教程中,你们学习了如何通过对事例表应用条件来筛选平面表中的数据。在此任务中,你们将创建一个应用于嵌套表的筛选器。

以下内容为本实验选作部分,完成后有加分奖励。

针对嵌套表和针对事例表的筛选器

如果你们的数据源视图包含一个事例表和一个嵌套表,如 Association 模型中使用的数据源视图,则可以筛选事例表中的值、筛选嵌套表中是否存在某个值,或者这两者的组合。

在本实验中,你们将首先制作 Association 模型的副本,然后将 IncomeGroup 和 Region

属性添加到新的相关模型中,以便你们能够筛选事例表中的这些属性。

创建和修改 Association 模型的副本

1. 在 Business Intelligence Development Studio 的“挖掘模型”选项卡中,右键单击

Association 模型并选择“新建挖掘模型”。

2. 对于“模型名称”,键入 Association Filtered。对于“算法名称”,选择“Microsoft

关联规则”。单击“确定”。

3. 在针对 Association Filtered 模型的列中,单击 IncomeGroup 行并将值从“忽略”更改为“输入”。

接下来,将在新的关联模型中创建一个针对事例表的筛选器。仅当客户在目标区域中时或者仅当客户达到目标收入水平时,该筛选器才传递给模型。然后,将添加第二个筛选条件集,以指定模型仅使用其购物篮已至少包含一项的客户。

将筛选器添加到挖掘模型中

1. 在“挖掘模型”选项卡中,右键单击模型 Association Filtered,然后选择“设置模型筛选器”。

17

2. 在“模型筛选器”对话框的“挖掘结构列”文本框中,单击网格中的第一行。

3. 在“挖掘结构列”文本框中,选择 IncomeGroup。

该文本框左侧的图标会发生改变,以指示所选项是列。

4. 单击“运算符”文本框,然后从列表中选择 = 运算符。

5. 单击“值”文本框,然后在该框中键入 High。

6. 单击网格中的下一行。

7. 单击网格下一行中的 AND/OR 文本框,然后选择 OR。

8. 在“挖掘结构列”文本框中,选择 IncomeGroup。在“值”文本框中,键入 Moderate。

你们创建的筛选条件将自动添加到“表达式”文本框中,且应该如下所示:

[IncomeGroup] = 'High' OR [IncomeGroup] = 'Moderate'

9. 单击网格中的下一行,将运算符保留为默认值 AND。

10.对于“运算符”,保留默认值 Contains。单击“值”文本框。

11.在“筛选器”对话框中,在“挖掘结构列”下方的第一行中选择 Model。

12.对于“运算符”,选择 IS NOT NULL。将“值”文本框保留为空。单击“确定”。

“模型筛选器”对话框的“表达式”文本框中的筛选条件会自动更新,以对嵌套表包含新条件。完成的表达式如下所示:

[IncomeGroup] = 'High' OR [IncomeGroup] = 'Moderate' AND EXISTS (SELECT * FROM

[vAssocSeqLineItems] WHERE [Model] <> NULL)

13.单击“确定”。

启用钻取并处理筛选后的模型

1. 在“挖掘模型”选项卡中,右键单击 Association Filtered 模型并选择“属性”。

2. 将 AllowDrillThrough 属性更改为 True。

3. 右键单击 Association Filtered 挖掘模型并选择“处理模型”。

4. 在出现的错误消息中单击“是”,以将新模型部署到 Analysis Services 数据库中。

5. 在“处理挖掘结构”对话框中,单击“运行”。

6. 处理完成后,单击“关闭”退出“处理进度”对话框,然后再次单击“关闭”退出“处理挖掘结构”对话框。

你们可以通过下面的方法进行验证:使用 Microsoft 一般内容树查看器并查看

NODE_SUPPORT 的值,查看筛选模型所包含事例的数目是否小于原始模型中事例的数目。

预测关联

处理了模型之后,你们可以使用模型中存储的有关关联的信息来创建预测。在本课程的最后一个任务中,你们将了解如何针对所创建的关联模型生成预测查询。本课程假定你们已经熟悉了如何使用预测查询生成器,同时希望了解如何生成针对关联模型的预测查询。

创建单独预测查询

关联预测可用于多种用途,例如向客户推荐商品,或者找出产品之间的关系。若要生成预18

测查询,请先选择要使用的关联模型,然后指定输入数据。输入可以来自外部数据源(例如值列表),也可以生成单独查询并随时提供值。

对此方案,你们首先需要创建一些单独预测查询,以了解预测是如何运行的。然后你们将创建一个批预测的查询,以便根据客户当前的购买情况提出建议。

针对关联模型创建预测查询

1. 在数据挖掘设计器中,单击“挖掘模型预测”选项卡。

2. 在“挖掘模型”窗格中单击“选择模型”。(如果已选择正确的模型,则可跳过此步骤和下一步骤。)

3. 在“选择挖掘模型”对话框中,展开表示挖掘结构 Association 的节点,选择模型

Association。单击“确定”。

现在,可以忽略“输入”窗格。

4. 在网格中,单击“源”下的空单元,选择“预测函数”。在“字段”下的单元中选择

PredictAssociation。

你们也可以使用 Predict 函数预测关联。使用该函数时,请确保选择采用表列作为参数的

Predict 函数的版本。

5. 在“挖掘模型”窗格中选择嵌套表 vAssocSeqLineItems,将其拖到网格中

PredictAssociation 函数的“条件/参数”框。

通过拖放表和列名称可以生成没有语法错误的复杂语句。但是这样就替换了当前单元的内容,其中包括 PredictAssociation 函数的其他可选参数。为了查看其他参数,可以将函数的另一个实例临时添加到网格供参考。

6. 单击“条件/参数”框,在表名称后键入以下文本:,3

“条件/参数”框中的完整文本应该如下所示:

[Association].[v Assoc Seq Line Items],3

7. 单击预测查询生成器上角的“结果”按钮。

预期结果包含一列,标题为“表达式”。“表达式”列包含的嵌套表包含一个单独的列以及以下三行。由于未指定输入值,因此这些预测表示整个模型最可能的产品关联。

型号

Women's Mountain Shorts

Water Bottle

Touring-3000

接下来,你们将使用“单独查询输入”窗格来指定一个产品作为查询输入,并查看最可能与该产品关联的产品。

创建带有嵌套表输入的单独预测查询

19

1. 单击预测查询生成器角上的“设计”按钮,切换回查询生成网格。

2. 在“挖掘模型”菜单中选择“单独查询”。

3. 在“挖掘模型”对话框中选择 Association 模型。

4. 在网格中,单击“源”下的空单元,选择“预测函数”。在“字段”下的单元中选择

PredictAssociation。

5. 在“挖掘模型”窗格中选择嵌套表 vAssocSeqLineItems,将其拖到网格中

PredictAssociation 函数的“条件/参数”框。与前一过程相同,在嵌套表名称后键入 ,3。

6. 在“单独查询输入”对话框中单击 vAssoc Seq Line Items 旁边的“值”框,再单击

(„) 按钮。

7. 在“嵌套表输入”对话框中,选择“键列”窗格中的 Touring Tire,然后单击“添加”。

8. 单击“结果”按钮。

现在结果显示最可能与 Touring Tire 关联的产品的预测。

型号

Touring Tire Tube

Sport-100

Water Bottle

但是,你们已经通过浏览模型了解到,客户经常同时购买 Touring Tire 和 Touring Tire Tube;你们更愿意了解你们能够向同时购买这些商品的客户推荐哪些产品。你们将更改查询以便根据市场篮中的两个项目预测相关产品。你们还将修改查询以添加所有预测产品的概率。

向单独预测查询添加输入和概率

1. 单击预测查询生成器角上的“设计”按钮,切换回查询生成网格。

2. 在“单独查询输入”对话框中单击 vAssoc Seq Line Items 旁边的“值”框,再单击

(„) 按钮。

3. 在“键列”窗格中选择 Touring Tire,然后单击“添加”。

4. 在网格中,单击“源”下的空单元,选择“预测函数”。在“字段”下的单元中选择

PredictAssociation。

5. 在“挖掘模型”窗格中选择嵌套表 vAssocSeqLineItems,将其拖到网格中

PredictAssociation 函数的“条件/参数”框。与前一过程相同,在嵌套表名称后键入 ,3。

6. 在“嵌套表输入”对话框中,选择“键列”窗格中的 Touring Tire Tube,然后单击“添加”。

7. 在网格中的 PredictAssociation 函数的行中,单击“条件/参数”框,更改参数以添加20

新参数 INCLUDE_STATISTICS。

“条件/参数”框中的完整文本应该如下所示:

[Association].[v Assoc Seq Line Items], INCLUDE_STATISTICS, 3

8. 单击“结果”按钮。

嵌套表中的结果现在更改为同时显示支持率和概率的预测。

型号

Sport-100

Water Bottle

Patch Kit

处理结果

如果结果中有很多嵌套表,你们可能希望简化结果以便查看。为此,你们可以手动修改查询并添加 FLATTENED 关键字。

平展预测查询中的嵌套行集

1. 单击预测查询生成器角上的 SQL 按钮。

网格更改为一个打开的窗格,在此你们可以查看和修改由预测查询生成器创建的 DMX 语句。

2. 在 SELECT 关键字后键入 FLATTENED。

完整的查询文本应该如下所示:

SELECT FLATTENED

PredictAssociation([Association].[v Assoc Seq Line Items],INCLUDE_STATISTICS,3)

FROM

[Association]

NATURAL PREDICTION JOIN

(SELECT (SELECT 'Touring Tire' AS [Model]

UNION SELECT 'Touring Tire Tube' AS [Model]) AS [v Assoc Seq Line Items]) AS t

3. 单击预测查询生成器上角的“结果”按钮。

请注意,手动编辑查询之后,将无法切换回设计视图而不丢失更改。如果希望保存查询,可以将创建的 DMX 语句手动复制到一个文本文件中。更改回设计视图后,查询会恢复到设计视图中有效的上一版本。

更改预测查询的输入方法

1. 在“挖掘模型”菜单中重新选择“单独查询”,以清除复选标记。

2. 出现一条错误消息警告你们单独查询将丢失。单击“是”。

“输入”对话框的名称更改为“选择输入表”。

21

$SUPPORT

4334

2866

2113

$PROBABILITY

0.291„

0.192„

0.142„

$ADJUSTEDPROBABILITY

0.252„

0.175„

0.132 你们希望创建一个预测查询,以将客户 ID 和产品列表作为输入,因此需要将客户表添加为事例表,将采购表添加为嵌套表。然后你们将添加预测函数来创建建议。

使用嵌套表输入创建预测查询

1. 在“挖掘模型”窗格中选择 Association Filtered 模型。

2. 在“选择输入表”对话框中单击“选择事例表”。

3. 在“选择表”对话框中,为“数据源”选择 AdventureWorksDW2008。在“表/视图名称”列表中选择 vAssocSeqOrders,然后单击“确定”。

将表 vAssocSeqOrders 添加到窗格中。

4. 在“选择输入表”对话框中单击“选择嵌套表”。

5. 在“选择表”对话框中,为“数据源”选择 AdventureWorksDW2008。在“表/视图名称”列表中选择 vAssocSeqLineItems,然后单击“确定。

将表 vAssocSeqLineItems 添加到窗格中。

6. 在“指定嵌套联接”对话框中,将 OrderNumber 字段从事例表中拖放到嵌套表中的

OrderNumber 字段上。

你们也可以单击“添加关系”,通过从列表中选择列来创建关系。

7. 在“指定关系”对话框中,验证已正确映射 OrderNumber 字段,然后单击“确定”。

8. 单击“确定”关闭“指定嵌套联接”对话框。

在“设计”窗格中将更新事例表和嵌套表,显示将外部数据列连接到模型中的列的联接。如果关系是错误的,可以右键单击联接线并选择“修改连接”来编辑列映射,或者右键单击联接线并选择“删除”完全删除关系。

9. 向网格中添加一个新行。对于“源”,请选择 vAssocSeqOrders table。对于“字段”,请选择 CustomerKey。

10.向网格中添加一个新行。对于“源”,请选择 vAssocSeqOrders table。对于“字段”,请选择 Region。

11.向网格中添加一个新行。对于“源”,请选择“预测函数”,对于“字段”,请选择

PredictAssociation。

12.将 vAssocSeqLineItems 拖到 PredictAssociation 行的“条件/参数”框中。单击“条件/参数”框的末尾,然后键入以下文本:INCLUDE_STATISTICS,3

“条件/参数”框中的完整文本应该为:[Association].[v Assoc Seq Line Items],

INCLUDE_STATISTICS, 3

13.单击“结果”按钮查看对每个客户的预测。

(四)注意事项

1、“针对嵌套表和针对事例表的筛选器”及后面部分为选作实验,如果完成,有加分的奖励。

22

六、实验步骤:

按照五、教学过程中(三)实验内容所示步骤,执行以下内容:

1.启动SQL Server 2008 BI。

2.新建 Analysis Services 项目,命名为Orders。

3.在数据库AdventureWorksDW2008R2上新建数据源。

4.新建数据源视图vAssocSeqOrders和vAssocSeqLineItems。

5.新建关联规则挖掘结构Association,并处理和浏览该挖掘模型。

七、思考与练习

1、如何调整关联规则算法参数,来提高预测的准确率?

八、实验报告要求:

参见数据挖掘实验报告模版

参考文献:

[1]

《数据挖掘概念与技术》 范明 等 机械工业出版社

[2] 《数据挖掘原理与应用--SQL Server 2008数据库》 董艳 等译 清华大学出版社

[3] 《数据仓库与数据挖掘技术》 张兴会 等 清华大学出版社

[4] 《WEB数据挖掘》 俞勇 等译 清华大学出版社

下次实验内容

下次实验中,将学习如何在SQL Server 2008 BI开发环境中,创建新的 Analysis Services

数据库,添加数据源和数据源视图,创建决策树挖掘结构,处理决策树挖掘模型,浏览决策树挖掘模型。

23

实验项目教学实施方案

第 3 次课 第 8 周 星期三 第3、4 节 授课日期: 2012 年 4 月 11 日

计划学时: 2 实验项目(课题)名称:

实践决策树挖掘方法

√ 4.设计性□ 5.其它□ 实验类型: 1.演示性□ 2.验证性□ 3.综合性□实验三 实践决策树挖掘方法

一、实验目的

本实验中,将学习如何在SQL Server 2008 BI开发环境中,创建新的 Analysis Services

数据库,添加数据源和数据源视图,创建决策树挖掘结构,处理决策树挖掘模型,浏览决策树挖掘模型。

二、实验要求

1、实验前:预习实验内容,学习相关知识。

2、实验中:按照实验内容要求进行实验,实验时注意挖掘算法参数含义,做好实验记录。

3、实验后:分析实验结果,总结实验知识,得出结论,按格式写出实验报告。

4、在整个实验过程中,要独立思考、独立按时完成实验任务,不懂的要虚心向教师或同学请教。

5、要求按指定格式书写实验报告,且报告中应反映出对本次实验的总结,下次实验前交实验报告。

三、实验的重点与难点

1、重点:

(1)创建决策树挖掘结构。

(2)处理决策树挖掘模型。

(3)浏览决策树挖掘模型。

2、难点:

设置决策树算法输入变量和其类型。

调整决策树挖掘算法中的参数。

四、仪器设备及用具

硬件:投影仪、每位同学分配PC机一台。

软件:

Microsoft SQL Server 2008

24

Microsoft SQL Server Analysis Services

Adventure Works DW 2008R2示例数据库。

五、教学过程

(一)实验预习

学习和理解决策树模型相关理论知识。

(二)实验原理

在SQL Server 2008 BI开发环境中,创建数据源、创建数据源视图、创建挖掘结构、处理和浏览挖掘模型。

(三)实验内容

1.在解决方案资源管理器中,右键单击“挖掘结构”并选择“新建挖掘结构”启动数据挖掘向导。

在“欢迎使用数据挖掘向导”页上,单击“下一步”。

25

在“选择定义方法”页上,确保已选中“从现有关系数据库或数据仓库”,

再单击“下一步”。在“创建数据挖掘结构”页的“你们要使用何种数据挖掘技术?”下,选择“Microsoft 决策树”。

2.单击“下一步”。在“选择数据源视图”页上的“可用数据源视图”窗格中,选择 Targeted

Mailing。可单击“浏览”查看数据源视图中的各表,然后单击“关闭”返回该向导。单击“下一步”。

26

在“指定表类型”页上,选中 vTargetMail 的“事例”列中的复选框以将其用作事例表,然后单击“下一步”。

稍后将使用 ProspectiveBuyer 表进行测试,不过现在可以忽略它。在“指定定型数据”页上,你们将为模型至少标识一个可预测列、一个键列以及一个输入列。选中 BikeBuyer 行中的“可预测”列中的复选框。

27

单击“建议”打开“提供相关列建议”对话框。

查看建议,然后单击“取消”忽略建议。

确认在 CustomerKey 行中已选中“键”列中的复选框。

28

选中以下行中“输入”列中的复选框。可通过下面的方法来同时选中多个列:突出显示一系列单元格,然后在按住 Ctrl 的同时选中一个复选框。

Age

CommuteDistance

EnglishEducation

EnglishOccupation

Gender

GeographyKey

HouseOwnerFlag

MaritalStatus

NumberCarsOwned

NumberChildrenAtHome

Region

TotalChildren

YearlyIncome

在该页的最左侧的列中,选中以下行中的复选框。

29

AddressLine1

AddressLine2

DateFirstPurchase

EmailAddress

FirstName

LastName

确保这些行仅选择了左侧列中的复选标记。这些列将添加到结构中,但不会包含在模型中。但是,模型生成后,它们将可用于钻取和测试。单击“下一步”。

在“指定列的内容和数据类型”页上,单击“检测”运行用来确定每列的默认数据类型和内容类型的算法。

查看“内容类型”和“数据类型”列中的各项;如有必要,请进行更改,以确保设置与下30

表所示一致。通常,向导会检测数值,并分配相应的数值数据类型;但有些情况下,你们可能想要将数值作为文本处理。例如,GeographyKey 应作为文本处理,因为对此标识符进行数学运算是不对的。

Address Line1

Address Line2

Age

Bike Buyer

Commute Distance

CustomerKey

DateLastPurchase

Email Address

English Education

English Occupation

FirstName

Gender

Geography Key

House Owner Flag

Last Name

Marital Status

Number Cars Owned

内容类型 数据类型

Discrete Text

Discrete Text

Continuous Long

Discrete Long

Discrete Text

Key Long

Continuous Date

Discrete Text

Discrete Text

Discrete Text

Discrete Text

Discrete Text

Discrete Text

Discrete Text

Discrete Text

Discrete Text

Discrete Long

Number Children At Home Discrete Long

Region

Total Children

Yearly Income

单击“下一步”。

在“创建测试集”页上,将“测试数据百分比”保留其默认值:30。对于“测试数据集中的最大事例数”,请键入 1000。单击“下一步”。

Discrete Text

Discrete Long

Continuous Double

31

在“完成向导”页上的“挖掘结构名称”中,键入Targeted Mailing。在“挖掘模型名称”中,键入TM_Decision_Tree。选中“允许钻取”复选框。单击“完成”。

单击“完成”, 新挖掘结构随即在“Targeted [设计]”选项卡中打开。

32

3.在 Business Intelligence Development Studio 的数据挖掘设计器中,单击“挖掘结构”选项卡或“挖掘模型”选项卡。Targeted Mailing MiningStructure 显示在“属性”窗格中。确保按 F4 可以打开“属性”窗格。确保 CacheMode 已设置为 KeepTrainingCases。

HoldoutSeed 设置为12。

4.在“挖掘模型”菜单上选择“处理挖掘结构和所有模型”。

如果更改了结构,系统将提示你们在处理模型之前生成和部署项目。单击“是”。

33

在“处理挖掘结构 - Targeted Mailing”对话框中单击“运行”。

“处理进度”对话框将打开以显示有关模型处理的详细信息。模型处理可能需要一些时间,具体取决于你们的计算机。

34

模型处理完成后,在“处理进度”对话框中单击“关闭”。在“处理挖掘结构”对话框中单击“关闭”。

5. 在“决策树”选项卡中浏览模型

在“数据挖掘设计器”中,选择“挖掘模型查看器”选项卡。

默认情况下,设计器将打开添加到结构中的第一个模型(在本例中为 TM_Decision_Tree)。使用放大镜按钮调整树的显示大小。

默认情况下,Microsoft 树查看器仅显示树的前三个级别。如果树级别不到三个,则查看器仅显示现有级别。可以使用“显示级别”滑块或“默认扩展”列表查看更多级别。

将“显示级别”滑到第四条。

将“背景”值更改为 1。

通过更改“背景”设置,可以迅速查看每个节点中 [Bike Buyer] 的目标值为 1 的事例的数量。请注意,在这种特定的情况下,每个事例均表示一个客户。值 1 指示该客户之前购买了自行车;值 0 指示该客户尚未购买自行车。节点的底纹颜色越深,节点中具有目标值的事例所占的百分比越大。

将光标放在标记为“全部”的节点上。将出现显示以下信息的工具提示:

事例总数

非自行车购买者事例的数量

自行车购买者事例的数量

缺少 [Bike Buyer] 值的事例的数量

或者,将光标放在树中的任何节点上,查看从上级节点到达该节点所需的条件。还可以35

在“挖掘图例”中查看同样的信息。

单击“Age >=34 且 < 41”的节点。直方图将显示为一个穿过该节点的窄水平条,并表示此年龄范围中以前买过自行车的客户(粉色)和没有买过自行车的客户(蓝色)的分布情况。查看器显示:没有汽车或者有一辆汽车、年龄在 34 到 40 的客户有可能购买自行车。再进一步考察发现,实际年龄在 38 到 40 的客户购买自行车的可能性会增加。

由于你们在创建结构和模型时启用了钻取,因此,可以从模型事例和挖掘结构中检索详细的信息,其中包括挖掘模型中所不包含的列(例如,emailAddress 和 FirstName)。

钻取到事例数据

右键单击某个节点,然后依次选择“钻取”和“仅限模型列”。

每个定型事例的详细信息将以电子表格方式显示。这些详细信息来自你们在生成挖掘结构时选作事例表的 vTargetMail 视图。

右键单击某个节点,然后依次选择“钻取”和“模型和结构列”。

将显示同一个电子表格,并在末尾处附加结构列。

“依赖关系网络”选项卡

“依赖关系网络”选项卡显示决定挖掘模型预测能力的各个属性之间的关系。依赖关系网络查看器进一步证实了我们的发现:年龄和地区是预测自行车购买行为的重要因素。

在“依赖关系网络”选项卡中浏览模型

单击 Bike Buyer 节点以确定它的依赖关系。

依赖关系网络的中间节点 (Bike Buyer) 表示挖掘模型中的可预测属性。粉色阴影指示所有属性都会对自行车购买行为产生影响。

调整“所有链接”滑块可确定影响最大的属性。

向下滑动滑块时,将只保留对 [Bike Buyer] 列影响最大的属性。通过调整滑块,可以发现年龄和地区是预测个人自行车购买行为的最主要因素。

(四)注意事项

1、确保 CacheMode 已设置为 KeepTrainingCases。 HoldoutSeed 设置为12。

六、实验步骤:

按照五、教学过程中(三)实验内容所示步骤,执行以下内容:

1.启动SQL Server 2008 BI。

2.新建 Analysis Services 项目,命名为AS Data Mining 2008。

3.在数据库AdventureWorksDW2008R2上新建数据源。

4.新建数据源视图ProspectiveBuyer(dbo)和vTargetMail(dbo)。

5.新建决策树挖掘结构TM_Decision_Tree,并处理和浏览该挖掘模型。

36

七、思考与练习

1、如何修改测试数据集中的最大事例数和种子的值?

八、实验报告要求:

参见数据挖掘实验报告模版

参考文献:

[1]

《数据挖掘概念与技术》 范明 等 机械工业出版社

[2] 《数据挖掘原理与应用--SQL Server 2008数据库》 董艳 等译 清华大学出版社

[3] 《数据仓库与数据挖掘技术》 张兴会 等 清华大学出版社

[4] 《WEB数据挖掘》 俞勇 等译 清华大学出版社

下次实验内容

下次实验中,将学习如何在SQL Server 2008 BI开发环境中,创建新的 Analysis Services

数据库,添加数据源和数据源视图,创建聚类与时间序列挖掘结构,处理聚类与时间序列挖掘模型,浏览聚类与时间序列挖掘模型。

37

实验项目教学实施方案

第 4 次课 第 9 周 星期 三 第 3、4 节 授课日期: 2012 年 4 月 18 日

计划学时: 2 实验项目(课题)名称:

实践聚类与时间序列挖掘方法

√ 5.其它□ 实验类型: 1.演示性□ 2.验证性□ 3.综合性□ 4.设计性□实验四 实践聚类与时间序列挖掘方法

一、实验目的

本实验中,将学习如何在SQL Server 2008 BI开发环境中,创建新的 Analysis Services

数据库,添加数据源和数据源视图,创建聚类与时间序列挖掘结构,处理聚类与时间序列挖掘模型,浏览聚类与时间序列挖掘模型。

二、实验要求

1、实验前:预习实验内容,学习相关知识。

2、实验中:按照实验内容要求进行实验,实验时注意挖掘算法参数的含义,做好实验记录。

3、实验后:分析实验结果,总结实验知识,得出结论,按格式写出实验报告。

4、在整个实验过程中,要独立思考、独立按时完成实验任务,不懂的要虚心向教师或同学请教。

5、要求按指定格式书写实验报告,且报告中应反映出对本次实验的总结,下次实验前交实验报告。

三、实验的重点与难点

1、重点:

(1)创建聚类与时间序列挖掘结构。

(2)处理聚类与时间序列挖掘模型。

(3)浏览聚类与时间序列挖掘模型。

2、难点:

设置聚类挖掘算法与时间序列挖掘算法输入变量和其类型。

调整聚类挖掘算法中的参数。

四、仪器设备及用具

硬件:投影仪、每位同学分配PC机一台。

软件:

Microsoft SQL Server 2008

38

Microsoft SQL Server Analysis Services

Adventure Works DW 2008R2示例数据库。

五、教学过程

(一)实验预习

学习和理解聚类与时间序列模型相关理论知识。

(二)实验原理

在SQL Server 2008 BI开发环境中,创建数据源、创建数据源视图、创建挖掘结构、处理和浏览挖掘模型。

(三)实验内容

1. 切换到 Business Intelligence Development Studio 中数据挖掘设计器的“挖掘模型”选项卡。右键单击“结构”列,选择“新建挖掘模型”。

在“新建挖掘模型”对话框中的“模型名称”中,键入TM_Clustering。在“算法名称”中,选择“Microsoft聚类分析”。单击“确定”。

39

新模型现在显示在数据挖掘设计器的“挖掘模型”选项卡中。此模型是用 Microsoft 聚类分析算法生成的,它将具有相似特征的客户进行分类并预测每个分类的自行车购买行为。

2.在 Business Intelligence Development Studio 的数据挖掘设计器中,单击“挖掘结构”选项卡或“挖掘模型”选项卡。Targeted Mailing MiningStructure 显示在“属性”窗格中。确保按 F4 可以打开“属性”窗格。确保 CacheMode 已设置为 KeepTrainingCases。

HoldoutSeed 设置为12。

3.在“挖掘模型”菜单上选择“处理挖掘结构和所有模型”。

40

如果更改了结构,系统将提示你们在处理模型之前生成和部署项目。单击“是”。

在“处理挖掘结构 - Targeted Mailing”对话框中单击“运行”。

“处理进度”对话框将打开以显示有关模型处理的详细信息。模型处理可能需要一些时间,具体取决于你们的计算机。

41

模型处理完成后,在“处理进度”对话框中单击“关闭”。在“处理挖掘结构”对话框中单击“关闭”。

4.

浏览聚类分析模型

Microsoft 聚类分析算法将事例分组为包含类似特征的分类。在浏览数据、标识数据中的异常及创建预测时,这些分组十分有用。

Microsoft 分类查看器提供了以下选项卡,用于浏览聚类分析挖掘模型:

分类关系图、分类剖面图、分类特征、分类对比

“分类关系图”选项卡

“分类关系图”选项卡显示挖掘模型中的所有分类。分类之间的线条表示“接近程度”,其明暗度取决于分类之间的相似程度。每个分类的实际颜色表示分类中变量和状态的出现频率。

在“分类关系图”选项卡中浏览模型

1. 使用“挖掘模型查看器”选项卡顶部的“挖掘模型”列表,可切换到 TM_Clustering 模型。

2. 在“查看器”列表中,选择“Microsoft 分类查看器”。

3. 在“明暗度变量”框中,选择 Bike Buyer。

默认变量是 Population,但可将其更改为模型中的任意属性,以发现其包含的成员具有所需属性的分类。

4. 在“状态”框中选择 1,可以浏览那些购买自行车的事例。

“密度”图例描述了在“明暗度变量”和“状态”中选定的属性状态对的密度。在此示例中,42

明暗度最深的分类就是自行车购买者百分比最高的分类。

5. 将鼠标悬停在明暗度最深的分类上。

工具提示将显示具有 Bike Buyer = 1 属性的事例所占的百分比。

6. 选择密度最高的分类,右键单击该分类,然后选择“重命名分类”并键入 Bike Buyers

High 以用作日后标识。单击“确定”。

7. 查找明暗度最浅(也就是密度最低)的分类。右键单击该分类,然后选择“重命名分类”并键入 Bike Buyers Low。单击“确定”。

8. 单击 Bike Buyers High 分类,并将其拖到窗格的适当区域,以便清楚地查看它与其他分类的连接。

选择某个分类时,将此分类连接到其他分类的线条将突出显示,以便你们方便地查看此分类的所有关系。如果该分类处于未选定状态,则可以通过线条的暗度来确定关系图中所有分类之间关系的紧密程度。如果明暗度较浅或无明暗度,则表示分类的相似程度较低。

9. 使用网络左侧的滑块,可筛选掉强度较低的链接,找出关系最接近的分类。Adventure

Works Cycles 市场部可能希望将相似的分类组合在一起,以便确定提供目标邮件的最佳方法。

“分类剖面图”选项卡

“分类剖面图”选项卡提供 TM_Clustering 模型的总体视图。“分类剖面图”选项卡对于模型中的每个分类都包含一列。第一列列出至少与一个分类关联的属性。查看器的其余部分包含每个分类的某个属性的状态分布。离散变量的分布以彩色条显示,最大条数在“直方图条”列表中显示。连续属性以菱形图显示,表示每个分类中的平均偏差和标准偏差。

在“分类剖面图”选项卡中浏览模型

1. 将“直方图”条数设置为5。在我们的模型中,任意一个变量的最大状态数均为5。

2. 如果“挖掘图例”妨碍了“属性配置文件”的显示,请移开图例。

3. 选择 Bike Buyers High 列,并将其拖到 Population 列的右侧。

4. 选择 Bike Buyers Low 列,并将其拖到 Bike Buyers High 列的右侧。

5. 单击 Bike Buyers High 列。

“变量”列按照其对该分类的重要性来进行排序。滚动浏览该列,查看 Bike Buyer High 分类的特征。例如,他们上下班路程较短的可能性较大。

6. 双击 Bike Buyers High 列中的 Age 单元格。

“挖掘图例”显示更详细的视图,你们可以看到这些客户的年龄范围,也可以看到他们的平均年龄。

7. 右键单击 Bike Buyers Low 列并选择“隐藏列”。

“分类特征”选项卡

使用“分类特征”选项卡,你们可以更加详细地检查组成分类的特征。你们可以一次浏览一个分类,而不是比较所有分类的特征(就像在“分类剖面图”选项卡中那样)。例如,如果从43

“分类”列表中选择 Bike Buyers High,则可以看到此分类中的客户的特征。尽管显示方式与分类剖面图查看器不同,但查找结果却是相同的。

“分类对比”选项卡

使用“分类对比”选项卡,可以浏览区分分类的特征。当你们从“分类 1”和“分类 2”列表中各选择一个分类后,查看器会计算这两个分类之间的区别,并显示各分类最独特的属性的列表。

在“分类对比”选项卡中浏览模型

1. 在“分类 1”框中,选择 Bike Buyers High。

2. 在“分类 2”框中,选择 Bike Buyers Low。

3. 单击“变量”按字母顺序排序。

Bike Buyers Low 和 Bike Buyers High 分类中的客户之间的其他一些显著差异包括年龄、汽车拥有情况、子女数量和所在地区。

(四)注意事项

除非设置了 holdoutseed 的初始值,否则在你们每次处理模型时,结果都会有所不同。

六、实验步骤:

按照五、教学过程中(三)实验内容所示步骤,执行以下内容:

1.启动SQL Server 2008 BI。

2.新建 Analysis Services 项目,命名为AS Data Mining 2008。

3.在数据库AdventureWorksDW2008R2上新建数据源。

4.新建数据源视图ProspectiveBuyer(dbo)和vTargetMail(dbo)。

5.新建聚类挖掘结构TM_Clustering,并处理和浏览该挖掘模型。

七、思考与练习

1、HoldoutSeed的值可以设置为其它值吗?

八、实验报告要求:

参见数据挖掘实验报告模版

参考文献:

[1]

《数据挖掘概念与技术》 范明 等 机械工业出版社

[2] 《数据挖掘原理与应用--SQL Server 2008数据库》 董艳 等译 清华大学出版社

[3] 《数据仓库与数据挖掘技术》 张兴会 等 清华大学出版社

[4] 《WEB数据挖掘》 俞勇 等译 清华大学出版社

44

下次实验内容

下次实验中,将学习如何在SQL Server 2008 BI开发环境中,创建新的 Analysis Services

数据库,添加数据源和数据源视图,创建贝叶斯挖掘结构,处理贝叶斯挖掘模型,浏览贝叶斯挖掘模型。

45

实验项目教学实施方案

第 5 次课 第 10 周 星期 三 第3、4 节 授课日期: 2012 年 4 月 25 日

计划学时: 2 实验项目(课题)名称:

实践贝叶斯分类方法

√ 4.设计性□ 5.其它□ 实验类型: 1.演示性□ 2.验证性□ 3.综合性□实验五 实践贝叶斯分类方法

一、实验目的

本实验中,将学习如何在SQL Server 2008 BI开发环境中,创建新的 Analysis Services

数据库,添加数据源和数据源视图,创建贝叶斯挖掘结构,处理贝叶斯挖掘模型,浏览贝叶斯挖掘模型。

二、实验要求

1、实验前:预习实验内容,学习相关知识。

2、实验中:按照实验内容要求进行实验,实验时注意挖掘算法参数的含义,做好实验记录。

3、实验后:分析实验结果,总结实验知识,得出结论,按格式写出实验报告。

4、在整个实验过程中,要独立思考、独立按时完成实验任务,不懂的要虚心向教师或同学请教。

5、要求按指定格式书写实验报告,且报告中应反映出对本次实验的总结,下次实验前交实验报告。

三、实验的重点与难点

1、重点:

(1)创建贝叶斯挖掘结构。

(2)处理贝叶斯挖掘模型。

(3)浏览贝叶斯挖掘模型。

2、难点:

创建贝叶斯挖掘结构。

四、仪器设备及用具

硬件:投影仪、每位同学分配PC机一台。

软件:

Microsoft SQL Server 2008

Microsoft SQL Server Analysis Services

46

Adventure Works DW 2008R2示例数据库。

五、教学过程

(一)实验预习

学习和理解贝叶斯模型相关理论知识。

(二)实验原理

在SQL Server 2008 BI开发环境中,创建数据源、创建数据源视图、创建挖掘结构、处理和浏览挖掘模型。

(三)实验内容

1. 切换到 Business Intelligence Development Studio 中数据挖掘设计器的“挖掘模型”选项卡。右键单击“结构”列,选择“新建挖掘模型”。

2.在数据挖掘设计器的“挖掘模型”选项卡中,右键单击“结构”列,并选择“新建挖掘模型”。在“新建挖掘模型”对话框中的“模型名称”下,键入TM_NaiveBayes。在“算法名称”中,选择Microsoft Naive Bayes,再单击“确定”。

此时将显示一条消息,说明Microsoft Naive Bayes算法不支持 Age 和 Yearly Income 列,这些都是连续列。单击“是”,以确认此消息并继续下面的操作。

3.浏览 Naive Bayes 模型

47