当前位置:首页 > 软件开发 > dev
firefox

SQL Server 2005 Data Mining简介

简介  企业均在尝试分析其数据时都面临若干问题。通常,并不缺乏数据。事实上,很多企业感觉到他们被数据淹没了;他们没有办法完全利用所有的数据,将其变成信息。为了处理这方面的问题,开发了数据仓库技术,以让企业从异构的数据源获取大量数据,并将其变成实用信息。
    恰当实现的数据仓库是具有惊人强大功能的解决方案。公司可以对信息进行分析,并将其加以利用,以进行明智的决策。通过使用数据仓库,可以为您提供以下问题的答案:
•哪些产品最受 15-20 岁的女性欢迎?
•特定消费者的订单前置时间和按时交付的百分比与所有消费者的平均值相比如何?
•病房花在每个病人身上的成本和时间是多少?
•在签约阶段停滞时间超过十天的项目所占的百分比为多少?
•如果某个特定的实验室在某类特定的药品上投入了较多的资金,临床试验结果是否显示病人健康状况好于其他实验室?
    除了这些通常可通过使用分析应用程序得出答案的问题之外,数据仓库还支持各种数据交付格式。分析应用程序设计为供分析人员使用,分析人员会对数据进行细分,研究较低级别的细节。报告应用程序会创建书面报告或联机报告,这些报告供功能要求略低的用户使用,提供静态内容,或提供有限的深入挖掘功能。对于业务决策者而言,计分卡是非常强大的功能,可以提供公司关键性能指标的概况,使决策者知道其身处何处。
    尽管数据仓库强大而适用,但其自身有一个局限:它实质上反映的是过去的情况。由于数据仓库经常在夜间或按周加载和处理,因此其表示一个时间快照。实时或近似实时的数据仓库可能实现,且会变得更常见,在最佳的情况下,其数据将仍然表示当前数据和历史数据。业务决策者和分析人员需要研究此数据,为了发现因果关系,数据仓库需要进行一定量的分析。
    不是让人提出假设,然后据此去找相关数据,而是让数据仓库确定关系、预测未来时间、发现劣质数据,并允许采用以前从来不可能的方式对数据进行分析,这是不是更为有帮助呢?这可以通过使用数据挖掘而实现。通过使用数据挖掘,可以得出诸如以下这样的问题的答案:
•客户将购买什么产品?哪些产品将一起销售?
•公司如何预测哪些消费者可能会流失?
•市场状况如何,将会如何发展?
•企业如何对其网站使用模式进行最佳的分析?
•组织如何确定营销活动是否成功?
•企业如何防止劣质数据进入系统?
•什么是分析非结构化数据(如无格式文本)的最好技术?
    microsoft 在 microsoft® sql server™ 2005 中引入了大量新的数据挖掘功能,允许企业给出这些问题和其他问题的答案。本文将详细讨论数据挖掘可以解决的各种问题,并介绍 sql server 2005 处理这些问题的方式。本文中包括对典型数据挖掘问题的概述,并对 sql server 2005 中可用于解决这些问题的工具和模型进行了介绍。

数据挖掘的承诺
    数据挖掘承诺将使企业决策者和分析人员更为轻松。除了仅预测未来性能外,数据挖掘将帮助标识数据中可能会被忽略的关系,根据各种环境计算特定产品售出的几率或特定消费者可能到别处进行购买的几率,诸如此类。
    microsoft 数据挖掘工具不仅仅提供传统数据挖掘功能。以前的数据挖掘功能对数据进行分析,寻找各个元素间以前未知的关系,是典型的“运行后即完成”过程。换句话说,公司运行数据挖掘工具,然后就查看结果。microsoft 数据挖掘工具不仅仅是完成特定作业的工具,它们还将执行其相关工作,并立即反过来将结果应用到过程中。这意味着数据挖掘模型可能根据特定的标准对消费者进行分组,而分析人员随后就能立即根据这些新的客户分组情况细分数据。
    将数据挖掘模型的结果立即提供到分析过程的这个能力表示组织现在可以立即确定如何最佳地对数据进行分析。目前,大部分组织都按照地域对消费者进行划分,仅包括有限的类似于人口统计的信息,如收入或教育程度等。数据挖掘可能会认为特定的消费者划分方式比任何地理界定更为有意义,例如,喜欢经典音乐和玩拖拉机游戏的高收入人群可能更喜欢特定的产品,而不会受其教育程度或地域的影响。一旦建立这个消费群后,就可以在分析阶段使用其对数据进行分析。使用不甚明显的分组方式分析数据是数据挖掘的最大好处之一。
    可以使用数据挖掘模型的输出对数据进行分析,这是一个非常强大的功能,但也可以在集成阶段使用这些数据。换句话说,在组织将来自整个企业的数据进行合并的过程中,数据挖掘可以根据其他数据确定数据是否有意义。可以在商业智能项目集成期间发现不规则数据,而这意味着所得到的数据仓库更为清楚,对其进行分析将会更加准确和有意义。
    数据收集应用程序进一步扩展了数据挖掘,可以应用用于在数据源消除劣质数据的规则。这意味着在数据输入时,将根据现有数据总体对其进行检查,以确定其可靠性。可以拒绝可靠性低于一定级别的数据。因此,如果某个 web 窗体接受用户信息,而用户输入的出生日期为 2/7/ 1197,则将在其源处拒绝该数据。不过,除了简单的日期之外,输入还可以查找出生日期、教育程度、职业和收入的组合,以确定其可靠程度,并决定接受数据还是将其拒绝。
    因此,数据挖掘远不只是一个运行一次然后进行分析的简单过程,它已成为了商业智能 (bi) 应用程序、数据集成、数据分析和报告的整个开发生命周期中不可或缺的部分。


