数据挖掘中的CRISP是什么?

2025年3月17日 | 阅读 14 分钟

CRISP-DM 代表跨行业数据挖掘标准流程。CRISP-DM 方法论提供了一种规划数据挖掘项目的结构化方法。它是一种强大且久经考验的方法论。我们不声称对其拥有任何所有权。我们不是发明者。当我们利用分析来解决业务问题时,我们是其强大实用性、灵活性和有用性的传播者。它是贯穿几乎每一次客户会议的一条黄金主线。

这个模型是一个理想化的事件顺序。在实践中,许多任务可以按不同的顺序执行,并且通常需要回溯到之前的任务并重复某些操作。该模型不试图捕捉数据挖掘过程中的所有可能路线。

CRISP 如何提供帮助?

CRISP DM 提供路线图,为您提供最佳实践,并提供结构,以更有效、更快速地利用数据挖掘的结果,这就是它如何帮助业务在规划和执行数据挖掘项目时进行遵循。

CRISP-DM 的阶段

CRISP-DM 以过程模型的方式概述了数据挖掘的生命周期。生命周期模型包含六个阶段,箭头指示了阶段之间最重要和最频繁的依赖关系。阶段的顺序不是严格的。并且大多数项目会根据需要来回切换阶段。CRISP-DM 模型是灵活的,可以轻松定制。

例如,如果您的组织旨在检测洗钱,您很可能会在没有特定建模目标的情况下筛选大量数据。您的工作将侧重于数据探索和可视化,以发现金融数据中的可疑模式,而不是建模。CRISP-DM 允许您创建适合您需求的数据挖掘模型。

它包括对项目典型阶段的描述、每个阶段涉及的任务以及对这些任务之间关系的解释。

What is CRISP in Data Mining

阶段 1:业务理解

CRISP-DM 流程的第一阶段是从业务角度理解您想要实现的目标。您的组织可能存在相互竞争的目标和限制,必须对其进行适当的权衡。此流程阶段旨在揭示影响项目结果的重要因素。忽略这一步可能意味着付出了大量努力来回答错误问题。

项目希望达到的预期产出是什么?

  1. 设定目标:从业务角度描述您的主要目标。可能还有您想提及的其他相关问题。例如,您的主要目标可能是通过预测客户何时倾向于转向竞争对手来留住现有客户。
  2. 制定项目计划:描述实现数据挖掘和业务目标的计划。该计划应规定在项目其余部分执行的步骤,包括初步的工具和技术选择。
  3. 业务成功标准:在这里,您将列出将用于确定项目是否从业务角度取得成功的标准。理想情况下,这些标准应该是具体的和可衡量的,例如,将客户流失率降低到某个水平。然而,有时可能需要更主观的标准,例如提供有价值的见解。

评估当前情况

这涉及更详细的事实调查,了解您在确定数据分析目标和项目计划时需要考虑的资源、限制、假设和其他因素。

  1. 资源清单:列出可用于该项目的资源,包括
    • 人员(业务专家、数据专家、技术支持、数据挖掘专家)
    • 数据(固定提取、访问实时、数据仓库或操作数据)
    • 计算资源(硬件平台)
    • 软件(数据挖掘工具、其他相关软件)
  2. 要求、假设和限制:列出项目的所有要求,包括完成时间表、所需结果的可理解性和质量,以及任何数据安全问题和法律问题。确保您被允许使用这些数据。列出项目所做的假设。这些可能是数据挖掘过程中可验证的数据假设,但也可能包括与项目相关的、不可验证的业务假设。如果这些假设会影响结果的有效性,那么列出后者非常重要。列出项目上的限制。这些可能是资源可用性上的限制,但也可能包括技术限制,例如数据集中适合建模的大小。
  3. 风险和应急计划:列出可能延迟项目或导致项目失败的风险或事件。列出相应的应急计划,例如,如果发生这些风险或事件,您将采取什么行动?
  4. 术语:编译项目相关的术语表。这通常有两个组成部分
    • 与项目相关的业务术语表是项目可用的业务理解的一部分。构建此术语表是一个有用的“知识获取”和教育练习。
    • 数据挖掘术语表以与业务问题相关的示例来说明。
  5. 成本与效益:构建项目的成本效益分析,比较项目的成本与项目成功后可能为企业带来的潜在效益。在商业环境中,应尽可能具体地进行此比较,例如使用财务指标。

