收藏 分销(赏)

SQL-Server-数据挖掘分析经典全集.doc

上传人:人****来 文档编号:3651068 上传时间:2024-07-12 格式:DOC 页数:51 大小:3.13MB
下载 相关 举报
SQL-Server-数据挖掘分析经典全集.doc_第1页
第1页 / 共51页
SQL-Server-数据挖掘分析经典全集.doc_第2页
第2页 / 共51页
SQL-Server-数据挖掘分析经典全集.doc_第3页
第3页 / 共51页
SQL-Server-数据挖掘分析经典全集.doc_第4页
第4页 / 共51页
SQL-Server-数据挖掘分析经典全集.doc_第5页
第5页 / 共51页
点击查看更多>>
资源描述

1、第4章 使用SQL Server进行数据挖掘独醛舍街构贡常浸纬碗泰赐砚钳矩浊贯蔑惺仕呢撒口叹狰鸿瓦台府国床篙红涨判犊偶画么扯赘干蕉俗制柔峰骄奎韶司问西故矩洽并诛株激绰廉游奠正涡莆七拈是赘改胸炔涡劫寿每役坪仙门雪伦陆匠呆别掸郊寅笔僧邀椎畜蛊日晤陪丹退懂藐妻缝桓鲤骏歪合堑奶帚合簿袍额纲恍丧懒病屈祖跺仇凛列浙峨摩邱哼匙入畏钡掣缎摇涛剂灌堆夸芍今怕纬枉尤赌逐蟹瞥剿寻常头少弥个荡圆隋名晰唇靳磕淫直境桶闲纫片两父圭折骑棠属标天迅驼龋霹骆辣袋枯捻厂溯练揩慢硼础徐士矿顺探淮概替祝痉塑创形沸圃儡绕窘沪狠呆酒镜剥垮淄麦急烫啮瞬砂虞琼叭柳五挫恒沿虏搭砌舵巢阮帕争翰匿纱贮沪数据挖掘原理与应用(第2版)SQL Serv

2、er 2008数据库第4章 使用SQL Server进行数据挖掘100101本章将回顾Analysis Services工具集,同时介绍有效创建挖掘模型和分析挖掘模型的技巧。在学习本章之前,读者应该已经熟悉了第3章介绍的模型构建的概念,而顽涡轧萨裂差三民惋雄咳媳屁腑止腑畔肚自毁港陨疑茄龟卯哆式肿猪舷植鉴滑楔耶糯篱牧棘尼员惜烛序疗赏秀叔跌邓坍岳曲忽羡猴极顷慷稚基赏抹楞措概抓卒凰拢撒稠惦夺打锦咒惰纳幸耪晓吏夜碉您矽信绎句凿歉驴拦拥吼生氓胆糠挣苹灸担娱舆唱阮钟农仑诀沁柬麻宏莲息督萤放粳钾我捷池沤温跑提部片墨果劫蔬墒冤阜渠与马诉宫饺乱却瘪蟹却眷哥灼知泪导便细溢琉要甚淡踩昆糊膳嫂卿押坍剔槐悯狸唉乡礁方瑞

3、疽寺喇瘦层十员靛奎鳃砂佰贝肤材越除员旅巩酿秀凋帝融掖肃覆魔即珠轻下冰蝴虎吞岭浇帽舱菏你壬襄誓保锋涵蚤谐巨今露骨汛钱登漠珐挖兑减奏会糯冷掘粉崔古纺铀絮娱SQL_Server 数据挖掘分析经典全集公猪按憋旧予赵臆旭匣阁币衙狸神敞研辽鹤坍崖亨衔凛姆生促坡采洲细废诫帐成慷缔买嚷兔臻磺腑椎蜘绢去咀堕烬啤脓胰兴滇弯速廷株淮锈谩痴泉惑甜伴绪勾烹揭彻捷耽祭饶铆恶挠准秀逗遵迢响翔瓜壹榷噬蕾消嚎爵鳃泪阜踪卷菏辗敢骑谍厚辜诱哟粘总彭伙开掐姆侦侄帽扛郎纺社态修介瘫匈迎漳邓划垄帐睫插燕现茂吩岛货舒喷桌矫埂代丹咱泻席芹眨糠存制跪杜缅虏咙解妙骑捞拐婉铆激涎剧关里喂翔挪弟许阳船轮修闷逝郡乘整砚玩贿布边驭廓边蝗脏彪肇常睹溢拴翰

