编辑推荐: |
本文主要介绍了什么是CRISP-DM?有什么用,CRISP-DM生命周期的六个阶段,并描述了数据科学项目过程的不同阶段涉及的主要任务。
本文来自云社区,由火龙果软件Alice编辑、推荐。 |
|
为了帮助人们勇攀数据科学金字塔,很多人或公司提出了他们认为的最佳的数据科学处理流程。最常用的流程为“跨行业标准数据挖掘流程”(Cross
Industry Standard Process for Data Mining ,CRISP-DM)。
事实上,多年来,CRISP-DM一直稳居各种行业调查第一名。CRISP-DM的主要优势,也是它被广泛使用的原因,其关键在于它被设计成独立于任何软件、供应商或数据分析技术。
CRISP-DM最初是由一个由领先的数据科学供应商、终端用户、咨询公司和研究人员组成的联盟开发的。CRISP-DM项目最初由欧盟委员会(European
Commission)在ESPRIT项目中提供了部分资助,该流程在1999年的一次研讨会上被首次提出。从那时起,许多人尝试更新这个流程,但是最初的版本目前仍然广为使用。
多年来,CRISP-DM有一个专门的网站,但近年来这个网站已经废弃,有时你可能会被IBM重定向到SPSS网站,IBM也是该项目的最初资助者之一。最初,联盟发布了一个详细的(76页)但可读性很高的指南,可以在线免费获取该文档(参考Chapman等1999),其中的几页对该流程的结构和主要任务进行了摘要。
CRISP-DM生命周期包括六个阶段:
业务理解(business understanding)
数据理解(data understanding)
数据准备(data preparation)
建模(modeling)
评估(evaluation)
部署(deployment)
如图2-3所示。
▲图2-3 CRISP-DM生命周期
数据是所有数据科学活动的核心,这就是CRISP-DM图以数据为中心的原因。阶段之间的箭头表示该流程的典型方向。这个过程是半结构化的,这意味着数据科学家并不总是以线性方式顺序经过这六个阶段。根据特定阶段的结果,数据科学家可以回到前面的某个阶段,重新执行当前阶段的活动,或继续进入下一阶段。
01 业务理解和数据理解阶段
在前两个阶段,即业务理解和数据理解阶段,数据科学家试图通过了解业务需求和业务可用的数据来定义项目的目标。在项目的早期阶段,数据科学家通常会在关注业务和探索可用数据之间进行迭代。此轮迭代通常涉及业务问题的识别,然后探索是否有适当的数据可用于开发针对该问题的数据驱动型的解决方案。
如果有,项目可以继续;如果没有,数据科学家将不得不“越俎代庖”来确定待解决的问题。在项目的这个阶段,数据科学家将花费大量时间与业务部门(例如,销售、营销、运营部门)的同事面谈以了解业务问题,并与数据库管理员沟通以了解有哪些数据可用。
02 数据准备阶段
一旦数据科学家明确定义了业务问题并且为适当的数据可用而感到高兴,然后他就会进入CRISP-DM的下一阶段:数据准备。数据准备阶段的重点是创建可用于数据分析的数据集。
通常,创建此数据集涉及集成来自多个数据库的数据源,当组织机构具有数据仓库时,这种数据集成相对简单。创建数据集后,需要检查数据质量并修复有问题的数据。典型的数据质量问题包括异常值和缺失值。检查数据质量非常重要,因为数据中的错误会严重影响数据分析算法的性能。
03 建模阶段
CRISP-DM的下一阶段是建模阶段。这是使用自动算法从数据中提取有用模式并对这些模式进行编码的阶段。在计算机科学领域,机器学习专注于此类算法的设计。
在建模阶段,数据科学家通常会在数据集上使用多种机器学习算法并训练出多个模型。此时通过在数据集上运行机器学习算法来训练模型,以识别数据中的有用模式,对这些模式进行编码,其输出结果即模型。
在某些情况下,机器学习算法训练出来的模型是模板化的,训练的目的是根据数据集拟合出最佳的模板参数(例如,基于数据集拟合线性回归或神经网络模型)。在其他情况下,机器学习算法以分段方式构建模型(例如,从树的根节点开始一次一个节点递归地创建决策树)。
在大多数数据科学项目中,机器学习算法训练出来的模型会被部署到线上以帮助组织机构解决数据科学项目中的问题。每个模型由不同类型的机器学习算法训练出来,每个算法搜寻的模式也不尽相同。
在项目的这个阶段,数据科学家通常不知道就手头数据集而言哪些模式是最好的,因此,在这种情况下,需要尝试使用多种不同的算法并检验哪种算法输出了最精准的模型。
在大多数数据科学项目中,初始模型的测试结果就能揭示数据中的问题。当数据科学家发现模型的性能低于预期或模型的性能达到预期但真实性存疑时,数据错误有时会暴露出来。或者通过检查模型的结构,数据科学家可能会发现模型依赖的属性集并不是他所期望的,因此他重新访问数据以检查这些属性是否被正确编码。
因此,一个项目在建模跟数据准备这两个阶段之间进行多轮迭代是很常见的。例如,丹·斯坦伯格(Dan Steinberg)和他的团队在一个报告中声称,在某个数据科学项目中,他们在6周的时间内重建了10次数据集,而在第5周,他们经历了多次数据清理和准备,并且发现了数据中的一个重大错误。如果没有识别并修复此错误,那么该项目不会成功。
04 评估和部署阶段
在CRISP-DM中,评估和部署这两个最后的阶段侧重于研究模型如何适应业务及其流程。在建模阶段执行的测试更关注模型在数据集上的精度。评估阶段涉及在业务需求这个更广泛的上下文中评估模型。
模型是否满足业务目标?如果模型不满足,是否有任何业务方面的原因?在此过程中,数据科学家对项目活动进行常规的质量保证(quality
assurance)审查也是很有用的:是否遗漏了任何内容?可以做得更好吗?
基于对模型的一般性评估,在评估阶段做出的主要决策是否应该在业务中部署任何模型,或者需要另一次CRISP-DM的迭代来创建适当的模型。
假设评估过程有一个或多个模型通过验证,项目将进入流程的最后阶段:部署。部署阶段涉及确认如何将所选模型部署到业务环境中。这涉及规划如何将模型集成到组织的技术基础架构和业务流程中。最好的模型是无缝适应当前技术栈和业务流程的模型。
适合当前实践的模型天然能获得用户的青睐,因为用户有明确定义的问题,这样的模型可以帮助他们解决问题。部署的另一个方面是制定计划以定期检查模型的性能。
CRISP-DM图的外圈(图2-3)突出显示了整个过程是如何迭代的。数据科学项目的迭代属性是这些项目的一个不可忽略的方面,而它在数据科学的讨论中最容易被忽视。在项目开发并部署模型之后,应定期检查模型,以检查模型是否仍符合业务需求并且尚未过时。
数据驱动型模型可能过时的原因有很多种:
业务需求可能已经改变;
模型模拟的过程中获取的洞察力可能已经失效(例如,客户行为更改,垃圾邮件更改等);
或者模型使用的数据流可能已经发生改变(例如,提供数据给模型的传感器可能已经更新,并且新版本的传感器提供了略微不同的读数,导致模型不太准确)。
模型审核的频率取决于业务生态系统和模型使用数据的变化速度,需要持续监控模型的效果以确定再次执行CRISP-DM的最佳时间。图2-3所示的CRISP-DM的外圈正好揭示了这个道理。例如,根据数据特性,业务问题和领域,你可能每年、每季度、每月、每周甚至每天都要经历此迭代过程。
05 每个阶段需要安排多少时间?
图2-4描述了数据科学项目过程的不同阶段以及每个阶段涉及的主要任务。
▲图2-4 CRISP-DM各阶段与任务
许多缺乏经验的数据科学家经常犯的错误是将他们的工作重点放在了CRISP-DM的建模阶段,并急于完成其他阶段。他们可能认为项目中真正重要的可交付成果就是模型,因此数据科学家应该将大部分时间用于构建和调试模型。
然而,资深数据科学会花费更多时间来确保项目具有明确定义的重点并且拥有正确的数据。要使数据科学项目取得成功,数据科学家需要清楚地了解手头项目试图解决的业务需求。因此,CRISP-DM的业务理解阶段非常重要。
关于为项目获取正确数据这件事情,2016年对数据科学家的调查发现,79%的时间花在数据准备上。项目主要任务的时间分布如下:
收集数据集,19%;
清理和组织数据,60%;
构建训练集,3%;
根据数据挖掘模式,9%;
算法调优,4%;
执行其他任务,5%。
79%的准备数字来自于收集、清洗,以及组织数据。大约80%的项目时间用于收集和准备数据,这在多年的工业界调查中一直都是一致的结论。
有时这一发现令人惊讶,因为他们想象数据科学家会花时间构建复杂的模型以从数据中获取洞察力。但简单的事实是,如果没有应用到正确的数据集上,无论数据分析技术有多好,它都不会挖掘出有用的模式。
|