数据挖掘的实施过程_第1页
数据挖掘的实施过程_第2页
数据挖掘的实施过程_第3页
数据挖掘的实施过程_第4页
数据挖掘的实施过程_第5页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据挖掘的实施过程第一页,共一百页,2022年,8月28日第5章

前面介绍了数据挖掘的基本方法。在本章中我们进一步说明数据挖掘的实施过程。第二页,共一百页,2022年,8月28日5.1数据挖掘过程模型5A数据挖掘是一个过程,它是从大量数据中抽取出有价值的信息或知识以提供决策依据。由于每一种数据挖掘方法(算法及技术要求)都有其自身的特点且实现步骤与具体应用问题有密切相关性,因此成功应用数据挖掘技术以达到目标的过程本身就是一件很复杂的事情。第三页,共一百页,2022年,8月28日5.1数据挖掘过程模型5A一般来说,数据挖掘项目要经历的过程包括问题的理解、数据的理解收集和准备、建立数据挖掘模型、评价所建的模型、将建立的模型投入应用等一系列任务。这里,数据挖掘过程的系统化、工程化方法学和支持系统(软件或工程)对解决应用问题起着至关重要的作用。第四页,共一百页,2022年,8月28日5.1数据挖掘过程模型5A为了抽象系统化方法,人们提出了一些数据挖掘过程的参考模型或标准:

·SPSS提出的5A(Assess、Access、

Analyze、Act、Automate);·SAS提出的SEMMA(采样Sample,探索

Explore,修正Modify,建模Model,

评估Assess)

·数据挖掘特别兴趣小组提出的“数据挖掘交叉行业标准过程”CRISP-DM

(Cross-IndustryStandardProcessforDataMining)。第五页,共一百页,2022年,8月28日5.1数据挖掘过程模型5A在这些模型中,5A模型强调的是支持数据挖掘过程的工具应具备的功能和能力,它是对支持数据挖掘工具的定义。

SEMMA强调的是结合SAS公司的挖掘工具进行应用开发的方法。

CRISP-DM则从进行数据挖掘方法学的角度强调实施数据挖掘项目的方法和步骤,并独立于每种具体数据挖掘算法和数据挖掘系统。第六页,共一百页,2022年,8月28日5.1数据挖掘过程模型5A

5A模型认为任何数据挖掘方法学都由5个基本元素组成,即Assess、Access、Analyze、Act、Automate。

·Assess:正确、彻底的评价任务的需求及数据。

·Access:方便、快速的存取任务所涉及的数据。

·Analyze:适当、完备的分析技术和工具。

·Act:具有推荐性、有说服力的演示。用大量的列表和图形或者通过办公软件来演示数据挖掘软件的能力。软件应该具备快速回答用户提问的控制性和灵活性,这样才便于用户更好、更快地做决策。

·Automate:为用户提供最易于使用、最方便的自动化软件。第七页,共一百页,2022年,8月28日5.1数据挖掘过程模型5A针对着5个过程,5A描述了各元素在数据挖掘技术应用中所需完成的任务和应该提供的支持功能。(1)AssessAssess是指要正确地理解和设置数据,一旦充分了解了数据的上下文后,就可以正确地收集它并在其上做需要的决策。实现Assess的软件技术方案可以不同,但问题含义相同。a.将技术与组织的目标、策略和步骤结合起来。b.拥有世界范围的咨询和培训,目的是交付高级分析工具给分析员后,能快速实现数据挖掘及其应用。第八页,共一百页,2022年,8月28日5.1数据挖掘过程模型5A(2)AccessAccess是指数据集合(DB、DW、DM)应该完全符合评价的要求和质量。若数据集合不充分,须补充附加的数据。选用的数据挖掘软件必须在所要求的数据上灵活地工作,并满足下列存取准则。

·易于存取和连接各种数据源,包括数据表、公司数据库、数据仓库和其它必要的外部数据库。

·能直接从ASCII正文、数据表、数据库文件读入数据。

·能处理大量(GB以上)的数据文件。第九页,共一百页,2022年,8月28日5.1数据挖掘过程模型5A(3)AnalyzeAnalyze要求分析工具具备两类分析方法和工具:发现工具和验证工具。验证工具检验发现工具所产生的结果是否合理。发现型方法和工具包括基因遗传算法、规则推导、模糊逻辑、数据可视化、聚类算法、因素分析、神经网络、决策树等。验证方法和工具包括回归、逻辑回归、判别分析、预测建模等。理想的数据挖掘软件应该具备这两类分析方法和工具,同时应该包括下列分析特性。第十页,共一百页,2022年,8月28日5.1数据挖掘过程模型5A

·统计过程、范围和深度较强,应包括预测、分段、分类等。

·集成商业和统计图形功能、具备多种可选的2D/3D图类,能用数据定点模式显示和跟踪等。

·辅助分析的模版、过程导引、示范、在线帮助等,能帮助分析员快速选择和获得结果。

·数据、文件、中间结果管理功能。能合并和分离文件、选择数据子集、处理数据缺值、净化、改善数据完整性、支持IF-THEN-ELSE条件操作。