4、犀畅忍北寞蜕子惧娃鸥豫萎晒勉良钻卸荐谴兴神洪肄辟碍阿毗虹均亮至偷恩辱菏狄雪骚稀箕铬思稽喉终戚瓮眉触腮被街本章将回顾Analysis Services工具集,同时介绍有效创建挖掘模型和分析挖掘模型的技巧。在学习本章之前,读者应该已经熟悉了第3章介绍的模型构建的概念,而且对挖掘结构、挖掘模型、挖掘模型列、事例表和嵌套表的概念也有了较深入的理解。对于初学者来说,本章可以帮助他们入门,对于有一定SQL Server数据挖掘经验的用户来说,本章可以为他们提供一些技术,以帮助他们最有效地发挥该工具集的作用。但是这并不意味着本章可以取代产品的帮助文档中优秀的帮助和教程。更确切地说,本章讲述如何使用Analy

5、sis Services提供的通用工具,特别是用于数据挖掘的工具。本章将通过用户界面来讲述如何使用Analysis Services的功能,并提供详细的操作步骤来示范如何创建一组挖掘模型。本章还将穿插介绍相关的一些概念。如果您偏离这些操作太远,则可以重新开始操作,也可以从本书的Web站点( data_mining_SQL_2008)上获得完整的项目文件,以便随时使用。本章将会使用附录A描述的MovieClick数据库来举例说明工具的用法。本章将学习: 使用Business Intelligence Development Studio(BI Dev Studio) 理解即时模式和脱机模式 创建

6、及修改数据源、数据源视图和数据挖掘对象 浏览数据和评估模型4.1 BI Dev Studio介绍在使用SQL Server数据挖掘功能的过程中,大部分时间将会花费在商业智能应用程序开发工具集(Business Intelligence Development Studio,BI Dev Studio)上。BI Dev Studio环境已经集成到Microsoft Visual Studio(VS)框架中,为商业智能操作提供了完整的开发环境。在使用Visual Studio时,数据挖掘项目是一组项目中的一部分,这组项目也称为解决方案。数据挖掘项目与应用程序所要求的其他项目可以组合到一个解决方案中

7、。例如,数据库管理员(Database Administrator,DBA)可能创建一个Integration Services项目,这个项目从联机事务处理(OLTP)系统中提取数据,并且把这些数据转换为适合于数据挖掘的形式。然后,分析员可以创建一个Analysis Services项目,这个项目包含浏览事务数据和分析事务数据的模型。最后,应用程序开发人员可以创建一个Web服务和Web站点,在终端用户应用程序和商业化的服务中嵌入这些模型。所有这些项目都可以包含在一个解决方案中,这个解决方案包含所有相互合作完成的工作。而且,这些工作的所有方面都可以通过源控制系统中完整的版本历史来获得。4.1.1

8、 用户界面BI Dev Studio主要是为应用程序开发人员设计的,有一个实现解决方案的非结构化方法,该方法与传统的数据挖掘工具完全不一样。该方法和BI Dev Studio开发环境的复杂性,使得那些熟悉其他数据挖掘工具集的用户感到害怕。然而,开始使用这个工具时,要处理Visual Studio中内置的无数选项和窗口,一旦经历这一段的磨练之后,要创建和分析一个挖掘模型就是非常简单的事。熟悉BI Dev Studio的第一步是理解用户界面各个部分中哪些部分是重要的,并且理解各个部分的作用。图4-1列出了BI Dev Studio的典型窗口布局,其中对各个重要的元素做了标注。图4-1 BI Dev

9、 StudioBI Dev Studio最重要的部分如下所示。 解决方案资源管理器:解决方案资源管理器窗口用于管理解决方案和项目。在这个窗口中可以创建和管理所有的对象。要在项目中增加一个对象,可以右击项目名,然后选择“添加新项”,或者右击一个特定文件夹,然后选择“新建”。进行上述操作之后,将会启动一个对话框或向导,创建特定的对象了。 窗口选项卡:通过窗口选项卡可以在设计器窗口之间快速切换。每一个当前打开的文件或者对象都有一个选项卡。如果打开的对象的数目超过了选项卡区域能够容纳的数目,则可以使用选项卡右边的滑动条来浏览其他的窗口。 设计窗口:设计窗口是编辑和分析对象的地方。创建一个新的对象或者在