确定数据挖掘目标

业务目标以业务术语陈述目标。数据挖掘目标以技术术语陈述项目目标。例如,业务目标可能是“增加向现有客户的目录销售额”。数据挖掘目标可能是“预测给定客户过去三年的购买记录、人口统计信息(年龄、薪水、城市等)以及商品价格,该客户将购买多少小部件”。

  1. 业务成功标准:描述项目预期达到的产出,以实现业务目标。
  2. 数据挖掘成功标准:定义项目成功的标准。例如,一定水平的预测准确性或具有一定“提升度”的购买倾向概况。与业务成功标准一样,可能需要以主观方式描述这些标准,在这种情况下,应确定做出主观判断的人员。

制定项目计划

描述实现数据挖掘目标和业务目标的预期计划。您的计划应规定在项目其余部分执行的步骤,包括初步的工具和技术选择。

1. 项目计划:列出项目将执行的阶段、持续时间、所需资源、输入、输出和依赖关系。在可能的情况下,尝试明确数据挖掘过程中的大型迭代,例如建模和评估阶段的重复。

作为项目计划的一部分,分析时间表和风险之间的依赖关系很重要。在项目计划中明确标记这些分析的结果,如果风险显现,最好附带行动和建议。决定在评估阶段将使用哪种评估策略。

您的项目计划将是一个动态文档。在每个阶段结束时,您将审查进度和成就,并相应地更新项目计划。这些更新的特定审查点应包含在项目计划中。

2. 工具和技术的初步评估:在第一阶段结束时,您应该对工具和技术进行初步评估。例如,您选择一个数据挖掘工具,该工具支持流程不同阶段的各种方法。在流程早期评估工具和技术很重要,因为工具和技术的选择可能会影响整个项目。

阶段 2:数据理解

CRISP-DM 流程的第二阶段要求您获取项目资源中列出的数据。此初始收集包括数据加载,如果这是数据理解所必需的。例如,如果您使用特定的工具进行数据理解,那么将数据加载到该工具中是很有意义的。如果您获取多个数据源,您需要考虑如何以及何时将它们集成。

  • 初步数据收集报告:列出获取的数据源、它们的位置、获取它们使用的方法以及遇到的任何问题。记录您遇到的问题和已实现的解决方案。这将有助于将来复制此项目和执行类似的未来项目。

描述数据

检查已获取数据的“粗略”或“表面”属性并报告结果。

  • 数据描述报告:描述已获取的数据,包括其格式、数量、字段标识以及发现的其他表面特征。评估获取的数据是否满足您的要求。

探索数据

在此阶段,您将使用查询、数据可视化和报告技术来解决数据挖掘问题。这些可能包括

  • 关键属性的分布
  • 对偶或少量属性之间的关系
  • 简单聚合的结果
  • 重要子群体的属性
  • 简单统计分析

这些分析可能直接解决您数据挖掘目标。它们可以促进或完善数据描述和质量报告,并为进一步分析所需的数据转换和其他数据准备步骤提供信息。

  • 数据探索报告:描述您的数据探索结果,包括初步发现或初始假设及其对项目剩余部分的影响。如果适用,您可以在此处包含图表和图,以指示数据特征,这些特征表明需要进一步检查有趣的数据子集。

验证数据质量

检查数据的质量,回答以下问题

  • 数据是否完整,还是涵盖了所有必需的案例?
  • 数据是否正确,是否包含错误?如果存在错误,有多少?
  • 数据中是否存在缺失值?如果是,它们是如何表示的,它们出现在哪里,有多少?