·数据转换功能。有一组完备的转换函数支持变量/特征和条件的计算,可以重复计算、编辑原来的变量/特征。第十一页,共一百页,2022年,8月28日5.1数据挖掘过程模型5A

·可裁减的工作环境。有脚本/宏语言支持的可重复任务的自动化、批处理及其菜单按钮功能,以支持一般用户快速使用。

·灵活的动态输出。表结果可以转动和轮换,易于观察数据全貌和用鼠标重新组织表数据,以便于清晰的提交、观察、探索数据结果并做进一步的特殊分析。

·基于线性回归和ANOVA的预测性建模,具有相关性、分类分析、预测等基本分析功能。

·插件/模块功能。可以提供特殊的功能模块,以支持特定的分析。第十二页,共一百页,2022年,8月28日5.1数据挖掘过程模型5A(4)Act

用大量的列表和图形或者通过办公软件来演示数据挖掘软件的能力。软件应该具备快速回答用户提问的控制性和灵活性,这样才便于用户更好、更快地做决策。数据挖掘软件应该提供下面的演示特性。l完好的集成图形功能,以提供专业级的演示。lOLE支持,以易于嵌入图表节省报告时间。lINTERNET特性,以易于图表的网上传输和本地察看。l演示模版特性,以节省编辑时间。l特殊查询功能,以利于快速提供附加的分析能力来响应用户的提问。l报告注解功能,以加入注解到报告中。第十三页,共一百页,2022年,8月28日5.1数据挖掘过程模型5A(5)AutomateAutomate是指面向用户的操作尽可能完善和自动化软件的应用过程。吸取专业分析决策人员及多数用户的意见和见解,以最快的方式显示分析结果,以标准的接口、按钮式的功能/菜单、丰富的帮助、可选的附加分析将软件呈现给用户。为此,软件应提供以下自动化功能:第十四页,共一百页,2022年,8月28日5.1数据挖掘过程模型5AlOLE自动化开发者的机制,允许用户在通用代码级(VB、EXCEL、ACCESS、PB等)使用软件。l内建编程语言/脚本/宏,使用户可以方便的创建自己的应用。l制作能力,能编写产生日常报告的命令行文件。第十五页,共一百页,2022年,8月28日5.2数据挖掘过程模型CRISP-DM

CRISP-DM模型是由几家相关开发和应用行业的跨国公司和集团所支持(并由欧洲委员会部分支持)的一个特别兴趣小组在1997年7月到1999年4月间研究后提出的。这几家公司分别是数据仓库提供商NCR在丹麦的SEC公司,德国的汽车、航天航空、电信和咨询业公司DAIMLER-BENZAG,英国的数据挖掘系统开发商ISL(CLEMENTINE的研发商,1998年其成为SPSS的子公司)以及荷兰最大的银行、保险业公司OHRA。第十六页,共一百页,2022年,8月28日5.2数据挖掘过程模型CRISP-DM由于其直接动机是将数据挖掘技术转化为商业应用,所提出的过程模型均在项目中进行实际实践和验证,因此具有一定的代表性。

CRISP-DM模型采用分层方法将一个数据挖掘项目的生存周期定义为6个阶段(PHASE)和4个层次(LEVEL)。第十七页,共一百页,2022年,8月28日5.2数据挖掘过程模型CRISP-DM

CRISP-DM模型6个阶段为:BUSINESSUNDERSTANDING、DATAUNDERSTANDING、DATAPREPARATION、MODELING、EVALUATION和DEPLOYMENT

阶段间的顺序并不严格,比如商业理解和数据理解之间常常需要反复,数据准备和数据模型建立也常常需要反复。阶段间有循环,比如在对模型进行评价后,如果不满意,可能需要重新对商业问题进行理解,重新开始建模。一个阶段的任务完成后,如果需要继续扩展挖掘的范围,则需要重新开始循环。第十八页,共一百页,2022年,8月28日5.2数据挖掘过程模型CRISP-DMCRISP-DM模型4个层次是:阶段划分(PHASE)定义通用任务(GENERICTASK)定义专用任务(SPECIALIZEDTASK)处理实例(PROCESSINSTANCE)每个PHASE由若干GENERICTASK组成,每个GENERICTASK又需要实施若干SPECIALIZEDTASK,每个SPECIALIZEDTASK由若干PROCESSINSTANCE来完成。第十九页,共一百页,2022年,8月28日5.2数据挖掘过程模型CRISP-DM其中,上两层独立于具体数据挖掘方法,即是一般数据挖掘项目均需实施的步骤(这解决了“WHATTODO?”的问题)。这两层的任务将结合具体数据挖掘项目的“上下文”(CONTEXT)映射到下两层的具体任务和过程。项目的“上下文”是指项目开发中密切相关、需要综合考虑的一些关键问题,如应用领域、数据挖掘问题类型、技术难点、工具及其提供的技术等。下两层注重解决如何完成每个阶段所要完成的任务和任务的输出所要求的必要映射活动(这用于解决“HOWTODO”的问题)。第二十页,共一百页,2022年,8月28日5.2数据挖掘过程模型CRISP-DMCRISP-DM6个阶段的含义是:(1)BUSINESSUNDERSTANDING

