Craig Utley
简介
企业均在尝试分析其数据时都面临若干问题。通常,并不缺乏数据。事实上,很多企业感觉到他们被数据淹没了;他们没有办法完全利用所有的数据,将其变成信息。为了处理这方面的问题,开发了数据仓库技术,以让企业从异构的数据源获取大量数据,并将其变成实用信息。
恰当实现的数据仓库是具有惊人强大功能的解决方案。公司可以对信息进行分析,并将其加以利用,以进行明智的决策。通过使用数据仓库,可以为您提供以下问题的答案:
•哪些产品最受 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 中可以使用很多算法(见下表)。
模型 | 描述 |
决策树 | 决策树算法将基于培训集中的值计算输出的几率。例如,20-30 岁年龄组中每年收入超过 60,000 美元,且有自己的房子的人比没有自己房子的 15-19 岁年龄组的人更可能需要别人提供整理草坪的服务。以年龄、收入和是否有房子等信息为基础,决策树算法可以根据历史数据计算某个人需要整理草坪的服务的几率。 |
关联规则 | 关联规则算法将帮助识别各种元素之间的关系。例如,在交叉销售解决方案中就使用了该算法,因为它会记录各个项之间的关系,可以用于预测购买某个产品的人也会有兴趣购买何种产品。关联规则算法可以处理异常大的目录,经过了包含超过五十万种商品的目录的测试。 |
Naïve Bayes | Naïve Bayes 算法用于清楚地显示针对不同数据元素特定变量中的差异。例如,数据库中每个消费者的 Household Income(家庭收入)变量都会不同,可以作为预测未来购买活动的参数使用。此模型在显示特定组间的差异方面尤为出色,如那些流失的消费者和那些未流失的消费者。 |
顺序簇化 | 顺序簇化算法用于根据以前时间的顺序分组或簇化数据。例如,Web 应用程序的用户经常按照各种路径浏览网站。此算法可以根据浏览站点的页面顺序对用户进行分组,以帮助分析消费者并确定是否某个路径比其他路径具有更高的收益。此算法还可以用于进行预测,例如预测用户可能访问的下一个页面。请注意,顺序簇化算法的预测能力是许多其他数据挖掘供应商所无法提供的功能。 |
时间序列 | 时间序列算法用于分析和预测基于时间的数据。销售额是最常见的使用时间序列算法进行分析和预测的数据。此算法将发现多个数据序列所反映出来的模式,以便企业确定不同的元素对所分析序列的影响。 |
神经网络 | 神经网络是人工智能的核心。它们旨在发现数据中其他算法没有发现的关系。神经网络算法一般比其他算法更慢,但它可以发现各种并不直观的关系。 |
文本挖掘 | 文本挖掘算法出现在 SQL Server Integration Services 中,用于分析非结构化的文本数据。利用此算法,各个公司可以对非结构化数据进行分析,如消费者满意度调查中的“comments”(注释)节。 |
可扩展性
SQL Server 2005 包括了大量可以立即使用的算法,而 SQL Server 2005 所使用的模型允许任何供应商向数据挖掘引擎添加新模型。这些模型将与 SQL Server 2005 提供的模型处于同等位置。第三方的算法还可以享有其他功能所带来的优势:可以使用 DMX 对其进行调用,且易于集成到集成、分析和报告过程的任何部分中。
SQL Server 2005 Data Mining 与端到端商业智能
数据集成
集成阶段包括从异构源捕获数据、传输数据和将其加载到一个或多个源中。传统数据挖掘工具在集成阶段几乎没有任何作用,因为正是在这个阶段捕获数据,将其准备用于进行挖掘。尽管这个听起来像先有鸡还是先有蛋的问题,Microsoft 对于此阶段的处理方法相当直接:捕获数据,合并数据,挖掘数据,然后将数据挖掘的结果应用到当前和所有将来的数据。而且,数据挖掘算法可以帮助各个公司发现已经存在于数据中的多余数据,或者在传统的提取、转换和加载 (ETL) 过程中生成的多余数据。
在集成阶段,如果可以接受插补值,则也可以接受模型所提供的缺失值。这些值可能来自前一段时间,也可以预测未来的活动。Microsoft 数据挖掘工具可以从集成阶段动态生成数字,而不是仅在集成完成后才能提供,这一点颇具优势。
数据挖掘工具与 SQL Server Integration Services 实现了集成。这意味着在数据移动和转换阶段,可以根据数据挖掘模型的预测输出分析和修改数据。例如,可以动态地分析文档或文本字段,并根据文档内的关键字放入恰当的存储桶中。
数据分析
典型的数据挖掘工具将在构建了数据仓库后生成结果,而这些结果独立于在数据仓库上完成的其他分析单独进行分析。将生成预测或标识关系,但数据挖掘模型的结果通常独立于数据仓库中使用的数据。
Microsoft 工具与整个过程实现了集成。正如可在 SQL Server Integration Services 中使用数据挖掘一样,在 Analysis Services和 SQL Server 中也可以看到数据挖掘带来的好处。不管公司选择使用关系数据还是 OLAP 数据,数据挖掘在分析阶段带来的优势都十分明显。得益于通用数据模型 (UDM),才能以透明的方式对关系数据和 OLAP 数据进行分析,而数据挖掘则对此分析起到了促进作用。
当分析特定数据元素时,如产品之间的关系如何以及如何根据购买模式和网站浏览模式对消费者进行分组,各种数据挖掘模型可以确定如何将这些客户或产品划分为对分析有意义的组群。当把这些组发送回分析过程时,数据挖掘引擎允许分析人员和用户根据这些簇进行划分和细化。
报告
一旦建模完成,创建了正确的模型,数据挖掘的重点就从分析转到了结果上,而且更重要的是通过将结果在正确的时间送到正确的人手中,以将这些结果应用到工作中。SQL Server 2005 中实现了数据挖掘和报告的集成,可以通过简单灵活且可伸缩的方式向组织中的任何人提供预测结果。
通过充分利用 SQL Server 2005 Reporting Services,预测模型的结果通过将报告嵌入 Microsoft SharePoint® Services,可以轻松地部署到打印报告、Microsoft Office 文档或内部网中。例如,一个部门可以方便地看到产品销售的智能预测,或将最可能购买某个产品的消费者列表分发到呼叫中心。他们甚至可以看到显示消费者购买或不购买产品的十大原因,从而合理地分配销售人力。Microsoft 通过以易于理解的方式向用户报告、提供有意义的数据,可以轻松地使用数据挖掘的智能和强大功能。
使用数据挖掘可以解决的问题
谈到数据挖掘可以解决的业务问题时,很多人都会想到购物篮分析或发现数据间的关系,这些在以前都已经广为人知了。实际上,很多问题都可以通过数据挖掘得到解决,但要处理这些问题,重要的是要认识到数据挖掘可以适用于集成、分析和报告过程的任意阶段。
问题 1:消费者将购买什么产品?哪些产品会一起销售?
最广为人知的数据挖掘应用就是传统的购物篮分析,在此过程中将研究各个产品间的关系。各个公司(特别是零售行业的公司)非常关心哪些产品会一起销售。知道了这个问题,公司就可以进行促销,开展交叉销售。各个公司都在努力识别产品间可能不太明显的关系,如啤酒与尿布销售密切相关的经典例子,这个现象的原因在于,很多被太太派到商店购买尿布的男士也会顺便在商店中购买啤酒。
数据挖掘可以帮助公司检查所有的产品,以确定其他产品与某个产品一起销售的几率。例如,如果瓶装销售花生酱,哪些产品可能与其一起销售?具体来说,就是每种产品组合销售的几率是多少?购买花生酱的人购买面包或薄脆饼干的几率高吗?果冻呢?这些可能非常明显,但购物篮分析应该根据花生酱对所有项进行排序,从而使公司可以确定如何进行营销和进行产品投放决策。
通过使用 SQL Server Data Mining,各个公司可以分析关系数据仓库或 OLAP 数据集中的数据,以发现最常见的产品组合。Microsoft Association Rules 算法将确定一起出现的项,并派生指示相互关系的规则。而且,除了进行简单的分析之外,公司还可以应用使用 SQL Server Data Mining 创建的模型,以生成实时产品建议,从而在销售点提供优惠,或在在线购物篮中增加相关产品的销售。
问题 2:标识将流失的消费者
企业花费了大量的时间、精力和金钱来吸引消费者。随着获得新顾客的成本增加,留住消费者成了各个公司的一个主要问题。在某些行业(如电信行业),客户经常会流失,或经常不停地更换运营商,注册以获得优惠或特价,然后又会很快转向另一个运营商以获得其优惠。
通过标识那些可能会流失的消费者,公司可以更好地决定是否接受这些消费者,或制定相关策略以减少流失,从而提高顾客保有情况。数据挖掘通过分析已流失的消费者和未流失的消费者,并标识可以帮助预测新用户行为的特征,从而可以帮助标识可能要流失的消费者。
SQL Server Data Mining 包含多种算法,可以根据历史数据执行流失性分析。这些算法当中的每一种都提供了每个消费者是离开还是留下的概率或可能性。SQL Server Data Mining 提供了若干个简单的工具,可以方便地确定对于特定的情况,哪种算法和设置能够生成最为准确的模型,从而保证组织将获得最好的结果。一旦公司选择了最佳模型,就可以使用 DMX 语言和 SQL Server Reporting Services、通过 Web 报告或 SharePoint 门户来提供最可能流失的客户的列表,从而将此模型投入实际工作中。
问题 3:市场状况如何,将会如何发展?
预测未来的销售不仅仅是预测未来的收入;很多企业使用预测的销售量确定人员雇佣、原材料订购和供应并计划营销活动。那些非常强调未来销售量预测或其他市场活动预测的公司长期以来都使用各种统计方法进行趋势分析。利用某些模型,还可以对特定经济因素进行预测。这些模型中的大多数无法创建考虑了其他任意数据序列影响的预测。例如,它们在预测库存水平时不会考虑产品销售情况。
SQL Server Data Mining 中的 Time Series 算法将在考虑业务周期的自然周期性的同时跨多个数据序列研究期间的关系。公司不仅能预测单个商品的结果,还可以了解商品销售与其他因素如何相关,或者销售模式如何随时间更改和发展。
问题 4:分析网站
网站目前已成为很多企业不可或缺的一部分。网站扮演着主要营销工具的角色,让公司能够全天候地面对全球的访问者。监视正常运行时间、可伸缩性和响应能力都非常关键,但其他有一些测量值比较难以获取,但却能为了解消费者的习惯提供很大的帮助。此类问题不是简单的用户通常浏览网站的路径,而还要涉及到如何对这些用户进行分组和分析。例如,从主页开始,然后浏览产品和联系人页面的网站访问者与通过不同网站进入产品页面,然后访问服务页面的访问者就不一样。
数据挖掘使您不仅能够根据其在网站浏览的路径对网站访问者进行分组,还能够根据这些分组对数据进行分析。例如,可以按照用户组分析销售情况。可以在用户组、订购的产品和网站导航间建立关系。根据用户的进入位置和其从中进入的网页,可以对各种营销活动的效果进行分析,并用于帮助预测未来工作的结果。
SQL Server Data Mining 提供的 Microsoft Sequence Clustering 算法允许公司根据用户使用公司网站的情况(而不只是他们访问哪些页面)对用户进行划分。然后可以将此划分操作的结果导入到 Analysis Services 数据集中,以进行趋势分析和历史分析。然后可以使用 Microsoft Time Series 算法预测这些组的销售情况或来自这些组的流量,从而提供宝贵的营销和操作信息,以帮助确定如何组织公司的网站内容,以尽可能提高价值和效率。
问题 5:确定营销活动是否成功
一些企业花费了大量的资金开展营销活动,但很少投入资金进行深入的用户调查和聚焦组研究,以确定营销活动的效果。大部分企业直接通过将活动期间的销售情况与之前一段时间的销售情况进行对比分析,以猜测特定活动的效果,但这样做忽略了大量的其他问题,如公司推出的新产品的影响。
通过使用数据挖掘,各个公司可以在考虑了当前产品投放情况、无活动情况下的预计销售情况、消费者信息统计方面发生的变化等等的同时,分析营销活动的影响。企业还可以预测未来营销活动的成功与否,并据此调整其资金投入。
SQL Server Data Mining 提供了各种工具,可以帮助公司确定其营销活动的目标和对其工作进行优化,以获得最大的效益。通过使用 Microsoft Windows® Clustering 算法,企业可以确定其消费群的差异与相似之处,并相应地调整其营销战略。通过使用 Microsoft Decision Trees 和其他算法,可以预测最可能响应某个活动的消费者,使得公司可以从其营销投入获得最大的回报。通过 SQL Server Integration Services,各个公司可以快速方便地将这些模型投入生产,生成邮件列表,这些列表专为其最大的客户群而设计,包含了专门针对这些客户而定制的营销信息。
问题 6:劣质数据
没有哪个组织具有完全干净的数据。构建数据仓库的数据集市可能是发现劣质数据的最有效办法,不过,这并非开发数据仓库技术的原意。数据仓库发现各种问题,如空值或值缺失、无效日期、格式错误的日期、可接受范围之外的数据以及不一致数据(如某个订单的货物在下订单之前就已经发货了)。
谈到处理数据质量时,提取、转换和加载 (ETL) 过程最有发言权。正是在这个过程中(特别是转换部分),应当对数据进行清理。不过,在此阶段清理数据并不会防止劣质数据在将来进入其中。必须修改数据输入应用程序,以限制数据输入和防止源处出现错误。这是减少创建 ETL 过程所需的工作所带来的额外好处。
人们经常将数据挖掘看作最终的结果,但数据挖掘技术是帮助在数据输入应用程序验证数据输入的一个很棒的方法。通过对现有数据进行挖掘,应用程序可以使用可靠程度来确定该数据是否健全。这意味着数据输入应用程序不会受到试图验证输入的复杂决策树的重压。例如,如果某人声称其年龄为十四岁,具有博士学位,其工作为收款员,则此数据的可靠程度很低,应该在输入级将其拒绝。能够使用最终结果的数据挖掘在前端验证数据输入是一个强大的功能,可以在第一时间将劣质数据排除在应用程序之外。
SQL Server Data Mining 允许各个公司在劣质数据影响输入系统之前将其识别出来,避免降低总体质量和分析能力。不管各个公司需要在输入点使用 DMX 和 .NET 编程实时验证数据,还是要在使用 SQL Server Integration Services 加载数据仓库时将数据管线中多余的数据筛选掉,SQL Server Data Mining 均可提供在劣质数据影响组织的收益前对数据进行清理的能力。
问题 7:文本分析
很多应用程序允许输入无格式文本,而不管是通过网页还是标准 Windows 应用程序输入。存储此数据非常简单,但对其执行分析要困难很多。虽然有全文索引引擎,但这些工具通常会为了进行搜索而对文本进行索引;它们不会对数据进行分析,以发现趋势或根据内容对文档分类。
分析无格式文本(或文本挖掘)将获取文本字段或文档中的词,然后提取出关键词。这允许文档或注释被簇化或分类。然后可以使用这些文档的簇进行数据分析,就像分析可以使用的时间和产品信息一样。例如,可以基于一类将产品安全作为主要组成内容的文档执行分析,或者,也可以根据消费者在无格式文本字段中列出的爱好对记录进行分组。正是具有了这个在文档和其他形式的无格式文本中查找共同主题的能力,才能够根据这些文档的簇进行数据分析。
SQL Server Data Mining 给企业带来了强大的功能,可以将其所获得的大量非结构化数据转换为结构化信息,以供进行分析时使用。在 SQL Server Integration Services 中对文本数据进行了转换后,组织可以将结果加载到 Analysis Services 数据集、挖掘模型甚至 SQL Server Reporting Services 报告中,以仔细研究消费者关心的具体问题。
结束语
Microsoft 的数据挖掘方法具有革命性。Microsoft 没有创建用于生成组或预测未来结果的独立工具,而是创建了一个平台,该平台跨越了处理数据的整个过程(即集成、分析和报告)。
这意味着数据挖掘模型的输出可以立即应用回数据收集、转换和分析过程中。可以检测现有数据集中的不规则数据,而且可以根据现有数据实时地验证新数据输入。这样就使开发人员不必在应用程序代码中创建复杂的决策树,以验证多个数据值的复杂输入。
而且,模型输出还可以立即应用到分析阶段。如果数据挖掘模型根据购买模式或导航网站的模式将消费者分为若干组,这些组将发送到分析循环中,以便使用这些组执行分析,就像这些组开始时就已内置到数据仓库中一样。分析人员和其他有相关知识的员工可以通过这些分组对数据进行细分,以发现某个特定的组带来的收益是否更大。
Microsoft 还构建了一个安全平台,在其中,挖掘模型及其输出均集中存储在一个中央位置。模型将不再存储在难于控制的各个独立计算机上。此外,具有一个集中的模型可以确保所有分析人员和用户均使用相同的模型。
Craig Utley 是 KiZAN Technologies LLC 的开发副总裁,他的团队主要进行商业智能解决方案和企业应用程序设计与开发。他从 Microsoft 最初推出商业智能产品开始就一直使用此类产品,致力于为美国各家公司提供 BI 和数据仓库解决方案。他自己写书,也进行演讲,而且是 Microsoft MVP。
本文是与 A23 Consulting 合作完成的。