sql server 2005 data mining
简介
    microsoft sql server 2005 data mining 平台引入了大量的功能,既能采用传统方式处理数据挖掘,也能采取新的方式进行数据挖掘工作。就传统方式而言,数据挖掘可以根据输入来预测未来的结果,或者尝试发现以前未识别但类似的组中的数据或簇数据间的关系。
    microsoft 数据挖掘工具与传统数据挖掘应用程序有很大的不同。首先,它们支持组织中数据的整个开发生命周期(microsoft 将其称为集成、分析和报告)。此功能使得数据挖掘结果不再仅限于供少数专门的分析人员使用,而将其向整个组织开放了。其次,sql server 2005 data mining 是开发智能应用程序的平台,而并非一个独立应用程序。由于可以方便地从外部访问数据挖掘模型,因而可以构建智能化的自定义应用程序。而且,该模型具有可扩展性,因此第三方可以添加自定义算法以支持特定的挖掘需求。最后,microsoft 数据挖掘算法还可以实时运行,允许实时根据挖掘的数据集进行数据验证。


创建智能应用程序
    创建智能应用程序实际上就是利用数据挖掘的各种优势,将其应用到整个数据输入、集成、分析和报告过程中。大部分数据挖掘工具都可以预测未来的结果,帮助确定不同数据元素之间的关系。这些工具中的大部分都针对数据运行,将生成随后分别解释的结果。很多数据挖掘工具都是独立应用程序,专为预测需求或识别关系而存在,其功能也就仅限于此。
    智能应用程序将获取数据挖掘的输出,将其作为输入应用到整个流程。使用数据挖掘模型的应用程序的一个例子就是用于接受个人信息的数据输入表单。应用程序的用户可以输入大量数据,如出生日期、性别、教育程度、收入水平、职业,等等。属性的某些组合并不合乎逻辑;例如,七岁的小孩的职业是医生且其有高中文凭,这就表示有人在随便填入数据或者表明此人不具有处理数据输入表单的能力。大部分应用程序会通过实现复杂而层层嵌套的逻辑来处理此类问题,但实际上,要确定所有此类数据组合是否有效,几乎是不可能的。
    为了解决此问题,企业可以使用数据挖掘来查询现有的数据,据此构建有效数据组合的规则。每个组合都给予一个可靠程度计分。组织然后就可以构建数据输入程序,使用数据挖掘模型进行实时数据输入验证。该模型将根据现有数据总体给输入计分,并返回输入的可靠程度。应用程序然后可以根据预先确定的可靠程度阈值来决定是否接受输入。
    此例说明了使用可以实时运行的数据挖掘引擎的好处:可以编写能利用数据挖掘的强大功能的应用程序。数据挖掘并非最终结果,它成为了整个过程的一部分,在集成、分析和报告的每个阶段都起到一定的作用。
    数据挖掘可以用在数据集成过程的前端,以验证输入,也可以在分析阶段使用数据挖掘。数据挖掘提供了分组或簇化值的功能,例如,可以根据关键字将类似的消费者或文档归入同一个组中。然后可以将这些簇送回到数据仓库,从而可以使用这些分组执行分析。一旦知道了分组情况并将其送回到分析循环中,分析人员就可以使用它们来采用以前不可能的方式查看数据。
    智能应用程序的一个主要目标就是使得每个人都可以使用数据挖掘模型,而不再是分析人员的专利。过去,数据挖掘一直是具有统计学或操作研究背景的专家的领域。为支持此类用户而构建了很多数据挖掘工具,但这些工具并不能方便地与其他应用程序集成。因此,在数据挖掘产品本身之外使用数据挖掘信息的能力非常受限制。不过,通过使用跨整个过程且将其模型和结果对其他应用程序开放的工具,企业可以创建能在任何阶段使用数据挖掘模型的智能应用程序。
    平台采用集中的服务器存储数据挖掘模型和结果,这是平台有利于创建智能应用程序的另一方面。这些模型通常具有高度的专用性,且非常机密。将其存储在服务器上,可以防止其分散到组织外部。所带来的额外的好处就是,通过为模型提供共享位置,公司可以为每个模型保持单一版本,而不会在每个分析人员的桌面上存在多个变体。具有“事实的单一版本”是数据仓库的目标之一,此概念也可以扩展到数据挖掘,因此创建的模型也具有单一版本,并针对特定业务进行了优化。