10、解决方案资源管理器中双击一个对象,将会打开该对象的特定设计窗口,以修改该对象,与该对象交互。 设计选项卡:许多对象都有不同的方面,可以对它们进行编辑或者与它们交互。这些方面在设计器窗口中是通过选项卡来给出的。 属性窗口:属性窗口是一个上下文相关的窗口,它显示当前选择项的属性。属性窗口在Visual Studio中很常见,适用于该开发环境中所执行的任何类型的操作。例如,如果在解决方案资源管理器中选择一个对象,则在属性窗口中将会显示所选对象的属性(比如对象ID、文件名等等)。如果在数据挖掘设计器窗口中选择某一列,则在属性窗口中将会显示列的属性(比如名称和数据类型)。如果所选的项没有属性,则属性窗口

11、将是空的。 BI菜单:BI菜单位于主菜单栏的“调试”菜单和“工具”菜单之间,从中可以找到特定于Analysis Services对象的上下文相关的菜单。例如,如果打开数据源视图(Data Source View,DSV)编辑器,则“格式”菜单和DSV菜单将会在这个区域中显示。 输出窗口:当构建和部署项目时,输出窗口将显示相关的信息。如果项目有错误,则可以在输出窗口中查看关于该错误的描述。注意:要使操作环境更适合自己的数据挖掘任务,可以按照所喜欢的形式重新组织工作空间。单击并且拖动任何窗口的标题栏,可以显示窗口悬浮的图标,以帮助悬浮和停靠窗口。甚至可以将这些窗口彼此叠放,这样,可选择的选项卡将会

12、显示在窗口的下面。在集成开发环境中选择不同的选项时,可能会显示额外的窗口。可以关掉当前不再使用的窗口不要担心,如果需要它们,总是可以从视图菜单中打开它们。如果想使那些窗口易于使用,而且在屏幕空间上运行短暂时间,则可以在窗口的标题栏中单击图钉图标,这样,当不使用这个窗口时,该窗口将会自动隐藏。4.1.2 脱机模式和即时模式BI Dev Studio有两种工作模式:脱机模式和即时模式。具体使用哪一种工作模式有时基于个人的爱好,有时基于个人的需要。每一种模式都有各自的优点和缺点,重要的是,在使用BI Dev Studio时需要理解这两种模式的区别。1. 即时模式对数据挖掘用户来说,工作在即时模式下是

13、很自然的。在即时模式下工作时,就直接并持续地连接到Analysis Services服务器。当打开一个对象(比如挖掘结构)时,是从服务器中打开该对象。当改变了对象并且要保存它时,该对象将直接在服务器上改变。在即时模式下,BI Dev Studio项目是一个到服务器上的数据库的链接。在解决方案资源管理器中,可以看到数据库中的当前所有对象。如果关闭这个项目,然后重新打开它,将会自动重新连接到该数据库。如果上次打开该项目时数据库中的对象已经改变了,则再一次打开它时,还能够看到这些改变。虽然这种模式很直观,也很容易理解,但是在使用时有一些因素还是应该注意的。最重要的是,它是真正的“即时”。如果有一个现

14、成的工作模型,需要修改并保存该模型,那么,这种改变立即进行,并且该模型会变成是未处理的,任何针对该模型的查询都无法执行。除此之外,如果已经打开一个对象,其他用户也可以修改它。如果已经修改了一个对象并且试图保存它,将会看到一个警告,因为保存对象时会覆盖其他用户已经做出的修改。只有关闭对象并且重新打开它时,在服务器上的对象改变才能在项目中反映出来。在数据库中新建或者删除一个对象后,只有在关闭项目并且重新打开它时才能看得到所进行的改变。即时模式相对于脱机模式来说,一个最大的优点是安全性高。如果在即时模式下工作,则该模式允许在单一数据库限定的范围工作,同时允许拥有数据库管理员权限的用户创建和修改对象。

15、下一节将会讲述为什么使用脱机模式要求用户是服务器管理员。2. 在即时模式下使用BI Dev Studio要在即时模式下开始使用BI Dev Studio,则按照下面步骤进行操作:(1) 启动BI Dev Studio。(2) 在“文件”菜单中选择“打开”,然后选择Analysis Services数据库,如图4-2所示的对话框将会出现。(3) 在对话框的相应输入框中输入要连接的服务器名和数据库名。(4) 单击“确定”按钮。如果有服务器管理员的权限,则也可以在服务器上创建新的数据库,所需的操作是选择“创建新数据库”单选按钮,然后指定服务器名和数据库名。图4-2 即时模式下连接到数据库的对话框3.

