文本版|topic 高级搜索
   名人堂 帮助 论坛制度 意见反馈 | 首页 博客 周新贴 专题 求职 读书
RSS 底部
 
社区导航: 专家门诊   网络技术   操作系统   数据库   程序设计   系统应用   考试认证   CIO及信息化   站长交流   综合交流   下载基地  51CTO产品服务 设为首页 | 收藏本站
51CTO技术论坛» 微软SQL Server专区 » 微软商务智能 » 揭示分析服务 2005的新的数据挖掘特性       [ 打印]  [ 订阅]  [ 收藏]  [ 推荐给朋友]   [ 本帖文本页]

论坛跳转:
     
标题: 揭示分析服务 2005的新的数据挖掘特性  ( 查看:417  回复:1 )   
 
xiaoxinlucky
助理工程师  点击可查看详细


十二生肖之鼠   双子座   行业勋章   技术勋章   诚信兄弟  
帖子 603
精华 12
无忧币 2017
积分 1392
阅读权限 40
来自 (保密)
注册日期 2007-12-12
最后登录 2008-6-21 离线

[查看资料]  [发短消息]  [Blog
  QQ       
发表于:2008-2-1 15:45   标题:揭示分析服务 2005的新的数据挖掘特性
上一帖 |


QUOTE:
摘要
•        SQL Server 2005 数据挖掘功能
•        新的和增强的算法
•        对象模型可编程性
•        集成和扩展能力

内容列表
介绍
向导与设计器
创建和编辑模型
浏览和查询模型
DMX扩展
数据挖掘APIs
管理存储过程和用户定义的函数
扩展能力
结论




最全面的资料《SQL Server数据管理》
2008-2-1 15:451楼
[ 顶部 ]
 
xiaoxinlucky
助理工程师  点击可查看详细


十二生肖之鼠   双子座   行业勋章   技术勋章   诚信兄弟  
帖子 603
精华 12
无忧币 2017
积分 1392
阅读权限 40
来自 (保密)
注册日期 2007-12-12
最后登录 2008-6-21 离线

[查看资料]  [发短消息]  [Blog
  QQ       
发表于:2008-2-1 15:53 


QUOTE:
介绍
随着SQL Server™ 2005发布时间的临近,是时候对其给数据库开发人员提供的一系列新特性进行讨论了。为了满足大家的兴趣,从SQL Server 2005分析服务中新的数据挖掘特性开始讨论是最好不过的了,你可以发现其中对两个现存算法的改进,添加的五个新的算法,以及大量可以帮助你处理数据关系的可视化工具。如果你仅是草草地看上几眼,就将会错过所有你可以从对SQL (DMX)数据挖掘扩展,可编程模型,以及和在线分析处理(OLAP),SQL Server集成服务(SSIS)还有报告服务的改进中得到的丰富功能。这些改进可能使得创建一个全新的带有嵌入的数据挖掘技术的智能应用成为可能。

SQL Server 2005中的数据挖掘技术为我们展示了一些经过重大改进的工具。和Visual Studio®集成在一起的Business Intelligence (BI) Development Studio让你在开发工具箱中可以添加数据挖掘功能。在你的Visual Studio解决方案中一个数据挖掘项目可以和任何其它的开发项目同时存在。例如,你可以在不离开设计器的情况下做以下的事情:在一个分析服务项目中为预测商业销售设计模型,在一个SSIS项目中不断的完善你的模型,并且在一个Web项目中构建一个可以利用数据挖掘技术强大的预测能力的Web站点——并且将所有的这些组件打包成一个可用的解决方案。

就象其它的项目文件一样在一个分析服务项目中的数据挖掘对象作为一组文件是可以被共享,测试,或选入源代码控制程序保护的。当然你也可以使用Business Intelligence (BI) Development Studio直接连接到任何的分析服务数据库,去创建或者甚至去编辑一个正在工作的服务器上的对象。


QUOTE:
向导与设计器
SQL Server 2005分析服务对于所有的关键对象都提供了向导和设计器。向导被用来完成任何对象的初始创建,在分析服务2005它们已经足够灵活,因此大多数情况下你不需要随后再对对象作更多的调整。当你创建了对象后,使用定制的设计器可以用来对对象的细节进行优化。当要进行数据挖掘时,这里有两个向导和设计器是最常使用的:数据源视图向导和它的设计器,还有数据挖掘向导及其设计器。

在分析服务2000中,当要访问关系型数据时你需要指定一个数据源然后选择你想查看的表。如果相关数据源的数据视图并不符合你建模的需要,你必须通过创建格式符合你的需要的新表或视图来修改数据源。

分析服务2005提供了一个新的数据源视图(DSV)对象,它在你的数据源上面提供了一个抽象层。在这个抽象层中你可以指定数据源中哪些表是有用的,以及所有表,列,表关键字和关系(如果数据源中没有指定的话)的名称和注释。另外你也可以创建虚拟列,它被称为命名计算,和源于现存表的虚拟视图,它被称为命名查询。当你在分析服务中创建并且处理挖掘模型时,DSV的表现方式也就是虚拟列和视图,亦可被用作数据源。

那么,为什么这很重要呢?设想你正在对一个调查的反馈信息进行挖掘与分析,反馈值的范围从1一直到4,其中1代表“非常不满意”而4代表“非常满意”。作为分析的目的,你关心的是受访者到底是满意还是不满意。此时创建命名计算的功能允许你创建一个新的变量。在这个案例中,你只需要简单的右键单击在DSV设计器中的表并选择“创建命名计算”就可以完成它。在命名计算的对话框中你需要输入列的名字 “满意度”,然后输入一个含有上面所提到的代表满意度的值的表达式,如下所示:

QUOTE:
CASE SatisfactionLevel WHEN 3 THEN 'Yes'
    WHEN 4 THEN 'Yes'
    ELSE 'No'
END
一旦此列被添加到表中,它会和所有其它列一样显示出来。你甚至可以使用在DSV中展开的数据浏览工具去查看列的分布,如图表1所示。另外一个重要的方面是DSV允许你从异构数据源中选择表,这样就可在分布式数据环境下建模。



创建和编辑模型
新的数据挖掘向导可以让你在很简单的几个步骤中就创建出复杂的模型。这个向导对你的数据进行采样并发现如何建立适当的模型是基于你所选择算法的能力的。另外一个在此向导中的新功能让你能够轻易的创建实现任意嵌套的表。嵌套表允许你合并稀疏数据,比如事务性数据,连带着维度数据,比如人口统计数据。举个例子,你现在可以将人口数量对产品销售的影响和相互作用进行建模:哪些产品销售数据是对哪些人口统计数据的反映。在一个模型中的多表嵌套能力可以让我们进行更高级的建模。举个例子,你可以确认哪个剪辑对象与哪个电影相关联,甚至九月的销售怎样用来预测十月的销售。

当你运行完向导后,展现在你面前的就是数据挖掘设计器。这个设计器会让你感觉每一列的设置都触动了你的心弦(当然更重要的是,满足了你的建模需要),同时它也为另一个新的数据挖掘特性——挖掘结构的出场提供了首次展示的舞台。

挖掘结构是一组代表业务问题范围的列,同时也是一组将这些列应用到解决问题的算法中的挖掘模型。一个结构中的每个模型都指定了要使用哪个算法和参数以及在模型中每一列的使用方式。举个例子,你可以创建一个结构来检查年龄对消费者决策的扰动。你可以将年龄列多次添加到结构中;也可能你已经将它作为一个连续的列添加了一次,而另一次将它作为一个离散的列,该列自动的根据数据的分布将年龄放入了离散范围。你的结构随后可以有两个模型,一个使用连续的年龄而另一使用被放入离散范围的年龄。在结构中对模型的处理以使用单一数据读取的并行的方式出现。一旦模型已经处理完毕,你可以用它们来比较出不同的配置是如何对你的问题造成影响的。

浏览和查询模型
SQL Server 2005的数据挖掘提供了12个定制的可视化模型用来理解数据所使用的样式。它们每个看上去都是一个可以被嵌入到自定义的数据挖掘应用程序中的Windows®窗体控件。为了对你的模型进行比较并且确定一个模型的整体质量,使用了四个不同类型的精确性图表,它们包括:a lift chart, a profit chart, a confusion matrix, and an actual-versus-predicted plot

其中也包含了一个Microsoft® Access类型的查询生成器,它为生成用来对挖掘模型执行预测的DMX查询提供了一个图形化的界面。这个查询生成器允许通过拖拽的方式从你的模型或者源数据中选择列,另外它还提供了一个全面的列表,其中包括了所有应用到模型算法的函数和所有的函数原型(查看“DMX”工具条)。

该查询生成器使用了SHAPE运算符来自动处理在模型需要嵌套表输入时生成的查询。另外,你可以对查询生成器进行设置来产生“单独的”查询,在这样的查询中直接指定了输入数据。这样就允许你为一个预测查询来指定正确的输入,因而你可以获得这样的体验——直接看到更改输入对预测输出造成的影响。

对模型的浏览和查询可以在BI Development Studio或者新集成的SQL Management Studio中创建,其中后者还包含了一个和查询分析器很相似的DMX查询编辑器,以及一个上面带有许多常用的DMX查询窗体模板的模板浏览器。

在SQL Server数据挖掘的表面下面的是一个强大并且灵活的服务器。在SQL Server小组,我也是其中的一个成员,对待数据挖掘不是从典型的分析人员的观点上去看,而是从一个开发者的角度去看。我们问自己,应当做些什么来让数据挖掘对于开发人员来讲是可以理解的,以及开发人员如何才能利用数据挖掘的功能并将这种功能嵌入到他们的应用程序中。答案就是来创建一个完全可扩展的基于服务器的模型,它关注的是强大的算法,一个强大的API,以及深入的集成。

DMX扩展
SQL Server中的所有数据挖掘API的核心是DMX语言,它在OLE DB for Data Mining中进行了专门的描述,再加上SQL Server 2005数据挖掘的语言增强。在“DMX”工具条中的简单的DMX示例示范了如何获得对所有消费者的扰动概率。如果你只对最有可能的消费者进行扰动,DMX支持使用TOP 和 ORDER BY关键字,这样你就可以提交查询,代码如下所示:

QUOTE:
SELECT TOP 25 t.CustomerID   
FROM CustomerChurnModel
NATURAL PREDICTION JOIN
OPENQUERY('CustomerDataSource', 'SELECT * FROM Customers')
ORDER BY PredictProbability([Churned],True) DESC
以前复杂的DMX语句现在可以通过扩展和超负荷使用函数变得更简单;相应的示例是一个用来取回一个特定州概率的函数,正如刚刚展示的那样。使用常规的查询来显示内容信息的能力让你能够对于在模型中了解到的每一位的信息透过源数据来展示支持它的事实。例如,“在这个群集中出现了什么情况?”或者“支持这条规则的是什么情况?”

在DMX中的最大改变之一是一套你可以用在一条PREDICTION JOIN语句中的扩展的源数据。在SQL Server 2000中,你唯一的选择是OPENROWSET或者一个单独的SELECT查询,但是在SQL Server 2005中你将能够使用OPENQUERY对命名的数据源进行预测。DMX语句也允许你来预知另一个预测的输出,如此就允许将模型串联或者允许你来在同一个查询中对多个模型执行预测。MDX语句允许你对OLAP立方体直接执行预测,而一个分析用XML(XMLA)行集参数则允许你在服务器上对在客户机上的数据执行预测(无论服务器是否拥有直接访问目标数据源的能力)。


QUOTE:
数据挖掘APIs
由于分析服务现在是一个本地的XMLA服务器,因而一个数据挖掘模型可以立刻变成一个可以从运行任何平台的任何设备通过使用标准的SOAP协议来访问的一个Web服务。除了根级别XMLA API以外,在SQL Server 2005中的数据挖掘有两个新的API:用于客户端应用程序的ADOMD.NET以及用于管理和设计应用程序的分析管理对象(AMO)。当然,标准的OLE DB以及源自OLE DB的接口(ADO, ADO.NET)仍然可以使用。

ADOMD.NET是用作数据挖掘的被管理客户端接口。它使用了标准的ADO.NET对象(比如连接,命令,数据读取器,等等),加上一个完整的对象模型用来允许对数据挖掘模型的访问。模型和列的集合让你可以浏览模型的元数据,而MiningContentNode对象让你可以通过编程访问一个模型已知的内容。

AMO提供了一整套的用来创建和维护数据挖掘对象的对象。其中它涉及到了模型安全性,处理,以及备份和还原。

管理存储过程和用户定义的函数
SQL Server 2005分析服务让你可以导入管理组件到服务器中。一个对象模型,暂时被称为“服务器ADOMD”,几乎等同于ADOMD.NET。它允许你创建存储过程和用户定义的函数(UDFs),直接访问在服务器上的某个模型的内容。当模型中包含了潜在的可能成千甚至成百万的规则而你的客户端只需要其中的很少的一部份时,它的价值是无法估量的。实际上,数据挖掘查看器自己调用存储过程来减少客户端所需提供信息的数量。在一个用户定义的函数中使用内容对象模型让你可以做任何感兴趣的事,比如和结果一同返回预测的理由。举个例子,你可能有一个如下所示的函数:

QUOTE:
Public Function GetNodeDescription(ByVal strNodeId As String) As String
  Return Context.CurrentMiningModel.GetNodeFromUniqueName( _
    strNodeId).Description
End Function
然后你可以象这样从DMX中调用它:

QUOTE:
SELECT Predict([Churn]),
  assembly.namespace.class.GetNodeDescription(PredictNodeId([Churn]))
    as Description
FROM CustomerChurnModel PREDICTION JOIN
  <input rowset>
除了你自己的用户定义函数,标准的Visual Basic for Applications (VBA) 和 Excel函数也可以作为用户定义函数来调用。例如,你可以使用Excel VBA Log函数来获取记录的概率,具体如下所示:

QUOTE:
SELECT Excel!Log(PredictProbability([Churn],True))
FROM CustomerChurnModel PREDICTION JOIN
  <input rowset>
数据挖掘应用程序也可利用在SQL Server 2005中提供的Business Intelligence平台的余下的一些特性。OLAP, SSIS和报表服务都以一种有意义的方式集成到了数据挖掘中。

在SQL Server 2000的时代,数据挖掘模型可以直接构建在OLAP立方体之上。不过,与以前一个模型总是要使用在立方体中的所有数据相对的,现在此类模型可以构建在立方体的任意的部份之上。OLAP挖掘模型是通过首先选择一个维度以及一个你想对它的成员进行分析的级别,比如消费者,然后选择作为你的挖掘模型的列的属性和与这些成员相关的度量值的方式来构建的。相关的维度,比如一个产品维度,可被选作嵌套表并且可以被应用到每一个的独立部份。这一能力允许你可以构建能够回答象“在品牌X和在四月份卖给住在华盛顿州30岁之下男性顾客的产品Y之间的关系是什么?”这样问题的模型。

一旦一个OLAP模型已经成熟,该模型的内容可以通过一个数据挖掘维度应用回立方体。这种类型的维度允许你通过根据数据挖掘算法所发现的样式将立方体进行切分。例如,你可以创建一个聚簇的模型,将你的立方体分割成自然组,并且随后在一段时间内使用标准的立方体浏览工具来跟踪跨越这些组的度量值。

在SQL Server 2005中的SSIS有着传统的任务环境以及一个新的数据管道环境。数据挖掘的培养和预测任务可以与作为输入到或者输出于数据挖掘引擎的SSIS环境变量相结合。数据挖掘转换直接在数据管道之上工作,它允许你要执行动作的整个的范围从简单的用有预见性的结果来增强数据到允许在培养或者预测之前发生的复杂数据转换。通过让你的数据直接在它的管道之上工作,你就不再需要再通过将其放到一个临时的结果集中来提供数据了。

最终,数据挖掘的结果可以通过与报表服务的集成来直接部署。任何数据挖掘查询可以作为一个报表提供出来,并且一个数据挖掘查询可以被用作一个报表分布的源。智能报表可以显示我已经描述过的消费者扰动的结果。


QUOTE:
扩展能力
一个你可能在做数据挖掘工作时已经得到的教训是:在大多数情况下,如果你的数据挖掘解决方案不包含用户所需要的算法,用户可能不会或不愿使用你的解决方案。正是因为这种在动态产品上的需求的存在,SQL Server 2005允许通过一套扩展的API,让另外的数据挖掘算法可以被添加到引擎中。集成到数据挖掘引擎中的由第三方算法使用的COM API从逻辑上等同于微软算法使用的API。这意味着对于第三方的算法不存在内置的限制,它们还可以利用一些诸如DMX语法,存储过程,用户定义的函数,以及BI系统集成等现成的特性而无须重复劳动。为第三方和微软自己的算法自定义的视图也可以集成到数据挖掘工具中。

结论
SQL Server 2005使得一些曾经很神秘的技术走下神坛并能为更多的读者所接受。通过提供易于使用的工具,熟悉的APIs,以及与多个Microsoft BI组件的集成,同时通过在SQL Server上开发应用程序的技术人员所发挥的创造力,数据挖掘最终为所有的用户所使用并从中获益。SQL Server 2005包含了一个能带你入门的出色的数据挖掘指南。


QUOTE:
版权说明
该白皮书为初步文档,可能会在所述软件进行最后商业发布之前做完全修改。
该文档所含信息代表微软公司在文档出版时对所论及问题的当前看法。由于微软必须对千变万化的市场情况做出相应反应,因此本文档不应视为微软的任何承诺,且微软不保证所陈述任何信息在产品发布后的准确性。
本白皮书仅供信息参考。微软对本文件中的信息不做任何明示或默示保证。
遵守所有适用的版权法律是用户应尽的责任。下述陈述不限制任何版权,在未获得微软公司明示书面许可的情况下,不得以任何目的复制本文档任何部分或将任何部分保存或引入检索系统、亦不得以任何形式(电子、机械、影印、录制或其他方式)进行传播。
微软在文件所述主题中拥有专利权、专利应用程序、商标、版权或其他知识产权。除非在微软的任何书面许可协议中明示规定,否则对本文档的提供不得视为对任何专利权、商标、版权或其他知识产权许可的提供。
除非特别声明,本文中描述的示例公司、组织、产品、域名、e-mail地址、徽标、人物、地点以及事件均为虚构的,不应与任何实际的公司、组织、产品、域名、e-mail地址、徽标、人物、地点以及事件有任何的联系。
© 2005微软公司版权所有。
Microsoft和ActiveX是微软公司在美国和其他国家的注册商标或商标。
本文中实际公司和产品的名称可能是其相应所有者的商标。
[ 本帖最后由 xiaoxinlucky 于 2008-2-1 15:55 编辑 ]



最全面的资料《SQL Server数据管理》
2008-2-1 15:532楼
[ 顶部 ]
     
论坛跳转:  

| | |

| | |

标记已读 · 删除论坛Cookies · 文本版 · WAP
 
| 诚征版主 | 版主堂 | 意见建议 | 大史记 | 论坛地图
Copyright©2005-2008 51CTO.COM  Powered by Discuz!
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系。
京ICP备05051492号