在开始阶段,专注于从商业的角度理解项目目标和需求,然后将这种知识转换成一种数据挖掘的问题定义,并设计出达到目标的一个初步计划。第二十一页,共一百页,2022年,8月28日5.2数据挖掘过程模型CRISP-DM(2)DATAUNDERSTANDING

在数据理解阶段,先收集初步的数据,然后进行熟悉数据的各种活动,包括识别数据的质量问题、找到对数据的基本观察或假设隐含的信息来检测出感兴趣的数据子集。第二十二页,共一百页,2022年,8月28日5.2数据挖掘过程模型CRISP-DM(3)DATAPREPARATION

数据预处理阶段覆盖了从数据构造到最终数据集合(将要输入建模工具的数据)的所有活动。数据预处理任务很可能要执行多次,并且没有任何规定的顺序。任务包括表、记录属性的选择以及为了适合建模工具的要求对数据进行的转换和净化。第二十三页,共一百页,2022年,8月28日5.2数据挖掘过程模型CRISP-DM(4)

MODELING

在建模阶段,可以选择和应用各种建模技术将其参数校正到优化值。第二十四页,共一百页,2022年,8月28日5.2数据挖掘过程模型CRISP-DM(5)EVALUATION

从数据分析的观点看:在开始进入这个阶段时已经建立了看上去是高质量的模型。但在最终扩展模型之前,要更彻底地评价模型,对所建模型再次考察其执行的步骤并确信其正确地达到了商业目标。这里,一个关键的目的是确定是否有某些重要的商业问题还没有充分地考虑。在这个阶段的结尾,应该获得使用数据挖掘结果的判定。第二十五页,共一百页,2022年,8月28日5.2数据挖掘过程模型CRISP-DM(6)DEPLOYMENT

创建完模型并不意味着项目结束。所获得的知识要用一种用户可以使用的方式来组织和表示。根据要求,扩展阶段可以简单到只生成一份报告,或复杂到实现一个可重复的数据挖掘过程。在许多情况下,这将由客户而不是分析员来实施。所以分析员来实施扩展将达不到预期的扩展效果,因此在这之前,客户理解和利用所建模型所要实施的动作很重要。第二十六页,共一百页,2022年,8月28日5.3数据挖掘过程中的相关问题

TWOCROWS公司的数据挖掘过程模型同CRISP-DM模型很类似,并且比较简洁,其基本数据挖掘步骤包括:l

定义商业问题;l

建立数据挖掘仓库;l

分析数据;l

准备数据;l

建立模型;l

评价模型;l

实施。下面结合这个数据挖掘过程模型说明在数据挖掘过程中的相关问题。第二十七页,共一百页,2022年,8月28日5.3.1定义商业问题我们的最终目的是希望从技术和商业角度为公司建立一个能够理解和实施数据挖掘的工作环境。数据挖掘的成功,并不在于特定工具和算法的选择,而是一个合适的环境。

一个企业的执行能力越强,数据挖掘的能力就越大。

第二十八页,共一百页,2022年,8月28日5.3.1定义商业问题企业所处的商业环境往往在战略上、顾客定位、数据仓库建立、市场定位、生命周期、分析技术等方面各不相同,成功的基础必须是基于对数据挖掘与商业规律良好结合的环境,建立自己的挖掘平台。在开始数据挖掘之前,最重要的是要了解数据和相关的业务问题。比如要分析电信领域的客户呼叫行为,需要了解电信的业务构成、业务运营以及其它诸多的行业知识。第二十九页,共一百页,2022年,8月28日5.3.1定义商业问题要想充分发挥数据挖掘的价值,必须对目标有一个清晰明确的定义,了解数据和相关的业务问题是决定到底想干什么的前提。数据挖掘对系统分析/开发人员提出了更高的要求,它要求分析/开发人员具有比较宽广的基础知识和行业背景。第三十页,共一百页,2022年,8月28日商业理解体系的核心——语义层业务数据库最终用户数据结构语义层信息系统人员第三十一页,共一百页,2022年,8月28日商业理解体系的核心——语义层数据源终端用户商业元语查询面板数据源第三十二页,共一百页,2022年,8月28日5.3.2建立数据挖掘库建立数据挖掘仓库、分析数据、选择变量构成了数据预处理的核心,这三步比其它所有的步骤加在一起所花的时间和精力还多。数据准备工作大概要花去整个数据挖掘项目的50%~90%的时间和精力。第三十三页,共一百页,2022年,8月28日5.3.2建立数据挖掘库我们应该把要挖掘的数据都收集到一个数据库中(或者存放在数据仓库中,通常是以关系表得方式存储)。当然,这并不是说一定要使用一个数据库管理系统。根据要挖掘的数据量的大小、数据的复杂程度、使用方式的不同,有时一个简单的平面文件或电子表格就足够了。第三十四页,共一百页,2022年,8月28日5.3.2建立数据挖掘库数据挖掘系统可以作为一个独立的系统存在。对于一个大型的企业将数据挖掘系统建立在数据仓库的基础上是非常合理的想法,因为数据仓库已经为数据挖掘累积了大量的历史数据,要将这些数据充分发挥作用,就需要一个良好的数据挖掘系统。第三十五页,共一百页,2022年,8月28日5.3.2建立数据挖掘库但是,一般我们并不直接在公司的数据仓库上进行数据挖掘。原因有以下几点:1)数据仓库中的数据量很大,许多数据并不是数据挖掘问题所关心的。2)数据挖掘需要的信息涉及的方面很广,这些信息可能存放在数据仓库的许多表中,如果直接在数据仓库中挖掘,将使数据的访问性能受到影响。3)数据挖掘需要反复进行,不断地对模型进行优化。第三十六页,共一百页,2022年,8月28日5.3.2建立数据挖掘库4)在数据挖掘过程中需要对变量进行转化,比如神经网络只能处理数值型的变量,对于非数值型的变量需要转化。而数据仓库不支持更新操作。5)多个数据挖掘的主题可能同步进行,如果直接在数据仓库中进行,数据仓库需要增加相应地控制机制。6)数据仓库系统还有其它工作,比如定期地数据刷新、对OLAP系统的支持等。第三十七页,共一百页,2022年,8月28日5.3.2建立数据挖掘库因此有必要从数据仓库中抽取出需要的数据单独存放在数据挖掘库中,这样可以达到以下目的。l