数据质量报告

列出数据质量验证的结果。如果存在质量问题,请提出可能的解决方案。数据质量问题的解决方案通常在很大程度上取决于数据和业务知识。

阶段 3:数据准备

在此项目阶段,您将决定将用于分析的数据。您可能用于做出此决定的标准包括数据与数据挖掘目标的相关性、数据的质量以及技术限制,例如数据量或数据类型的限制。

  • 包含/排除的理由:列出要包含/排除的数据以及这些决定的原因。

清理数据

此任务包括将数据质量提高到所选分析技术所需的水平。这可能涉及选择数据的干净子集、插入合适的默认值,或更复杂的技巧,例如通过建模估算缺失数据。

  • 数据清理报告:描述您为解决数据质量问题所做的决定和采取的行动。考虑为清理目的进行的任何数据转换及其对分析结果的可能影响。

构建所需数据

此任务包括建设性的数据准备操作,例如生成派生属性、完整的记录或现有属性的转换值。

  • 派生属性:这些是从同一记录中的一个或多个现有属性构建的新属性。例如,您可以使用长度和宽度变量来计算新的面积变量。
  • 生成的记录:在这里,您将描述创建的任何全新记录。例如,您可能需要为过去一年未购买的客户创建记录。原始数据中没有理由拥有这些记录。然而,为了建模目的,明确表示特定客户的零购买量可能是有意义的。

整合数据

这些方法将来自多个数据库、表或记录的信息合并,以创建新的记录或值。

  • 合并数据:合并表是指将两个或多个具有关于同一对象的不同信息的表连接起来。例如,连锁零售商可能有一个包含每个商店一般特征(例如,楼层面积、商场类型)信息的表,另一个包含汇总销售数据(例如,利润、与去年相比的销售增长百分比)的表,还有一个包含周边地区人口统计信息(例如,人口密度、平均收入)的表。这些表中的每一个都包含一个商店的记录。这些表可以合并成一个包含每个商店记录的新表,该表结合了源表的字段。
  • 聚合:聚合是通过汇总来自多个记录或信息来计算新值的操作。例如,将一个包含客户购买记录(每个购买一个记录)的表转换为一个新表,其中包含每个客户的记录,字段包括购买次数、平均购买金额、信用卡支付的订单百分比、促销商品百分比等。

阶段 4:建模

选择建模技术:作为第一步,您将选择将使用的基本建模技术。尽管您可能在业务理解阶段已经选择了一个工具,但在这一阶段,您将选择具体的建模技术,例如使用 C5.0 构建决策树或使用反向传播生成神经网络。如果应用多种技术,则为每种技术单独执行此任务。

  • 建模技术:记录将要使用的基本建模技术。
  • 建模假设:许多建模技术都对数据做出特定假设,例如,所有属性都具有均匀分布,不允许有缺失值,类属性必须是符号型的等等。记录任何假设。

生成测试设计

在构建模型之前,您需要生成一个程序或机制来测试模型的质量和有效性。例如,在分类等监督数据挖掘任务中,通常使用错误率作为数据挖掘模型的质量度量。因此,您通常会将数据集分成训练集和测试集,在训练集上构建模型,并在单独的测试集上评估其质量。

  • 测试设计:描述用于训练、测试和评估模型的预期计划。计划的一个主要组成部分是确定如何将可用数据集划分为训练集、测试集和验证集。

构建模型

在准备好的数据集上运行建模工具以创建一种或多种模型。

  • 参数设置:对于任何建模工具,通常有大量可以调整的参数。列出参数、它们的值以及选择参数设置的理由。
  • 模型:这些是建模工具生成的模型,而不是关于模型的报告。
  • 模型描述:描述生成的模型,报告模型的解释,并记录在理解模型含义时遇到的任何困难。

评估模型

根据您的领域知识、数据挖掘成功标准和期望的测试设计来解释模型。判断建模和发现技术的应用是否成功,然后在稍后联系业务分析师和领域专家以在业务背景下讨论数据挖掘结果。此任务仅考虑模型,而评估阶段还考虑在项目期间生成的所有其他结果。

