一、上机目的及内容
目的:
1.理解数据挖掘的基本概念及其过程;
2.理解数据挖掘与数据仓库、OLAP之间的关系
3.理解基本的数据挖掘技术与方法的工作原理与过程,掌握数据挖掘相关工具的使用。 内容:
将创建一个数据挖掘模型以训练销售数据,并使用“Microsoft 决策树”算法在客户群中找出购买自行车模式。请将要挖掘的维度(事例维度)设置为客户,再将客户的属性设置为数据挖掘算法识别模式时要使用的信息。然后算法将使用决策树从中确定模式。下一步需要训练模型,以便能够浏览树视图并从中读取模式。市场部将根据这些模式选择潜在的客户发送自行车促销信息。 要求:
利用实验室和指导教师提供的实验软件,认真完成规定的实验内容,真实地记录实验中遇到的各种问题和解决的方法与过程,并根据实验案例绘出模型及操作过程。实验完成后,应根据实验情况写出实验报告。
二、实验原理及基本技术路线图(方框原理图或程序流程图)
关联分析:关联分析是从数据库中发现知识的一类重要方法。 时序模式:通过时间序列搜索出重复发生概率较高的模式。
分类:分类是在聚类的基础上对已确定的类找出该类别的概念描述,代表了这类数据的整体信息,既该类的内涵描述,一般用规则或决策树模式表示。
三、所用仪器、材料(设备名称、型号、规格等或使用软件)
1台PC及Microsoft SQL Server套件
四、实验方法、步骤(或:程序代码或操作过程)及实验过程原始记录( 测试数据、图表、计算等)
创建 Analysis Services 项目
1. 2. 3. 4. 5.
打开 Business Intelligence Development Studio。 在“文件”菜单上,指向“新建”,然后选择“项目”。 确保已选中“模板”窗格中的“Analysis Services 项目”。 在“名称”框中,将新项目命名为 AdventureWorks。 单击“确定”。
-1-
更改存储数据挖掘对象的实例 1. 2. 3.
在 Business Intelligence Development Studio 的“项目”菜单中,选择“属性”。 在“属性页”窗格的左侧,单击“部署”。
在“目标”选项部分,验证数据库名称是否为 localhost。如果使用的是其他实例,请键入该实例的名称。单击“确定”。
创建数据源
-2-
1.
在解决方案资源管理器中,右键单击“数据源”文件夹,然后选择“新建数据源”。
系统将打开数据源向导。
2.
在“欢迎使用数据源向导”页面中,单击“下一步”按钮。
3.
在“选择如何定义连接”页上,单击“新建”向 Adventure Works 数据库中添加连接。
-3-
系统将打开“连接管理器”对话框。
4.
在“连接管理器”的“提供程序”列表中,选择“本机 OLE DB\\Microsoft OLE DB Provider for SQL Server”。
在“服务器名称”列表中,键入或选择承载 AdventureWorksDW 的服务器的名称。 在“登录到服务器”组中,选择身份验证方法,并输入凭据。
在“选择或输入数据库名称”列表中,选择 AdventureWorksDW,再单击“确定”按钮。 单击“下一步”按钮进入向导的下一页。
在“模拟信息”页中,选择“使用服务帐户”,再单击“下一步”。
请注意,在“完成向导”页中,数据源名称默认为 Adventure Works DW。
5. 6. 7. 8. 9.
10.
11.
单击“完成”。
新的数据源 Adventure Works DW 将显示在解决方案资源管理器的“数据源”文件夹中。
-4-
创建数据源视图
1.
在解决方案资源管理器中,右键单击“数据源视图”,选择“新建数据源视图”。 系统将打开数据源视图向导。
2. 3.
在“欢迎使用数据源视图向导”页上,单击“下一步”。
在“选择数据源”页的“关系数据源”下,系统将默认选中您在上一个任务中创建的 Adventure Works DW 数据源。 单击“下一步”。
若要创建新数据源,请单击“新建数据源”,启动数据源向导。
4.
• •
在“选择表和视图”页上,选择下列各表,然后单击右箭头键,将这些表包括在新数据源视图中:
dbo.ProspectiveBuyer dbo.vAssocSeqLineItems
-5-
• • •
dbo.vAssocSeqOrders dbo.vTargetMail dbo.vTimeSeries
-6-
5.
单击“下一步”。
6.
在“完成向导”页上,默认情况下,系统将数据源视图命名为 Adventure Works DW。 单击“完成”。
系统将打开数据源视图设计器,显示 Adventure Works DW 数据源视图。
创建用于目标邮件方案的挖掘结构
1.
在解决方案资源管理器中,右键单击“挖掘结构”并选择“新建挖掘结构”启动数据挖掘向导。
-7-
2. 3.
在“欢迎使用数据挖掘向导”页上,单击“下一步”。
在“选择定义方法”页上,确保已选中“从现有关系数据库或数据仓库”,再单击“下一步”。
4.
在“创建数据挖掘结构”页的“您要使用何种数据挖掘技术?”下,选择“Microsoft 决策树”。
5.
单击“下一步”。
-8-
6.
在“选择数据源视图”页上,请注意已默认选中 Adventure Works DW。在数据源视图中,单击“浏览”查看各表,然后单击“关闭”返回该向导。
7. 8.
单击“下一步”。
在“指定表类型”页上,选中 vTargetMail 表旁边“事例”列中的复选框,再单击“下一步”。
-9-
9. 在“指定定型数据”页上,确保已选中 CustomerKey 列旁边 Key 列中的复选框。 如果数据源视图中的源表表示一个键,则数据挖掘向导将自动选择该列作为模型的键。
10.
选中 BikeBuyer 列旁边的“输入”和“可预测”。
11.
单击“建议”打开“提供相关列建议”对话框。
只要选中至少一个可预测属性,即可启用“建议”按钮。“提供相关列建议”对话框将列出与可预测列关联最密切的列,并按照与可预测属性的相互关系对属性进行排序。值大于 0.05 的列将被自动选中,以包括在模型中。 12. 13.
• •
阅读建议,然后单击“取消”忽略建议并保留向导设置的原始值。 选中以下各列旁边的“输入”复选框:
Age
CommuteDistance
-10-
• EnglishEducation • EnglishOccupation • FirstName • Gender • GeographyKey • HouseOwnerFlag • LastName • MaritalStatus • NumberCarsOwned • NumberChildrenAtHome • Region • TotalChildren •
YearlyIncome
-11-
14.
单击“下一步”。
-12-
15. 在“指定列的内容和数据类型”页上,单击“检测”以运行对数值数据进行取样并确定数值列是否包
含连续或离散值的算法。例如,某列可包含薪金信息,用以作为连续的实际薪金值,也可包含整数,用以表示离散的编码薪金范围(例如 1 = < $25,000;2 = 从 $25,000 到 $50,000)。 16. 单击“检测”后,请查看“内容类型”和“数据类型”列中的各项;如有必要,请进行更改,以确保设
置与下表所示一致。
通常,向导会检测数值,并分配相应的数值数据类型;但有些情况下,您可能想要将数值作为文本处理。例如,GeographyKey 应作为文本处理,因为对此标识符进行数学运算是不对的。
列 Age BikeBuyer CommuteDistance CustomerKey EnglishEducation EnglishOccupation FirstName Gender GeographyKey HouseOwnerFlag LastName MaritalStatus NumberCarsOwned NumberChildrenAtHome Region TotalChildren YearlyIncome 内容类型 Continuous Discrete Discrete Key Discrete Discrete Discrete Discrete Discrete Discrete Discrete Discrete Discrete Discrete Discrete Discrete Continuous 数据类型 Long Long Text Long Text Text Text Text Text Text Text Text Long Long Text Long Double -13-
17. 18.
单击“下一步”。
在“将数据拆分为定型集和测试集”页上,对于“测试数据百分比”,请保留默认值 30。 对于“测试数据集中的最大事例数”,请键入 1000。单击“下一步”。
19.
20. 21. 22.
在“完成向导”页上的“挖掘结构名称”中,键入 Targeted Mailing。 在“挖掘模型名称”中,键入 TM_Decision_Tree。 选中“允许钻取”复选框。
-14-
23.
单击“完成”。
测试挖掘模型的准确性
映射输入列
如果使用外部数据测试挖掘模型,则必须确保挖掘结构中的列与输入数据中的列匹配。为此,可以使用“指定列映射”对话框。如果直接映射列名,则数据挖掘设计器将自动创建关系。
若要删除两列之间的映射,请选择将“挖掘结构”表中的列链接到“选择输入表”表中的列的行,再按 Delete 键。还可以通过单击“选择输入表”中的列并将其拖到“挖掘结构”中相应的列来手动创建映射。 将输入列映射到挖掘结构 1.
在数据挖掘设计器中的“挖掘准确性图表”选项卡的“输入选择”选项卡中,选择选项“指定其他数据集”。
-15-
2.
单击“指定其他数据集”选项右侧的 (…) 按钮。
此时将打开“指定列映射”对话框。如果您要测试的结构未显示在“挖掘结构”窗格中,请单击“选择结构”并选择目标邮件。
3.
在“选择输入表”框中,单击“选择事例表”。
系统将打开“选择表”对话框。在此对话框中选择包含表或需要使用的表的数据源视图,然后选择该表。
用于确定模型准确性的数据必须包含可以映射到可预测列的列。
为了实现本教程的教学目标,您需要对用于处理模型的输入列使用相同的数据并对数据应用筛选器。但是,理想情况下,您将使用用于处理该模型的数据中保留的测试数据集。在“选择输入选择”选项卡上选择选项“使用挖掘结构测试事例”,将选择该数据作为输入。
-16-
4. 5.
在“数据源”列表中,确保已选中 Adventure Works DW。 在“表/视图名称”列表中,选择 vTargetMail,再单击“确定”。 挖掘结构中的列会自动映射到输入表中具有相同名称的列。
-17-
筛选输入行
如果选择“指定其他数据集”选项,则可以通过使用显示事例表列和嵌套表列的一组对话框生成筛选条件。可以从运算符、类型值的列表中进行选择,并连接条件与逻辑运算符,以创建限制测试所用事例的复杂条件。
对测试数据应用筛选器
1.
在数据挖掘设计器中的“挖掘准确性图表”选项卡的“输入选择”选项卡上,单击“打开筛选器编辑
器”。 2.
此时将打开“vTargetMail 数据集筛选器”对话框。在此网格内,输入转换为将应用于源表的 WHERE 子句的条件,以限制用于测试的事例。
在“挖掘结构列”下,单击网格内顶部的行。选择 vTargetMail。 单击“值”单元。
此时将打开“筛选器”对话框,该对话框可帮助您对 vTargetMail 表设置条件。
3. 4.
-18-
5. 6. 7.
在第一行中,单击“挖掘结构列”下的网格,然后从列的列表中选择 Age。 单击 Age 旁边的“运算符”框,并选择 >(大于)运算符。 在同一行单击“值”框,并键入 20。
8.
单击“表达式”窗格以刷新该表达式,并验证它是否正确。单击“确定”。
9.
再次单击“确定”,关闭“筛选数据集”对话框。
“输入选择”选项卡中的“筛选表达式”窗格会显示刚才创建的筛选表达式 vTargetMail: ([Age] > 20)。当制作提升图时,模型将仅使用其年龄大于 20 的客户进行测试。
显示模型的提升
1.
在“选择要在提升图中显示的可预测的挖掘模型列”下,确保已在每个模型的“可预测的列名”列表中选中 Bike Buyer。
在“预测值”列中,选择 1。对于具有相同可预测列的每个模型,将自动填充相同的值。
2.
显示模型的准确性
1.
在“选择要在提升图中显示的可预测的挖掘模型列”下,确保已在每个模型的“可预测的列名”列表中选中 Bike Buyer。 将“预测值”列保留为空。
-19-
2.
查看提升图
若要查看提升图,请切换到“挖掘准确性图表”的“提升图”选项卡。当您单击该选项卡时,便会对服务器和数据库的挖掘结构和输入表或测试数据运行预测查询。预测结果随后会与已知的实际值进行比较,并将绘制在图上。有关如何使用该图的详细信息,请参阅提升图(Analysis Services - 数据挖掘)。
创建查询
创建预测查询的第一步是选择挖掘模型和输入表。 选择模型和输入表 1.
在数据挖掘设计器“挖掘模型预测”选项卡的“挖掘模型”框中,单击“选择模型”。 系统将打开“选择挖掘模型”对话框。
2.
在整个树中导航到“目标邮件”结构,展开该结构并选择 TM_Decision_Tree,再单击“确定”。
-20-
3.
在“选择输入表”框中,单击“选择事例表”。 系统将打开“选择表”对话框。
4.
在“数据源”中,选择 Adventure Works DW。
5.
在“表/视图名称”中,选择 ProspectiveBuyer 表,再单击“确定”。
选择输入表之后,预测查询生成器便会根据各列的名称在挖掘模型和输入表之间创建默认映射。
-21-
生成预测查询 1.
在“挖掘模型预测”选项卡上的网格内的“源”列中,单击第一个空行中的单元格,然后选择 ProspectiveBuyer。
在 ProspectiveBuyer 行的“字段”列中,选择 ProspectAlternateKey。
这会将唯一标识符添加到预测查询中,以便标识谁可能购买自行车,以及谁不可能购买自行车。
2.
3. 4.
在“源”列中,单击下一个空行,然后选择 TM_Decision_Tree。 在 TM_Decision_Tree 行的“字段”列中,选择 Bike Buyer。 这将会输出 Microsoft 决策树模型中作为预测目标的列。
-22-
5. 6.
在“源”列下,单击下一个空行,然后选择“预测函数”。 在“预测函数”行的“字段”列中,选择 PredictProbability。
预测函数提供有关模型如何进行预测的信息。PredictProbability 函数提供有关正确预测的概率信息。您可以在“条件/参数”列中指定预测函数的参数。 7.
在 PredictProbability 行的“条件/参数”列中,键入 [TM_Decision_Tree].[Bike Buyer]。 这将指定 PredictProbability 函数的目标列。有关函数的详细信息,请参阅数据挖掘扩展插件 (DMX) 函数参考。
“挖掘模型预测”选项卡的工具栏中的第一个工具是“切换到查询设计视图/切换到查询结果视图”按钮。通过单击此按钮上的下箭头,可在所创建的查询的视图之间切换。使用“查询”视图可以查看预测查询生成器创建的 DMX 代码。使用“结果”视图可以运行查询并查看结果。使用“设计”视图可以向查询中添加新预测函数。注意:如果在“查询”视图中手动更改查询的文本,则切换回“设计”视图时,不会保留修改后的查询。 查看结果
通过单击“切换到查询设计视图/切换到查询结果视图”按钮(即工具栏上的第一个按钮)旁边的箭头并选择“结果”,可以运行查询。
-23-
六、实验结果、分析和结论(误差分析与数据处理、成果总结等。其中,绘制曲线图时必须用计算纸或程序运行结果、改进、收获)
使用 Microsoft SQL Server Analysis Services 可以很方便地创建复杂的数据挖掘解决方案。Analysis Services 工具可帮助我们设计、创建和管理来自数据仓库的多维数据集和数据挖掘模型,还可管理对 OLAP 数据和数据挖掘数据的客户端访问。通过实验理解了数据挖掘的基本概念及其过程及数据挖掘与数据仓库、OLAP之间的关系。对基本的数据挖掘技术与方法的工作原理与过程,掌握数据挖掘相关工具的使用有了初步的了解。
注:教师必须按照上述各项内容严格要求,认真批改和评定学生成绩。
-24-
因篇幅问题不能全部显示,请点此查看更多更全内容