数据量大大地减小了:l

多个数据挖掘主题可以并行地进行:l多个数据挖掘主题在物理上分开,对数据的更新互不影响;l数据挖掘的结果可以回写进数据仓库,供OLAP工具展现使用。第三十八页,共一百页,2022年,8月28日5.3.2建立数据挖掘库如果数据仓库允许建立一个在逻辑上独立的数据库并且在计算资源上也足够,那么在它上面进行数据挖掘也是可以的。建立数据挖掘库可以分成下面几个部分:l

数据收集;l

对数据进行描述;l

选择数据;l

数据质量评估和数据清理;l

对数据进行合并和整合;l

构建元数据;l

将数据加载到数据挖掘库;l

维护数据挖掘库。第三十九页,共一百页,2022年,8月28日5.3.2建立数据挖掘库这些步骤并不一定要按步骤执行,而应该按需要进行。比如在收集数据时就开始构建元数据,并随着工作的进行不断的对其进行修改。在数据整合和数据质量评估过程中发现问题可能需要修改最初的数据选择。第四十页,共一百页,2022年,8月28日5.3.2建立数据挖掘库1.数据收集首先,确定要挖掘的数据源。在数据仓库中已经提供了丰富的数据,但是还需要一些外部的数据,比如人口统计或天气数据等。对于一些有偿数据,甚至需要向专门提供数据服务的公司购买。我们可以用一个数据搜集报告把所需的各种不同的数据源的属性列出来。此报告至少应包含如下的内容:第四十一页,共一百页,2022年,8月28日5.3.2建立数据挖掘库l数据源;l数据的拥有者;l负责维护此数据的人/组织;l设计该数据库的DBA;l如果数据需要购买,则需要说明费用;l数据使用的存储方式,如ORACLE数据库,平面文件;l数据中包含的表,字段,记录的数目;l数据的大小;l数据的物理存储介质,如CD-ROM,磁带,磁盘阵列等;l安全需求;l数据在使用上的限制;l数据是否涉及用户的隐私问题。第四十二页,共一百页,2022年,8月28日5.3.2建立数据挖掘库2.数据描述数据描述报告中应包含如下内容:l

字段/列的数目;l

字段是空(缺值)的数目/百分比;l

字段名;第四十三页,共一百页,2022年,8月28日5.3.2建立数据挖掘库对于对每个字段,我们通常需要记录:l

数据类型;l

数据定义;l

数据描述;l

计量单位;l

所有不同值的个数;l

值的列表;l

值的范围;l

空值的百分比;l

收集信息;l

时间频度;l

特别时间数据;l