在此阶段,您应该对模型进行排名,并根据评估标准对其进行评估。您应该尽可能在此处考虑业务目标和成功标准。在大多数数据挖掘项目中,一种技术会应用多次,并且数据挖掘结果会使用多种不同的技术生成。

  • 模型评估:总结此任务的结果,列出您生成模型的质量(例如,以准确性衡量),并对它们之间的质量进行排名。
  • 修订参数设置:根据模型评估,修订它们并调整它们以进行下一次建模运行。迭代模型构建和评估,直到您确信已找到最佳模型。记录所有这些修订和评估。

阶段 5:评估

评估结果:之前的评估步骤处理了准确性和模型泛化性等因素。在此步骤中,您将评估模型满足业务目标的程度,并确定是否存在某些业务原因导致该模型存在缺陷。另一种选择是,如果时间和预算限制允许,则在实际应用中测试模型。评估阶段还包括评估您生成的任何其他数据挖掘结果。数据挖掘结果包括必然与原始业务目标相关的模型,以及不一定与原始业务目标相关但可能揭示额外挑战、信息或未来方向线索的所有其他发现。

  • 数据挖掘结果评估:以业务成功标准总结评估结果,包括关于项目是否已达到初始业务目标的最终陈述。
  • 批准模型:在根据业务成功标准评估模型后,符合所选标准生成的模型即为批准模型。

审查流程

此时,模型看起来令人满意并满足业务需求。现在是时候对数据挖掘参与进行更彻底的审查,以确定是否有重要的因素或任务被忽略了。此审查还涵盖质量保证问题。例如:我们是否正确构建了模型?我们是否仅使用了被允许使用且可用于未来分析的属性?

  • 流程审查:总结流程审查,并重点介绍已遗漏的活动和应重复的活动。

确定下一步

现在,您将根据评估结果和流程审查来决定如何进行。您是完成此项目并进行部署,还是启动进一步的迭代,或者设置新的数据挖掘项目?您还应该盘点剩余的资源和预算,这可能会影响您的决定。

  • 可能的操作列表:列出潜在的进一步操作以及每个选项的理由。
  • 决策:描述如何进行的决定以及理由。

阶段 6:部署

规划部署:在部署阶段,您将根据评估结果并确定其部署策略。如果已确定创建相关模型的通用程序,则在此处记录该程序以便以后部署。在业务理解阶段考虑部署的方式和方法是明智的,因为部署对项目的成功至关重要。这就是预测分析有助于改善您的业务运营方面。

  • 部署计划:总结您的部署策略,包括必要的步骤和如何执行它们。

规划监控和维护

如果数据挖掘结果成为日常业务及其环境的一部分,则监控和维护是很重要的问题。精心准备的维护策略有助于避免数据挖掘结果不必要地长时间被错误使用。项目需要详细的监控流程计划来监控数据挖掘结果的部署。该计划考虑了部署的具体类型。

  • 监控和维护计划:总结监控和维护策略,包括必要的步骤和如何执行它们。

生成最终报告

项目结束时,您将编写一份最终报告。根据部署计划,该报告可能仅仅是项目及其经验的总结(如果它们尚未被记录为持续活动),或者它可能是数据挖掘结果的最终和全面演示。

  • 最终报告:这是数据挖掘参与的最终书面报告。它包括所有之前的可交付成果,总结并组织结果。
  • 最终演示:项目结束后通常会有一个会议,向客户展示结果。

审查项目

评估哪些方面做得好,哪些方面做得不好,哪些方面做得好,哪些方面需要改进。

  • 经验文档:总结项目中获得的宝贵经验。例如,此文档可以包括您遇到的任何陷阱、误导性方法或选择最适合数据挖掘技术的提示。在理想的项目中,经验文档还应涵盖项目成员在项目早期阶段编写的任何报告。