实践SQLServer数据挖掘.ppt
《实践SQLServer数据挖掘.ppt》由会员分享,可在线阅读,更多相关《实践SQLServer数据挖掘.ppt(112页珍藏版)》请在三一办公上搜索。
1、第3章 实践SQL Server数据挖掘,创建数据挖掘项目,在SQL Server 2005的程序目录中打开进入BI Dev Studio,在文件菜单中选择“新建”“项目”注意项目文件是保存在“我的文档”文件夹中的,新建项目对话框,打开解决方案资源管理器查看,MovieClick数据集,2002年11月,对微软的雇员进行调查。调查询问了被调查者的电影观看行为、人口统计信爱所喜欢的电影、演员和导演。内容包括多久看一次电影多久租一次影片家里有多少台电视机谁通常会选择您观看的电影您最喜欢的电影,MovieClick数据集,2002年11月,对微软的雇员进行调查。内容包括您最喜欢的导演您最喜欢的男演员
2、和女演员年龄性别婚姻状况有几个小孩您家里有多少张床您拥有多少辆汽车,您的房子中有多少间浴室您最喜欢的爱好、兴趣领域是什么您的学历,在ssms中创建数据库,1 在ssms中创建数据库,2 从外部文件导入数据,2 从外部文件导入数据,2 从外部文件导入数据,2 从外部文件导入数据,2 从外部文件导入数据,2 从外部文件导入数据,2 从外部文件导入数据,2 从外部文件导入数据,在解决方案中新建数据源 BI,新建数据源视图,为了使下一步顺利进行,在数据挖掘项目节点上单击右键选择“属性”进行设置,将部署中的目标服务器更改,改为本机上的数据库服务器的名称,创建MovieClick数据源,在SSMS中创建M
3、ovieClick数据库,导入数据表在BI Dev Studio中创建项目MovieClick在MovieClick项目中建立数据源建立数据源视图:本例的要点是建立数据源中多张表之间的嵌套关系如果一个事例表和一个嵌套表之间的关系不存在于关系数据库中,则必须在DSV中指定该关系,否则将无法将嵌套表添加到模型中 大家可以尝试在SSMS的相应数据库中通过建立数据库关系图来建立表之间的关系,MovieClick数据源视图,使用DSV来浏览数据,使用命名计算,在DSV中可以创建命名计算、命名查询和视图,这些操作并不会影响到原数据库中的数据在DSV中,命名计算列是表中附加的虚列,所以可以在自己的数据中挖掘
4、派生信息,而不需要改变源数据命名计算列包含一个名称、一个包含计算的SQL表达式和一个可选的描述,使用命名计算,1 算术操作可以使用+,-,*,/和%(求模)。例如创建利润列Sales Price-Item Cost2 数学函数例:以对数的方法来规范化一个以指数级别增长的列Log(Sales Quantity)创建一个标志,判断实际值高于还是低于季度预算Sign(Actual Expenses-Budgeted Expenses),使用命名计算,3 组合表达式将婚姻状况和是否有孩子的属性进行组合Marital Status+Has Children4 CASE表达式CASE表达式可以创建有意义的
5、变量,可以达到如下的目的:改变值的标签手动离散化列减少有效状态的个数将一个属性从一个嵌套表中转换为一个事例级属性,使用命名计算,4 CASE表达式改变值的标签CASE Category When 1 then food When 2 then Beverage When 3 then goodsEND CASE,使用命名计算,4 CASE表达式手动离散化列:CASE When Age20 then Under 20 When Age=30 then Berween 20 and 30 When Age=40 then Between 30 and 40 ELSE Over 40END,使用命名
6、计算,4 CASE表达式减少有效状态的个数CASE Marital Status When Married then Marital Status When Never Married then Marital Status ELSE OtherEND,使用命名计算,4 CASE表达式将一个属性从一个嵌套表转换到事例表:CASE When Exists(Select Movie From Movies Where Movie=Star Wars And Movies.CustomerID=Customers.CustomerID)then True ELSE FalseEND,在Custome
7、rs表上创建一个命名计算,下面创建一个命名计算离散化并减少Num Bedrooms列中的状态。在DSV中右击Customers表,选择“新建命名计算”,在Customers表上创建一个命名计算,在对话框中输入计算列名Bedrooms、描述和表达式,在Customers表上创建一个命名计算,Case WHEN NUM BEDROOMS=1 THEN ONE WHEN NUM BEDROOMS=4 THEN FOUR OR MORE ELSE NONEEND,使用命名查询,可以使用数据源视图设计器中的“创建命名查询”对话框向数据源视图添加命名查询。命名查询是以表的形式表示的 SQL 表达式。在命名
8、查询中,可以指定一个 SQL 表达式来选择从一个或多个数据源的一个或多个表返回的行和列。命名查询基于一个表达式,除此之外,它在行和关系方面都与数据源视图中的其他表相似。该表达式作为表显示在数据源视图中,其行为也与表相同。,使用命名查询,创建命名查询时,需要为 SQL 查询返回的此表的列和数据指定名称,并根据需要对命名查询进行说明。SQL 表达式可以引用数据源视图中的其他表。命名查询允许不修改基础数据源即可扩展数据源视图中现有表的关系架构。例如,可以使用一系列命名查询将一个复杂的维度表分割为几个较小、较简单的维度表以便在数据库维度中使用。,使用命名查询,对于数据挖掘来说,有用的典型查询是过滤、连
9、接和采样查询基于列的值过滤行:Select*From Movies Where Movie!=Star Wars,使用命名查询,从嵌套表中过滤掉不常见的项select CustomerID,Movie from Movieswhere Movie in(select distinct Movie from Movies Group by Movie Having count(Movie)20),对记录按照Movie字段分组,对分组按照组的聚合结果作过滤,使用命名查询,从一个外表中连接信息:select customers.*,Education.Education Level from Cus
10、tomers Join Education on Customers.Education Id=Education.Education Id,使用命名查询,采样一个SQL Server数据库中的行select*from customers tablesample(30 precent)pepeatable(1),基于Customers表创建命名查询,在Customers表上创建一个命名查询,该Customers表之包含拥有房子的客户。由于这个表包含一个命名计算,所以必须将命名计算手动添加到查询中首先复制Bedrooms Named Calculation中的代码其次在DSV中右击然后选择“新建
11、命名查询”,3.3 创建和编辑模型,3.3.1 结构和模型挖掘结构包含所有列的数据类型和内容类型的定义,但没有包含列的用法定义和使用的算法挖掘模型包括挖掘算法及其相关的参数,还有来自挖掘结构的列有了挖掘结构的概念,可以很容易地对同一数据集测试不同的假定,3.3.2 使用数据挖掘向导,使用数据挖掘向导与使用DMX语言创建数据挖掘结构/模型所需要的信息是相同的:选择算法、选择数据源并指定源表的用法、选择表中的列并制定这些列的用法、对数据挖掘模型命名。,指定表的类型:事例表或嵌套表,指定列的用法,指定了事例表和嵌套表后,可以确定要包括在挖掘结构中的表的每一列的使用类型。如果没有指定列的使用类型,则挖
12、掘结构中将不会包含该列。数据挖掘列可以为下列四种类型之一:键列、输入列、可预测列或输入列和可预测列的组合。键列包含表中每个行的唯一标识符。某些挖掘模型(如顺序分析和聚类分析以及时序模型)可能包含多个键列。预测列包含要在挖掘模型中预测的信息。,指定列的用法,例如,一系列表可能包含客户 ID、人口统计信息以及每位客户在某个特定商店消费的金额。客户 ID 可以唯一地标识客户,并且使事例表与嵌套表相关,因此,一般会将客户 ID 作为键列。可以使用从人口统计信息中选择的列作为输入列,将说明每位客户消费金额的列作为预测列。可以生成一个挖掘模型,该模型可将人口统计信息与某位客户在商店中的消费金额关联起来。可
13、以使用此模型作为有针对性的营销的基础。,指定列的用法,数据挖掘向导提供了“建议”功能,在选择预测列时将启用该功能。数据集包含的列经常多于生成挖掘模型时要使用的列。“建议”功能可以计算出一个数值分数(介于 0 到 1 之间),用于说明数据集中的每一列与预测列之间的关系。根据此分数,该功能可以建议可用作挖掘模型的输入的列。如果使用了“建议”功能,您就可以使用建议的列,修改选择的列以满足需要,也可以忽略建议。,提供相关列建议,提供相关列建议,单击“建议”打开“提供相关列建议”对话框,该对话框列出与可预测列关系最密切的列。“提供相关列建议”对话框按照各属性与可预测属性的相关性对其进行排序。值大于 0.
14、05 的列将被自动选中,以包括在模型中。,在“指定列的内容和数据类型”页上,单击“检测”。某个算法将运行此示例数字数据,并确定这些数字列是包含连续值还是包含离散值。在 SSAS中处理挖掘模型之前,可以为作为建模依据的挖掘结构列定义数据类型。Analysis Services 支持以下挖掘结构列数据类型:Text、Long、Boolean、Double、Date,向导中的最后一步是对挖掘结构和关联的挖掘模型进行命名。如果选择“允许钻取”,则会在模型中启用钻取功能。这样,您就可以浏览用于生成模型的源数据。,3.3.4 使用数据挖掘设计器,有些操作在向导中无法实现,需要在数据挖掘设计器中进行设置离散
15、化属性:若所选择的数据挖掘算法不支持连续的属性,在数据挖掘向导中系统会自动将连续的列内容类型改为Discretized。若要指定离散的方法和参数,可以在挖掘结构的列列表中单击,然后在属性窗口中设置DiscretizationMethod和DiscretiztionBuckets属性,设置属性的类型和离散化参数,多次将同一列添加到挖掘结构中,一个挖掘结构中可以包含多个模型,可能要用多种不同的方法来针对某一特殊的列创建多个模型,目的是为了查看这一列如何影响预测的结果。例如可能想采用下面的方式来比较Age列是如何影响预测结果的把Age列作为连续的值将Age列离散化为3桶、5桶或7桶从DSV中将列拖到
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实践 SQLServer 数据 挖掘
链接地址:https://www.31ppt.com/p-6269946.html