主键/外键关系。第四十四页,共一百页,2022年,8月28日5.3.2建立数据挖掘库3.数据选择接下来要选择用于数据挖掘的数据。这与对数据进行采样和选择预测变量是不同的,这里只是粗略的把冗余或无关的数据除去或由于资源的限制、费用的限制、数据使用的限制和质量问题而必须做出的选择。第四十五页,共一百页,2022年,8月28日5.3.2建立数据挖掘库4.数据质量评估和数据清理要想得到好的模型必须用好数据。数据质量评估就是要确定数据的哪些性质会最终影响模型的质量。我们不仅要保证数据值的正确性和一致性,还要保证这些值是按同样的方法记录的同一件事情。第四十六页,共一百页,2022年,8月28日5.3.2建立数据挖掘库数据域中可能包括了不正确的值。比如,身份证号码被粗心的数据录入人员录入了年龄。即使单个域中包含的数据是正确的,但这些域组合起来时也可能就出现错误的记录,如小学生的年龄是90。有时域中的值为空。当从多个不同的源整合数据的时候,一定要注意不同源之间数据的一致性。这些工作看起来和数据仓库的数据清洗转换工作很相似。第四十七页,共一百页,2022年,8月28日5.3.2建立数据挖掘库缺值是一个非常有害的问题,并且在实际情况中常常出现。比如在网上调查或者问卷调查中,填写人会漏填甚至不填某些选项。如果有一个数据域缺值就把这个记录删除掉,那么最后可能得到一个很小的数据集合。如果可用的数据集合太小,则这个集合就不能代表整体的特征,因此在这样的数据集合上进行分析的结果与实际情况有较大的出入。第四十八页,共一百页,2022年,8月28日5.3.2建立数据挖掘库我们应当考虑一些合适的方法进行弥补,可能的方法有:a.据其它字段来推测缺失字段,比如通过身份证计算出客户的性别、年龄信息,从而填补这两个字段数据的缺失。如果客户的身份证有误,这个方法就失效了。b.用非空值的数据通过计算后代替空值数据。我们通过计算收入水平的非空数据的平均值来取代空值数据。c.使用非空值的数据的统计特征来填充空值数据。问卷中非空字段包含35%男性和65%女性,在为性别字段缺失的记录添值时,按照这个比例随机进行赋值。第四十九页,共一百页,2022年,8月28日5.3.2建立数据挖掘库

d.以缺值的字段为预测目标,用数据挖掘技术建立一个预测模型,通过非空的记录对其进行训练和评价,然后按照这个模型的预测结果添值。这种方法比较好,因为使用数据本身的特征来填写数据,但是,这将花费较多的时间。第五十页,共一百页,2022年,8月28日5.3.2建立数据挖掘库

e.利用以往的经验,行业规则或者挖掘得到的规则对空值进行填充。比如在宣传化妆品的过程中,会对问卷回应的大部分顾客是女性,男性仅占很少的比例,比如10%,我们可以根据这个特征对空值进行填充。

第五十一页,共一百页,2022年,8月28日5.3.2建立数据挖掘库5.合并和整合进行数据挖掘的数据来自于不同的内部和外部数据源,并且数据源之间的数据常常存在冲突和不一致。不同的数据库间在数据定义和使用上存在巨大的差距。有些不一致问题是容易解决的,然而有些则非常棘手。同一个名字的字段被用在不同的数据项上具有不同的含义,或同一个数据项用了不同的名字。在数据计量上还有单位不统一的问题,比如人民币和港元之间不能做运算。关于数据整合和集成的问题,我们在数据仓库中已经进行了详细的说明。第五十二页,共一百页,2022年,8月28日5.3.2建立数据挖掘库6.构建元数据元数据就是描述数据的数据。数据收集报告和数据描述报告是建立元数据的基础和重要组成部分。我们需要利用挖掘工具提供的元数据管理工具或者自己设计一个元数据库,为分析数据以及建立模型提供辅助信息。第五十三页,共一百页,2022年,8月28日5.3.2建立数据挖掘库7.加载数据大多数情况下,用于挖掘的数据应该放到独立的挖掘库中。如果数据量大并且复杂,那么数据挖掘库通常是一个RDBMS。如果数据量很少,使用一个简单的平面文件即可。经过前面所有的搜集、整理之后,现在把这些数据加载过来。第五十四页,共一百页,2022年,8月28日5.3.2建立数据挖掘库8.维护数据挖掘库挖掘库一旦建好,就需要对其进行维护。维护工作包括:l定期进行数据备份;l

监视挖掘库的性能;l

维护元数据;l根据需要不断的增加存储空间,提供硬件的性能。对放在RDBMS内的复杂挖掘库来说,维护它需要计算机专业人员来完成。第五十五页,共一百页,2022年,8月28日5.3.3分析数据/变量分析数据的目的是找到对预测输出影响最大的字段,并决定是否需要增加导出字段。如果数据集包含成百上千的字段,那么浏览分析这些数据将是一件非常耗时和累人的事情。这时,我们需要一个具有好的界面和功能强大的工具库软件来协助完成这些事情。此步骤可划分成4个部分:l

选择变量;l

选择记录;l

创建新变量;l

转换变量。第五十六页,共一百页,2022年,8月28日5.3.3分析数据/变量1选择变量理想情况下,我们可以选择全部变量,把它们输入到数据挖掘工具中,让数据挖掘工具来选择哪些是最好的预测变量。实际上这样做并不是很好,一方面随着变量个数的增加,模型的建立时间也随之上升;第五十七页,共一百页,2022年,8月28日5.3.3分析数据/变量1选择变量另一方面盲目的把所有的变量都加进去会导致建立错误的模型。比如,建立预测模型的一个常见错误就是把一个依赖于目标变量的变量作为预测变量,像用变量“出生年份”来“预测”目标变量年龄,其结果将导致目标变量“年龄”直接同预测变量“出生年份”相关,而其它的因素将被排除,这显然同预测的初衷是不符合的。第五十八页,共一百页,2022年,8月28日5.3.3分析数据/变量我们在利用分析工具进行挖掘前,需要完成以下工作。l去除同目标变量具有强相关性的变量l去除毫无关系的变量这样既可以节约进行数据挖掘的时间,又可以避免降低其它重要变量对目标变量的影响力。第五十九页,共一百页,2022年,8月28日5.3.3分析数据/变量2选择记录选择记录有两重含义:

