您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > SQLServer数据挖掘在企业中的应用
SQLServer数据挖掘在企业中的应用什么是数据挖掘?对于数据挖掘有两个常见的误区,一个是认为数据挖掘就是商业智能,另一种则认为数据挖掘高不可攀遥不可及,前者夸大了数据挖掘的能力,后者则夸大了数据挖掘的难度。那么什么是数据挖掘呢?数据挖掘是商务智能应用中较高层次的一项技术,而商务智能中还包括数据仓库、ETL、联机分析、商业报表等多项技术。数据挖掘在商务智能应用中提供的是一种自动化或半自动化的数据分析手段,利用数据挖掘用户将可以更加方便地发现数据的模式(其实就是用户关心的业务模式),用户还可以利用这些模式对某些符合特征的数据作出预测。那么数据挖掘究竟是怎么做到上面这些貌似神奇的事情的呢?现在主流的数据挖掘技术有两种,其中之一来源于我们每一个人可能都学习过的一门学科——统计学,例如聚类、关联规则、时间序列等,而另外一种则来源于我们每一个人都听说过的一门学科——机器学习(俗称人工智能),例如神经元网络、遗传算法等。数据挖掘能干什么?前面提到数据挖掘是用于发现数据模式的,那么什么是模式呢?例如著名的啤酒和尿布,这就是数据模式。除了这个之外,根据风向、湿度、云图等进行天气预测、根据网络数据包的分析进行入侵检测、根据用户在线浏览路径推荐商品等等都和数据模式有关系。最神奇的是,在我和我太太准备要宝宝的时候很多朋友都提到了这个说法那个经验,突然发现这也和数据模式有关系。扯远了!数据模式在企业中有什么作用呢?分类在西方电信经常有促销活动,也就是客户可以免费试用该电信服务商一段时间的服务,结果就发现有些客户经常在多个电信商之间来回选择免费试用服务而永远不会转成长期客户。数据挖掘技术就曾经帮助这些电信公司在客户申请试用服务的时候筛选出那些有可能滥用试用服务的客户而减少成本支出。这就是一个分类的问题。数据挖掘中有很多算法可以进行分类,例如决策树、神经元网络、贝叶斯算法等。分类可以把大量数据(在数据挖掘中也称为事例CASE)分成多个类别,而分类的依据就是这些事例中的属性。前面提到的电信服务商就是通过用户最近几期的家用账单、收入、职业等来进行分类的。聚类听说过物以类聚么?分类有一个同胞兄弟就是聚类,聚类相对分类更加自动,聚类也将大量实例分成多个类别,不过这次是根据属性值的相似程度自动汇聚成不同的类别。通常把分类成为有监督的算法,而聚类则被称为无监督的算法,主要原因就是分类在执行前就已经有了明确的类别,例如前面所说的客户——两种,试用后会选择的和试用不购买的,而聚类在分析前还不知道有多少分类,而是通过不断的迭代使得各分类之间的边界更加清晰,然后再分析这些分类之间的差别,因此聚类也成为无监督的算法。如果你有足够多的详细人口资料,那么我说某男30岁、大学教育、在大型外企从事IT业,你也许可以判断出我的收入,这是分类,不过如果我问什么样的女孩子愿意嫁给我那么看上去就更像是聚类的问题了。关联我在为一家大型国际餐饮连锁集团作商务智能咨询的时候曾经向客户提供过一个数据挖掘原型应用,在这个原型应用中客户认为购买汉堡包和辣鸡翅的用户有47%的可能性会购买百事冰可乐(这是第一次挖掘的结果,我们后面会讨论这个比例的问题),而这个就是一个关联的问题,因此关联分析另外一个相当响亮的名字就是购物篮分析。关联是找到事例中出现频率较高的组合规则,能做出上面这种判断的原因是47%的客户在购买汉堡包和辣鸡翅的时候同时购买了百事冰可乐,我们称之为“支持度”。序列提到关联,另外一个同胞兄弟就是序列。序列也是发现组合规律的,不过关联中所提到的规律不涉及到先后次序,而序列则是有先后次序的。一个客户在网站上浏览了几种品牌的笔记本,如果顺序是Thinkpad-HP-DELL-XX牌,那么我们说他很有可能想买笔记本,不过更有可能买的是XX牌或者同一档次的笔记本,如果顺序倒过来,最后还看了MacAir,那么还是说明他想买笔记本,不过他更有可能会买X300或者MacAir,至少也是HP,这就是序列和关联的区别。回归温度、气压、风向和湿度,大体上气象预报员可以告诉你明天的天气怎么样。这就使回归。上周股票平均交易价格是29元,30元,31元,33元,35元,那么貌似这周一的价格是多少呢?当然不一定是37元,我不炒股也知道这个原因,但是如果我有三个月或者更长时间的股票交易价格历史,我倒是愿意估计一下,这也是一个回归的问题。当然有人愿意把这个问题叫做时间序列分析,不过我更加愿意把对连续的结果值(不依靠人为分段Discretize)进行预测的算法归为回归,其原因是其最为流行的方法就是发现回归公式。企业中应用数据挖掘需要注意什么问题还记得那个47%的值么,当时一定有人说47%这种比例很不靠谱阿!对的,原因是那是一个原型,原型永远是可以工作,但工作不好的!企业在数据挖掘的时候需要注意的一个问题是过适应!造成之前47%结果的原因之一的,我们答应了客户的一个要求,测试数据挖掘的性能压力,我们对这个连锁餐饮集团全国一周所有门店交易明细数据进行了挖掘,约合8000万条数据!因此第一得到的结果不是47%,依稀记得是5%一下!后来对数据进行筛选后,逐渐得到了47%的结果,客户没有正式开始实施项目前我们就停在了这个值上面,因为客户已经愿意开始继续商务谈判了。?另外一个问题就是挖掘的收益率问题!客户愿意继续商务谈判的一个原因是我们推荐的SQLServer2008果然能对5000万条数据进行数据挖掘(虽然很荒谬的要求),另一个原因是我们告诉了客户47%的这条规则并不有用,因为就算能多卖出1万杯百事冰可乐,收益也不会比的上在某些符合特殊特征的门店成功多销售出5000个新款汉堡包。因此数据挖掘得到的规则必须和这条规则可以产生的收益挂钩!那些只会产生1%改变的规则没有10%改变的规则来的重要。群众才是力量!我曾经告诉客户,数据挖掘得到的规则可能80%一些长期在一线的门店经理都知道,但是这些经理只会占到所有门店经理的20%,28原则哪儿都存在么!如果说是员工的话,那么可能1%都不到,因此怎么让所有员工都能应用这些规则才是最重要的!将数据挖掘规则嵌入到一线的POS机应用中,这样收银员就不会只知道推销那些促销组合,而知道如何根据用户已经点的餐品来多掏客户十块钱,记住,是所有的收银员,包括那些刚刚穿上制服的新人!最后一个问题就是数据挖掘的时效性!我们不可能两次踏入同一条河流。尽管对于大的商业企业来说,业务的变化不会那么迅速,但是定期更新规则,并且尝试利用数据挖掘规则作一些新的预测分析偶尔会有一些惊喜,至少长期来看会更加卓有成效。【IT168技术文档】数据挖掘是从大型数据集中发现可行信息的过程。数据挖掘使用数学分析来派生存在于数据中的模式和趋势。通常,由于这些模式的关系过于复杂或涉及数据过多,因此使用传统数据浏览无法发现这些模式。这些模式和趋势可以被收集在一起并定义为“数据挖掘模型”。挖掘模型可以应用于特定的业务方案,例如:预测销售额向特定客户发送邮件确定可能需要搭售的产品查找客户将产品放入购物车的顺序序列生成挖掘模型是大型过程的一部分,此过程包括从提出相关数据问题并创建模型以解答这些问题到将模型部署到工作环境的所有事情。此过程可以使用下列六个基本步骤进行定义:定义问题准备数据浏览数据生成模型浏览和验证模型部署和更新模型以下关系图说明过程中每个步骤之间的关系,以及MicrosoftSQLServer2008中可用于完成每个步骤的技术。尽管关系图中所示的过程是一个循环过程,但是每个步骤并不需要直接执行到下一个步骤。创建数据挖掘模型是一个动态、交互的过程。浏览完数据之后,您可能会发现数据不足,无法创建适当的挖掘模型,因此必须查找更多的数据。或者,您可以生成数个模型,但随后发现这些模型无法充分地回答定义的问题,因此必须重新定义问题。您可能必须在部署模型之后对其进行更新,因为又出现了更多的可用数据。可能需要多次重复过程中的每个步骤才能创建良好的模型。SQLServer2008提供用于创建和使用数据挖掘模型的集成环境,称为BusinessIntelligenceDevelopmentStudio。该环境包括数据挖掘算法和工具,使用这些算法和工具更易于生成用于各种项目的综合解决方案。创建数据挖掘解决方案后,您可以使用SQLServerManagementStudio维护和浏览该解决方案。定义问题与以下关系图的突出显示相同,数据挖掘过程的第一步就是明确定义业务问题,并考虑解答该问题的方法。该步骤包括分析业务需求,定义问题的范围,定义计算模型所使用的度量,以及定义数据挖掘项目的特定目标。这些任务转换为下列问题:您在查找什么?您要尝试找到什么类型的关系?您要尝试解决的问题是否反映了业务策略或流程?您要通过数据挖掘模型进行预测,还是仅仅查找受关注的模式和关联?您要尝试预测数据集的哪个属性?列如何关联?或者如果有多个表,则表如何关联?如何分发数据?数据是否具有季节性性质?数据是否可以准确反映业务流程?若要回答这些问题,可能必须进行数据可用性研究,必须调查业务用户对可用数据的需求。如果数据不支持用户的需求,则还必须重新定义项目。此外,还需要考虑如何将模型结果纳入用于度量业务进度的关键绩效指标(KPI)。准备数据如以下关系图中突出显示的那样,数据挖掘过程的第二步就是合并和清除定义问题步骤中标识的数据。数据可以分散在公司的各个部门并以不同的格式存储,或者可能包含错误项或缺少项之类的不一致性。例如,数据可能显示客户在产品推向市场之前购买该产品,或者客户在距离她家2,000英里的商店定期购物。数据清除不仅仅是删除错误数据,还包括查找数据中的隐含相关性、标识最准确的数据源并确定哪些列最适合用于分析。例如,应当使用发货日期还是订购日期?最佳销售影响因素是数量、总价格,还是打折价格?不完整数据、错误数据和输入看似独立,但实际上有很强的关联性,它们可以以意想不到的方式影响模型的结果。因此,在开始生成挖掘模型之前,应确定这些问题及其解决方式。通常,您使用的是一个非常大的数据集,并且无法仔细查看每个事务。因此,必须使用某种自动化的形式(如,在IntegrationServices中)来浏览数据并找到这些不一致。MicrosoftSQLServer2008IntegrationServices(SSIS)包含完成该步骤所需的所有工具,步骤内容包括转换到自动执行数据清除和合并。需要特别注意的是用于数据挖掘的数据不必存储在联机分析处理(OLAP)多维数据集中,或者甚至不必存储在关系数据库中,但是您可以将它们作为数据源使用。您可以使用已被定义为AnalysisServices数据源的任何数据源执行数据挖掘。这些数据源可以包括文本文件、Excel工作簿或来自其他外部提供程序的数据。浏览数据如以下关系图中突出显示的那样,数据挖掘过程的第三步就是浏览已准备的数据。您必须了解数据,以便在创建挖掘模型时作出正确的决策。浏览技术包括计算最小值和最大值,计算平均偏差和标准偏差,以及查看数据的分布。例如,通过查看最大值、最小值和平均值,您可以确定数据并不能代表客户或业务流程,因此您必须获取更多均衡数据或查看您的预期结果所依据的假定。标准偏差和其他分发值可以提供有关结果的稳定性和准确性的有用信息。大型标准偏差可以指示添加更多数据可以帮助改进模型。与标准分发偏差很大的数据可能已被扭曲,抑或准确反映了现实问题,但很难使模型适合数据。借助您自己对业务问题的理解来浏览数据,您可以确定数据集是否包含缺陷数据,随后您可以设计用于解决该问题的策略或者更深入地理解业务的典型行为。BIDevelopmentStudio中的数据源视图设计器包含数种可用于浏览数据的工具。此外,在创建模型时,AnalysisServices还会针对该模型中包含的数据自动创建统计摘要,您可以进行查询以便用于报告或进一步分析。生成模型如以下关系图中突出显示的那样,数据挖掘过程的第四步就是生成一个或多个挖掘模型。您将使用从浏览数据步骤中获得的知识来帮助定义和创建模型。通过创建挖掘结构定义要使用的数据。挖掘结构定义数据源,但只有对挖掘结构进行处
本文标题:SQLServer数据挖掘在企业中的应用
链接地址:https://www.777doc.com/doc-2850381 .html