sql server 2005 数据挖掘功能的优势
    sql server 2005 数据挖掘功能具有优于传统数据挖掘应用程序的众多优势。正如前面所讨论的,sql server 2005 数据挖掘功能与所有 sql server 产品实现了集成,包括 sql server、sql server integration services 和 analysis services。sql server 数据挖掘工具不是公司运行以生成输出(稍后将独立于分析过程的其他部分对其进行分析)的单个应用程序。数据挖掘功能嵌入到整个过程中,可以实时运行,且结果可以发送回集成、分析或报告过程。不过,如果这些功能难于使用,则没有什么实际意义。很幸运的是,microsoft 特别关注工具的易用性。
易于使用
    通过 sql server 2005,microsoft 努力将数据挖掘从博士们的实验室中搬出来,让负责设置和运行数据模型的开发人员和数据库管理员 (dba)、任何分析人员、决策者或可以使用模型输出的其他用户也可以使用数据挖掘,而不需要具有任何专门知识。
    例如,一家使用 sql server 2005 早期版本的公司希望创建一个交叉销售应用程序。交叉销售会根据人们的购买模式和当前购买的产品向其推荐产品。例如,某个消费者购买了特定女影星主演的三部电影,则该顾客可能对同类电影中该女影星主演的电影更感兴趣。另一方面,对科幻小说和恐怖电影感兴趣的消费者可能不会对爱情影片的交叉促销感兴趣。
    为了实现交叉销售程序,该公司求助于 dba,而不是分析人员。dba 使用 sql server 2005 新数据挖掘功能设置了一个预测模型,该模型将根据各种因素(包括历史销售数据和消费者的个人信息)进行建议。这个已就绪的模型每秒钟可就此特定的消费者产生一百万个预测。最终结果:实现新模型后,推荐产品的销售翻了一番。
简单而丰富的 api
    sql server 2005 中的数据挖掘功能具有一个非常强大却甚为简单的 api,这使得创建智能应用程序非常简单。利用该 api,无需了解每个模型的内部细节及其工作原理,就可从客户端应用程序调用预测模型。这使得开发人员可以根据分析的数据调用引擎并选择能提供最佳结果的模型。返回的数据已被标记化,即数字值在一系列属性中返回。这使得开发人员可以使用简单数据,而不用面对新的数据格式。
    访问数据挖掘结果非常简单,通过使用一种与 sql 相似的语言即可(称为 data mining extensions to sql 或 dmx)。其语法设计为非常适合已经了解 sql 的人员使用。例如,dmx 查询可以与以下所示类似。
  select top 25 t.customerid  
  from customerchurnmodel
  natural prediction join
  openquery(customerdatasource, select * from customers)
  order by predictprobability([churned],true) desc
可伸缩性
    sql server 2005 中最重要的数据挖掘功能就是其处理大型数据集的能力。在很多数据挖掘工具中,分析人员必须创建有效的随机数据样本,并对该随机样本运行数据挖掘应用程序。尽管生成随机样本听起来非常容易,但统计学家可以提出大量的理由,说明为什么生成有效且真正具有随机性的样本是非常困难且充满风险的。
    sql server 2005 允许模型对整个数据集运行,从而消除了采样方面的挑战。这意味着分析人员不必创建样本集,算法将在所有数据上有效,从而能提供最为准确的结果。
sql server 2005 数据挖掘算法
sql server 2005 中可以使用很多算法(见下表)。

模型

 ↓相关文章:
© 2006-2008 All Rights Reserved