a.在数据量不大的时候,可以用所有的数据行来建立模型。如果数据量非常巨大,使用所有的数据行来建立模型要花费很长时间,要么买一台计算能力非常强大的机器。因此,数据量特别大就需要进行数据抽样。如果数据抽样做得足够仔细,保证抽样是按真正的随机来进行的,采样对大部分商业问题来说都不会丢失信息。我们可以用所有的数据建立一个模型,还可以根据不同的采样方法建立几个模型,然后评价这几个模型并选择一个最好的。通常认为后种方法得到的模型更准确。第六十页,共一百页,2022年,8月28日5.3.3分析数据/变量

b.在进行挖掘前,我们需要删除明显的异常数据。然而在某些情况下,这些看来异常的数据可能包含了要建立模型的重要信息。因此,对于数据是否异常,必须按照实际的业务逻辑和商业逻辑来判断。第六十一页,共一百页,2022年,8月28日5.3.3分析数据/变量

3创建新变量很多情况下,我们需要从原始数据中衍生一些新的变量作为预测变量。创建新变量通常有两种方法。

a.将变量利用加、减、比率等计算组合起来可能会比这些变量自身影响力更大。比如,用负债占收入百分比来预测信用风险,比直接用负债值和收入值做预测变量更准确一些,也更容易理解。再如,预测一个客户是否可能成为大客户,使用它这几个月来的通话费用的增长额或者增长率,可能比直接使用这几个月的话费对目标量影响更大。第六十二页,共一百页,2022年,8月28日5.3.3分析数据/变量

b.一些变量如果扩大它的范围,可能成为一个非常好的预测变量。比如,预测客户是否为有价值客户,可以使用一段时间内话费变化情况代替某一个月的话费情况。我们需要创建哪些新变量不是主观臆想的结果,而需要研究商业问题,甚至要向该方面的专家请教。是否能够创建合适的变量,对于模型的准确性影响很大。第六十三页,共一百页,2022年,8月28日5.3.3分析数据/变量

4.转换变量。不同的算法可能对变量的要求不同,所以在进行挖掘之前,我们需要根据选择的算法,决定对数据进行哪些转换工作。比如神经网络要求所有的变量都在0~1之间,因此在这些数据被提交到算法之前必须先对不在[0,1]内的变量进行映射。类似一些决策树算法不接受数值型变量作为输入,在使用它们之前也要把这些数值映射到“高,中,低”等。使用的转换方式在一定程度上会影响模型的准确度。第六十四页,共一百页,2022年,8月28日5.3.3分析数据/变量现在的一些比较先进的数据挖掘工具已经能够自动对变量进行必要的转换工作。但是,目标变量的转化工作通常还是需要用户自己来完成。比如使用神经网络的方法,需要将目标变量映射到0~1之间。第六十五页,共一百页,2022年,8月28日5.3.4模型训练方法建立模型是一个反复的过程。我们需要仔细考察不同的模型来判断哪个模型对具体的商业问题最有用。我们在寻找好模型的过程中,可能会得到新的启发,在这些启发的作用下可能会修改数据,甚至改变最初对问题的定义和理解。在数据挖掘中不要害怕反复,因为每一次反复是向更完善的模型又进了一步。第六十六页,共一百页,2022年,8月28日5.3.4模型训练方法我们首先需要决定预测的类型是对事物进行分类,还是对事物进行回归预测。然后对于预测选择数学模型。选择什么样的模型,决定了我们需对数据做哪些预处理工作。如神经网络需要做数据转换,有些数据挖掘工具可能对输入数据的格式有特定的限制等。所有的数据准备好之后才可以开始训练模型。第六十七页,共一百页,2022年,8月28日5.3.4模型训练方法为了保证得到的模型具有较好的准确度和健壮性,需要先用一部分数据建立模型,然后再用剩下的数据来测试这个得到的模型。有时还需要第3个数据集,称为验证集。因为测试集可能受模型特性的影响,还需要一个独立的数据集来验证模型的准确性。第六十八页,共一百页,2022年,8月28日5.3.4模型训练方法训练和测试数据挖掘模型至少要把数据分成两个部分:一个用于模型训练,另一个用于模型测试。如果使用相同的训练和测试集,那么模型的准确度就很难使人信服。用训练集把模型建立出来之后,可以先在测试集数据上做实验,此模型在测试集上的预测准确度就是一个很好的指导数据,它表示将来与数据集和测试集类似的数据用此模型预测时正确的百分比。但这并不能保证模型的正确性,它只是说明在相似的数据集合的情况下用此模型会得出相似的结果。第六十九页,共一百页,2022年,8月28日5.3.4模型训练方法常用的验证方法包括简单验证,交叉验证和N维交叉验证。1.简单验证简单验证是最基本的测试方法。它从原始数据集合中拿出一定百分比的数据作为测试数据,这个百分比大概在5%~33%之间。注意:在把数据集合分成几部分时,一定要保证选择的随机性,这样才能使分开的各部分数据的性质是一致的。第七十页,共一百页,2022年,8月28日5.3.4模型训练方法先用数据集合的主体把模型建立起来,然后用此模型来预测测试集中的数据。出现错误的预测与预测总数之间的比称为错误率。对于分类问题,我们可以简单的下结论:“对”与“错”,此时错误率很容易计算。回归问题不能使用简单的“对”或“错”来衡量,但可以用方差来描述准确的程度。比如,用3年内预计的客户增长数量同3年内实际的数据进行比较。第七十一页,共一百页,2022年,8月28日5.3.4模型训练方法在一次模型的建立过程中,这种最简单的验证通常要执行几十次。例如,在训练神经网络时,几乎每一个训练周期都要在测试集上运行一次,不断的训练测试,直到在测试集上的准确率不再提高为止。第七十二页,共一百页,2022年,8月28日5.3.4模型训练方法