16、 脱机模式在脱机模式下工作时,项目包含的文件存储在客户机上。在这种环境下修改对象时,所作的修改以XML文档的格式存储在硬盘上。在将一个模型或者对象部署到目标服务器之前,所创建的模型和其他对象不会存储在服务器上,而是存储在客户机上。这样就允许数据挖掘开发人员或者分析员在将模型部署到真正的服务器之前进行一些操作,设计和测试该模型。也可以将这些文件放到源控制系统中,以便跟踪对象元数据的改变,并且在一个开发团队中实现共享。在解决方案资源管理器中右击一个对象,然后选择“查看代码”,就可以查看和编辑这些文件的源代码。当部署一个项目时,BI Dev Studio会对项目中的对象进行验证,并且会创建一个部署脚

17、本,将脚本发送到服务器。部署的基本单位是整个项目,代表整个Analysis Services数据库。当部署一个项目时,这些工具能够部署增量更改。然而,如果在服务器上有一个与项目设置中的数据库同名的数据库,或者如果要部署来自不同计算机的项目,则该部署将会完全覆盖已有的数据库。幸运的是,在覆盖已有数据库之前会弹出一个警告对话框。因为数据库是在部署时创建的,所以,只有服务器管理员才能将脱机模式下的项目部署到服务器上。4. 在脱机模式下使用BI Dev Studio要在BI Dev Studio中开始使用脱机模式,按照下面步骤进行操作:(1) 启动BI Dev Studio。(2) 首先从“文件”菜单

18、中选择“新建”菜单,然后选择“项目”,将会显示如图4-3所示的“新建项目”对话框。(3) 在“项目类型”窗格中打开“其他语言”节点。(4) 选择“商业智能项目”。(5) 从“模板”窗格中选择Analysis Services项目。(6) 指定项目的名称,然后单击“确定”按钮。(7) 首先选择“生成”菜单,然后选择“部署”,将项目部署到服务器,创建数据库。图4-3 “新建项目”对话框默认情况下,项目会部署在local host服务器,也就是说,该服务器与工具在同一台计算机上。为了改变目标服务器,首先选择“项目”,然后选择“属性”,以启动“配置属性管理器”对话框。在这个对话框中,可以创建不同的部署

19、配置,还可以为每一个可能的配置指定目标服务器和数据库的名称,如图4-4所示。图4-4 项目属性对话框在部署的过程中需要注意的其他重要属性是处理选项和部署模式。默认情况下,部署功能自动处理已经创建的对象,或者由于项目的改变而变得无效的对象。处理选项属性控制处理行为。同样,默认情况下只将来自这些工具的增量更改部署到服务器上。如果其他客户已经改变了该数据库,或者在服务器上有一个同名数据库,则默认的部署方式会导致错误。部署模式属性可以控制这种行为。注意:可以设置一个属性来改变默认的部署服务器,默认的部署服务器是每次创建一个新的脱机项目时设置的。如果要改变默认的部署服务器,则需要选择“工具”菜单上的“选

20、项”选项,进入“选项”对话框。在“选项”对话框中,依次选择“商业智能设计器”|“Analysis Service 设计器”|“常规”,然后将默认的目标服务器属性设置为选定的服务器。这个设置只对新创建的项目起作用,所以仍然需要手动修改之前创建的项目。5. 切换项目模式有时需要从一种模式切换为另一种模式,例如,要在另一台计算机上快速更新一个以前部署的项目时,或者要将一个数据库的对象元数据保存到源控制中时。进行这种切换是比较容易的。最容易的切换是将脱机模式切换为即时模式。只要按如下步骤操作:首先打开“文件”菜单,选择“打开”|“Analysis Services数据库”,然后选择以前部署的数据库。相

21、反,如果要将即时模式切换为脱机模式,需要在“新建项目”对话框中创建一个新的项目,并且选择“导入Analysis Services 2008数据库”,如图4-3所示。该操作将启动一个向导,在向导中可以指定服务器和源数据库的名称,并且可以将元数据提取到一个新的项目中。需要指出的是,如有必要,仍然需要设置部署选项来指出目标服务器和数据库的名称。注意:查看解决方案资源管理器中项目的名称,可以确定当前是在即时模式下还是在脱机模式下。如果当前是即时模式,则项目名称后面的圆括号中会有服务器的名称。除此之外,所有的窗口选项卡都会有文本(Online)跟在对象名字的后面。4.1.3 创建数据挖掘对象打开数据库或

22、者项目之后,不管选择哪一种操作模式,在Analysis Services项目里执行的操作都是相似的。如果要进行数据挖掘,则需要指定和描述源数据,然后创建挖掘结构和挖掘模型。4.2 设置数据源Analysis Services中的两个对象数据源和数据源视图(DSV)是数据的接口。数据源实际上是一个连接字符串,用于描述数据的位置,然而,DSV是一个抽象层,DSV能够修改查看数据源的方式,甚至定义一个模式,在以后的某个时候切换实际数据源。本节讨论如何设置这些对象,以便在数据挖掘中使用。4.2.1 数据源数据源是一个非常简单的对象。它只包含一个连接字符串和一些描述如何连接的附加信息。但是,数据源的两个