2

交叉验证简单验证适合在挖掘数据充沛的时候使用。如果数据不是很多,可能无法再把一部分数据放到一边不用,这样会使得数据的特征丢失。交叉验证提供了一种使用全部数据的方法。首先把原始数据随机平分成两份,一部分做训练集,另一部分做测试集计算错误率,再把两部分数据交换再计算一次错误率。最后再用所有的数据建立一个模型,把上面得到的两个错误率进行平均做为最后模型的错误率。第七十三页,共一百页,2022年,8月28日5.3.4模型训练方法

3.N-维交叉验证

N-维交叉验证是更通用的算法。它先把数据随机份成不相交的N份,比如把数据分成10份。先把第一份拿出来放在一边用做模型测试,把其它9份合在一起来建立模型,然后把这个用90%的数据建立起来的模型用第一份数据做测试。这个过程对每一份数据都重复进行一次,得到10个不同的错误率。最后把所有数据放在一起建立一个模型,模型的错误率为上面10个错误率的平均。第七十四页,共一百页,2022年,8月28日5.3.4模型训练方法我们可以依据得到的模型和对模型的预期结果修改参数,再用同样的算法建立新的模型,甚至可以采用其它的算法建立模型。在数据挖掘中,不同的商业问题采用哪种模型效果更好,在没有行业经验的情况下,最好用不同的方法(参数或算法)建立几个模型,从中选择最好的。第七十五页,共一百页,2022年,8月28日5.3.4模型训练方法图9-19展示了一个多种算法结果的比较。图的横坐标是指选择的客户占客户群体的比例,纵坐标是指选中大客户的比例(假定大客户在客户群体中占10%)。不同的曲线代表不同算法的结果。从图中可以看出,选择10%的客户时,神经网络的正确率为90%;回归算法的正确率是85%;决策树的正确率是70%;随机抽样的正确率为10%,因此神经网络算法的效果较好。从图9-19还可以看出,随着选择客户的比例增大,算法的效果逐渐下降。原因是在选择客户的初期,算法已经把绝大部分的大客户选择出来了。从本图可以充分的看出,使用模型进行选择和利用随机选择,其效果相差极大。第七十六页,共一百页,2022年,8月28日5.3.4模型训练方法

90807010%30%50%70%90%%Response神经网络回归算法决策树随机选择图9-19多种算法的比较图第七十七页,共一百页,2022年,8月28日5.3.5数据挖掘模型的评价方法在模型建立好之后必须评价其结果,并解释模型的含义和价值,只有这样才能将模型最终应用到商业环境中。从测试集中得到的准确率只对建立模型的数据有意义。在实际应用中,随着应用数据的不同,模型的准确率肯定会变化。更重要的是准确度自身并不是选择最好模型的正确评价方法。比如,模型A可能在某些不太重要的问题上正确率高于模型B,此时我们不能简单地判断模型A比模型B好。需要进一步了解错误的类型和由此带来的相关效益/损失的多少。第七十八页,共一百页,2022年,8月28日5.3.5数据挖掘模型的评价方法(1)无序矩阵对分类问题来说,无序矩阵是理解结果非常好的工具。用无序矩阵将预测的客户类型结果与实际的情况进行对比,得到的结果如表9-1所示。它不仅说明了模型预测的准确情况,也展现了模型问题的所在。预测高价值客户预测非高价值客户实际高价值客户2012实际非高价值客户2028第七十九页,共一百页,2022年,8月28日5.3.5数据挖掘模型的评价方法(1)无序矩阵表的理解:共有80名客户,实际有32个高价值客户,其中20个被正确预测,另外12个高价值客户被预测成了非高价值客户。实际有48个非高价值客户,其中28个被正确预测,另外20个被错误预测成了高价值客户。显然模型总体准确度是60%。无序矩阵比简单的说总体准确度是60%体现了更多的信息。预测高价值客户非高价值客户高价值客户2012非高价值客户2028第八十页,共一百页,2022年,8月28日5.3.5数据挖掘模型的评价方法(1)无序矩阵

在实际应用中,如果每种不同的预测错误所需付出的代价也不同,那么考虑代价最小的模型(而不一定是错误率最小的模型)就是所要选择的模型。如果每个准确的预测会带来¥10的收益,错误的预测A(非高价值客户预测成高价值客户)要付出¥5的代价,B(高价值客户预测成非高价值客户)要付出¥10的代价,整个模型的价值是:

(10*20)-(5*20)+(10*28)-(10*12)=$260预测高价值客户非高价值客户高价值客户2012非高价值客户2028第八十一页,共一百页,2022年,8月28日5.3.5数据挖掘模型的评价方法(1)无序矩阵考察下面的无序矩阵,虽然准确度降低到57.5%(46/80),但价值却升高了。

(10*8)-(5*32)+(10*38)-(10*2)=$280

这就是我们前面提到的正确率最高的模型不一定就是实际问题中最优的模型。预测高价值客户非高价值客户高价值客户82非高价值客户3238第八十二页,共一百页,2022年,8月28日5.3.5数据挖掘模型的评价方法(2)收益表通过无序矩阵确定最优的模型后还需要确定模型实施的范围。随着模型实施范围的变化,其产生的效果也将发生变化。因为模型实施的范围变大意味着需要更多的投入来实施,而其产生的效益随着范围的扩大可能很缓慢地增长。我们可以采用收益表来确定模型的最佳实施范围。针对不同的问题,收益表有两种形式:响应率变化曲线和投资回报率变化曲线。第八十三页,共一百页,2022年,8月28日5.3.5数据挖掘模型的评价方法(2)收益表

图9-20显示了通过邮件推销商品客户响应率的变化情况。变化的比率称为lift。例如,随机抽取的方法选择10%的客户的响应率是

10%,而通过模型选取10%的客户的响应率是

30%,则lift的值为3。我们可以根据图中的结果,确定对客户进行推销的比例。比如规定lift值应高于2.5,则推销客户占总客户的比例可以设为15%。选择比例10%100%响应率随机选择的响应率模型选择的响应率10%30%图9-20客户响应率变化曲线第八十四页,共一百页,2022年,8月28日5.3.5数据挖掘模型的评价方法(2)收益表

收益表的另一种形式是投资回报率变化曲线(这里定义ROI利润与为此付出开销的比值)。图9-21是一个描述模型投资回报率的图表。当选取比例超过80%时,ROI变成了负数,ROI最高是在横坐标为20%时。而采用随机选择的方法,将使得ROI始终为负值。我们可以根据图来确定模型实施的范围,选择ROI指数最高的位置作为模型实施的比例,也可以规定一个ROI的取值来确定模型实施的范围。

ROI选择比例10%100%随机选择的响应率模型选择的响应率图9-21投资回报率变化曲线第八十五页,共一百页,2022年,8月28日5.3.5数据挖掘模型的评价方法(2)收益表我们也可以直接看利润的变化情况(利润为收入与投资的差值)。利润随选择比例的变化曲线如图9-22所示。理想情况下应该按照利润表行事,但很多情况下计算利润表非常复杂。选择比例10%100%随机选择的响应率模型选择的响应率图9-22投资回报率变化曲线利润第八十六页,共一百页,2022年,8月28日5.3.5数据挖掘模型的评价方法(3)外部验证无论用模拟的方法计算出来的模型的准确率有多高,都不能保证此模型在面对现实世界中真实的数据时能取得好的效果。经验证有效的模型并不一定是正确的模型。造成这一点的直接原因就是模型建立中隐含着各种假设。第八十七页,共一百页,2022年,8月28日5.3.5数据挖掘模型的评价方法例如,在建立用户购买模式的模型时,可能没有考虑通货膨胀的影响,但实施模型时通货膨胀率突然由3%增加为17%,这显然会对人们的购买意向产生重大影响。因此,再用原来的模型来预测客户购买情况必然会出现重大失误。直接在现实世界中测试模式很重要。我们可以先在小范围内应用模型取得测试数据,满意之后再向大范围推广,这是一种谨慎可行的方法。第八十八页,共一百页,2022年,8月28日5.3.6数据挖掘的实施和维护模型建立并经验证之后,有两种主要的使用方法。第一种是将模型的结果提供给分析人员作参考,由分析人员通过观察和分析这个模型之后提出行动方案建议。另一种使用模型的方法是把此模型应用到不同的数据集上。模型可以用来标识一个事物的类别,给客户的价值、信用度打分等,然后使用OLAP工具做进一步的分析。第八十九页,共一百页,2022年,8月28日5.3.6数据挖掘的实施和维护在应用了模型之后,还要不断监控,因为事物在不断发展变化,很可能过一段时间之后模型就不再起作用或者效果变差。销售人员都知道,人们的购买方式随着社会的发展而变化。因此随着使用时间的增加,要不断地对模型做重新测试,有时甚至需要重新建立模型。第九十页,共一百页,2022年,8月28日5.3.7模型实例利用SAS数据挖掘工具建立模型。这个模型由若干个模块组成。按照箭头所制的顺序,第一模块是进行数据挖掘的数据源,也就是准备好的挖掘数据。如果数据集合很大,则需要在这个模块中设定数据抽样的方法。模块“DataPartition”对挖掘数据进行划分,一般SAS使用3:3:4的划

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论