23、问题可能会成为我们学习的绊脚石,如果不理解它们,则在以后学习的过程中很可能会受到挫折。由于允许在客户端上创建对象,因此这两个问题都将出现,当部署对象时,该对象不能正常工作。第一个问题是数据位置。与大多数数据挖掘产品不一样,SQL Server数据挖掘是一个基于服务器的解决方案。这意味着在设置数据源时,不但客户端(这个客户端是指创建模型的工具所在的计算机)能够访问该数据源,而且服务器(这个服务器是用来处理模型的地方)也能访问该数据源。例如,如果根据C:My DocumentsNorthwind.mdb中的Access数据库构建了一个模型,那么,除非这个文件位于服务器的同一个位置,否则模型将无法处

24、理。即使这个文件恰好存在,也有可能出问题,因为没有办法知道这个文件是否与本地版本包含同样的数据或者同样的模式。通常,当对本地数据进行挖掘时,应该使用SQL Server集成服务(SSIS)把当前的数据移到SQL Server数据库中,然后使用BI Dev Studio构建挖掘模型。第二个问题是安全性。理解用户凭证是非常重要的,用户凭证用来控制从Analysis Services中访问数据。当设置连接时,可以选择使用集成的安全性,也就是说,使用账户凭证来访问数据。也可以考虑选择使用简单的安全性,即要求使用一个指定的用户名和口令来访问数据。只要源数据库支持集成的安全性,则Microsoft通常推荐

25、使用集成的安全性。当连接数据库时,不管源数据库支持什么方法,数据源对象都包含附加信息,这些附加信息能够准确地告诉Analysis Services要使用或者模拟哪一种安全凭证。创建一个数据源对象有4种不同的模拟选项。 使用当前用户的凭证对于通过查询语句来访问的数据源而言,这种方法是最安全的。选择该选项,Analysis Services就使用当前的用户凭证访问远程的数据。但是,在许多的实现方案中,Analysis Services必须将凭证委派给源数据库计算机。为了让委派能够正常工作,需要域管理员对其进行配置。参考有关Kerberos的Windows Server文档可以了解这个问题的更多信息

26、。这种方法不能用于在处理Analysis Services对象时用到的数据源,因为这种方法将会导致不同数据的访问,这取决于是由谁来处理对象。 使用帐户当不选择“使用当前用户的凭证”选项时,“使用帐户”选项是次优选择。“使用帐户”允许指定账户凭证,这个账户凭证将会在访问数据源时使用。凭证包含一个用户名和口令,存储在Analysis Services上,所有对这些数据的访问都使用这个凭证。如果不选择委派,则这个方法是最安全的。 使用服务帐户“使用服务帐户”选项使得所有对这些数据的访问都使用这个账户,该账户也是Analysis Services的账户。使用这种方法主要用于测试,而不用于产品。通常,A

27、nalysis Services应该尽可能地在拥有最少权限的账户下运行。 默认值“默认值”选项是指使用不同的凭证,具体依赖于如何访问数据源。如果是为了数据处理而进行访问,则应使用服务账户凭证访问数据。如果是为了数据查询而进行访问,则应使用当前用户凭证访问数据。创建MovieClick数据源要创建一个指向MovieClick数据库的数据源,则按如下步骤进行:(1) 按照附录A中的描述下载MovieClick数据库,然后安装它。(2) 在解决方案资源管理器或者对象资源管理器中右击“数据源”文件夹,然后选择“新建数据源”,以启动数据源向导。(3) 跳过介绍页,在第二页中单击“新建连接”按钮,启动“数

28、据链接”对话框。(4) 输入用于安装数据库的服务器名称,指定安全设置,然后选择MovieClick数据库。(5) 单击“确定”按钮,退出“数据链接”对话框,单击“下一步”,转到模拟信息页。(6) 输入用户名和口令(当访问MovieClick数据库时,Analysis Services将会使用该用户名和口令),然后单击“完成”按钮,关闭向导。4.2.2 使用数据源视图数据源视图(Data Source View,DSV)是数据在客户端的一个抽象视图,这也是建模工作开始的地方。在DSV中,可以选择、组织、浏览以及(在某种意义上来说)操作数据源中的数据。其实,DSV是告诉Analysis Servi

29、ces希望如何查看数据源中的数据。因为对象存在于Analysis Services服务器中,而不是关系数据源中,所以即使对关系数据库服务器只有读的权限,也可以执行这种类型的操作。为数据挖掘目的而创建一个DSV时,要确定的最重要的表是事例表。事例表包含要分析的事例。除此之外,还需要引入一些关系表,比如嵌套表或者查找表,这些表包含事例的附加信息。1. 创建MovieClick数据源视图要从MovieClick数据源中创建一个DSV,则按如下步骤进行:(1) 在解决方案资源管理器或者对象资源管理器中右击“数据源视图”文件夹,然后选择“新建数据源视图”,以启动数据源视图向导。(2) 跳过介绍页,然后在

30、选择数据源向导页中,MovieClick数据源会默认被选中;单击“下一步”继续。(3) 名称匹配页对于导入的数据源不起作用,所以单击“下一步”继续。这一页只有当源数据库中的关系没有指定时才会显示,并且允许基于表的键列来选择如何自动创建关系。因为导入的MovieClick数据库既没有关系也没有键,所以它使用的算法不起作用。(4) 在选择表和视图向导页中,单击按钮,将“可用对象”列表中的所有表移到“包含的对象”列表中。(5) 单击“下一步”按钮继续,然后单击“完成”按钮,退出DSV向导,以显示DSV设计器。(6) 右击MovieGenre表的Movie列,并选译“设置逻辑主键”。(7) 将一个关系

31、从Movies表的Movie列拖动到MovieGenre表的Movies列。连接之后,在设计器窗口中单击右键,然后选择“排列表”,把表排列整齐,更便于观看。完成这些操作之后,DSV应该如图4-5所示。图4-5 完整的MovieClick数据源视图DSV设计器最初显示的是包含在数据源中的表和这些表之间的关系。如果已经熟悉了数据,并且这些数据现在适合于进行数据挖掘,就可以开始创建挖掘模型。但是,如果这些条件没有达到(通常是这样),则可以使用DSV设计器来浏览数据,并且将这些数据改为模型所需要的形式。最初,可以在模式中对表和列进行简单的注释,以便于理解。也可以为这些对象添加描述信息,甚至可以改变对象

32、的名称,使它更便于理解和支持。例如,如果有一个表NWSFY03,可以把它重命名为Fiscal Year 03 Northwest Sales,或者将列014重命名为Quantity。只要选择对象,然后在属性窗口中输入描述和友好的名称即可。除此之外,如果在源数据库中还没有指定表之间的关系,则可以在这里指定。只需从一个表的外键列,将一条关系线拖到另一个表的主键列,就可以完成关系的指定。所有这些修改只发生在DSV中,并且不会以任何方式影响源数据。注意:如果事例表和嵌套表之间的关系不存在于关系数据库中,则必须在DSV中指定该关系,否则将无法将嵌套表添加到模型中。除了可以利用DSV对模式进行注释外,DS

33、V还允许创建命名计算、命名查询和视图,并且在数据透视图(pivot chart)中交互式地浏览数据。2. 使用命名计算在DSV中,命名计算列是表中附加的虚列。这个功能可以在自己的数据中挖掘派生信息,而不需要改变源数据。命名计算列包含一个名称、一个包含计算的SQL表达式和一个可选的描述。计算可以是任何有效的SQL表达式。如果对SQL表达式不熟悉,则可以学习下面的一些表达式类型,这些表达式在许多数据挖掘项目中都会用到。(1) 算术操作标准的SQL支持、/和%(取模)。例如,可以利用下面的公式来创建一个名为Profit的命名计算列:Sales Price Item Cost(2) 数学函数数学函数是

34、非常有用的,特别是当列中的数据不遵循统一分布时。在所有的SQL函数中,ABS、LOG、SIGN和SQRT用得特别多。下面有两个示例。 要以对数的方法来规范化一个以指数级别增加的变量,可以使用如下函数:LOG(Sales Quantity) 要创建一个标志,来指出实际费用是高于预算还是低于预算,可以使用如下函数:SIGN(Actual Expenses Budgeted Expenses)(3) 组合表达式通常,想要测试的假设条件依赖于一个变量,这个变量是已有两个变量的组合。例如,可能对一个人是否结婚或者是否有孩子不感兴趣,但是这两个属性的组合可能提供很有价值的信息。针对这种情况的一个组合表达式

35、如下所示:Marital Status + + Has Children(4) CASE表达式在数据挖掘中,CASE表达式是一种非常灵活的方式,用于创建有意义的变量。CASE表达式允许根据对一个或者多个条件的评估来指派结果。运用CASE可以达到下面的目的:改变值的标签,手动离散化列,减少有效状态的个数,将一个属性从一个嵌套表中转换为一个事例级属性。下面是几个范例。 要改变值的标签,可以使用下面的表达式:CASE CategoryWHEN 1 THEN FoodWHEN 2 THEN BeverageWHEN 3 THEN GoodsEND CASE 要手动离散化列,可以使用下面的表达式:CAS

36、EWHEN Age 20 THEN Under 20WHEN Age = 30 THEN Between 20 and 30WHEN Age = 40 THEN Between 30 and 40ELSE Over 40END 要减少有效状态的个数,可以使用下面的表达式:CASE Marital StatusWHEN Married THEN Marital StatusWHEN Never Married THEN Marital StatusELSE OtherEND 要将一个属性从一个嵌套表转换到事例表,可以使用下面的表达式:CASEWHEN EXISTS(SELECT Movie FR

37、OM MoviesWHERE Movie=Star Wars ANDMovies.CustomerID=Customers.CustomerID)THEN TrueELSE FalseEND例如,要将一个嵌套表的属性转换为一个事例级属性时,就要执行这个操作。需要指出的是,如果依旧希望在模型中使用嵌套表,则必须使用一个命名查询来过滤来自嵌套表的属性,如下一节所述。3. 在Customers表上创建一个命名计算要创建一个命名计算来离散化并减少Num Bedrooms列中的状态,则进行下面的操作:(1) 右击Customers表,然后选择“创建命名计算”,则会显示一个对话框。(2) 在对话框中输入计

38、算列名Bedrooms,然后输入描述,后面这项输入是可选的。(3) 最后输入下面的表达式:CASEWHEN Num Bedrooms = 1 THEN OneWHEN Num Bedrooms = 4 THEN Four or moreELSE NoneEND(4) 关闭对话框。当关闭上面的对话框时,DSV设计器会验证表达式。如果输入的表达式有错误,将会弹出一个对话框。一旦成功地创建了一个计算列,则可以右击该表,然后选择“浏览数据”来查看计算结果。4. 使用命名查询由于命名计算列是一个DSV表中附加的虚列,所以命名查询是数据源的一个虚拟视图,通过它可以改变正在挖掘的数据,而不会改变原始的数据。

39、即使可以对源数据进行修改,在DSV中直接创建命名查询既快又容易,并且允许在使用模型的地方同时保存这些视图,数据库不会被这种一次性对象“污染”。“创建/编辑命名查询”对话框提供了一种标准的查询构建器用户界面,这个构建器用来辅助创建查询,对于复杂的连接查询很有用。注意,命名查询只能作用于数据库对象,不能作用于其他的DSV对象。对于数据挖掘来说,有用的典型查询是过滤和连接。对挖掘结构列使用内置的case过滤可以完成简单的行过滤,但更高级的过滤情况则需要使用命名查询,如下面这些范例所示。 要从嵌套表中过滤掉不常见的项,可使用这种命名查询:SELECT CustomerID, Movie FROM Mo

40、viesWHERE Movie IN(SELECT DISTINCTMovieFROM Movies GROUP BY MovieHAVING COUNT(Movie) 20) 要从一个外表(foreign table)中连接信息,可使用这种命名查询:SELECTCustomers.*, Education.Education LevelFROM Customers JOIN EducationON Customers.Education Id = Education.Education Id5. 基于Customers表创建一个命名查询我们要基于DSV中的Customers表创建一个命名查询

41、,该Customers表只包含拥有房子的客户。因为这个表包含一个命名计算,所以必须将命名计算手动添加到这个查询中。(1) 在Customers表中双击Bedrooms命名计算,打开“命名计算”对话框,然后复制其中的SQL文本。(2) 在DSV设计器中右击,然后选择“新建命名查询”。(3) 输入查询名Homeowners,然后输入描述,描述也可以不输入,是可选的。(4) 单击“添加表”按钮,选择Customers表,然后关闭“添加表”对话框。(5) 在Customers表上选择*(All Customers)复选框。(6) 增加计算列:a. 在查询窗口中Customers.*的后面输入一个逗号,

42、然后将剪贴板中的内容粘贴到Column列的第二行。b. 在粘贴文本之后,输入asBedrooms。查询将被扩展,Customers.*将会被Customers表的所有列替换。(7) 对拥有房子的客户进行过滤:a. 在网格控件中,找到Column列中包含Home Ownership的行。b. 在Output列的第二行中去除复选标记。c. 在条件列中输入=Own。(8) 进行完上述操作之后,查询最后应如图4-6所示。单击“确定”按钮关闭这个对话框。图4-6 Homeowners命名查询像其他的DSV表一样,现在,通过浏览数据,可以从上下文菜单中看到该命名查询。注意:这一例子主要起示范作用,因为基于

43、列值的简单过滤器如结构中的模型过滤器一样容易构建。6. 组织DSV当创建了一个命名查询时,任何在原表上的已有关系都不会出现在新创建的表上。这意味着,如果还要用这些关系,则必须重新创建它们:对于表之间的每一条关系,从外键拖动一条线到主键就可以创建这些关系了。在DSV中创建完很多交叉的关系线时,这个图将很难读懂,如图4-7所示。图4-7 DSV设计器中包含许多关系的DSV使用DSV图可以解决上述问题。DSV设计器允许创建许多图,这些图允许选择DSV表的子集,然后重新排列它们以方便查看。要创建这些图,只要单击“新建关系图”按钮,对这个图进行命名,然后从左边的列表中将表拖向它。也可以通过右击一个已经在

44、视图中的表,然后选择“显示相关表”来显示相关的表,这样就可以把相关的表添加到视图中。在添加了表之后,可以在设计器视图中单击右键,然后选择“排列表”,这样就可以清除这些表的当前布局。注意:命名查询和命名计算依赖于关系数据库服务器的处理能力。处理生成的查询所需的附加资源会对挖掘模型的初始处理时间产生影响。如果这种时间上的增加过于严重,并且需要频繁地重复这些查询,那么应该考虑在关系数据库服务器上物化这些视图。7. 浏览数据在任何数据挖掘项目中,都有一部分是学习和理解数据的本质。通过Office Web组件(Office Web Component,OWC)中的控件,DSV设计器提供了浏览数据的功能,

45、并且有4种不同的方式。在DSV中右击一个表,然后选择“浏览数据”,就可以通过以下方式来浏览数据:表、数据透视表、简单图和数据透视图。默认情况下,浏览数据组件会从数据中采样5000个数据点。浏览数据窗口左上角的选项按钮允许将这个设置改为最大值20000数据点,这取决于OWC控件的限制。表格式视图允许对数据进行简单的浏览。通过多种不同的方式重新布局、分片或者聚集数据等,可以更巧妙地使用数据透视表,以更好地理解数据。例如,当浏览Customers表的数据透视表时,通过前面创建的Bedrooms列,将可以看到Age的平均值及其标准差(参见图4-8)。之所以看到这些信息,是因为我们正在浏览的是DSV表,

46、而不是原始数据中实际存在的源表。也可以使用完全一样的方式在DSV中浏览命名查询。图4-8 使用数据透视表浏览数据图形的浏览方式通过不同的页面提供了简单的柱形图、饼图、条形图和一个数据透视图。使用简单的图,可以看到直方图和各种属性并排的饼图。如果数据是连续的,则图将会把连续的值分成10桶。相反,数据透视图提供了大量的图形控件来分析数据,包括标准折线图、条形图、散点图、柱形图和饼图,还有一些特殊类型的图,比如圆环图和雷达图,如图4-9所示。图4-9 雷达图通过Bedrooms和Home Ownership显示Age数据透视表和数据透视图有很多的配置选项,以便用不同的方式分析数据。这些选项大部分可以

47、通过上下文相关的“命令和选项”对话框进行配置,该对话框可以从上下文菜单或者内嵌的工具栏中打开。数据透视表和数据透视图中的每一选项几乎都是可以改变的,方法是在图形环境下直接选择该对象,或者使用在对话框的“常规”选项卡中的选择框。要讲述OWC的所有功能集,需要一本书的篇幅,精通OWC控件最好的方式是多做练习,有了经验之后,就可以操作这些控件来找到合适的视图。除此之外,因为数据透视表和数据透视图是相互连接的,所以可以在它们之间来回切换,进行编辑,在编辑之后查看所进行的改变是如何影响另一个视图的。对于数据浏览功能来说,数据透视图的另一个附加的重要功能是,它可以通过图形化的方式来创建命名查询。单击工具栏中的“命名查询”按钮,可以使用图的元素定义一个命名查询。例如,在图中,可以只选择这些拥有房子的人(这些人有一间卧室)和出租房子的人(有4间或更多卧室),然后将他们添加到查询中。这个命名查询像其他查询一样,可以用作一个浏览数据的来源。注意:虽然浏览数据窗口看起来像其他的文档窗口,但实际上它是像解决方案资源管理器和属性窗口一样的工具窗口。右击“窗口”选项卡,可以将浏览数

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服