CRISPDM:人工智能产品规划流程

业内较为常见的人工智能规划流程是CRISP-DM,这个流程确定了一个数据挖掘项目的生命周期。

移动互联网的产品设计流程,通常要经历需求调研、需求分析、功能设计、视觉设计、编码测试几个阶段。围绕的重心是智能手机设备,对于产品的功能流程设计是否合理,用户交互是否顺畅,界面设计是否美观有着较高的要求。

如下图所示:

移动互联网产品规划流程

但是,在人工智能产品设计中,核心的重点不再是手机界面,而是对于业务的理解。

对数据的理解和对算法的理解,这就要求我们在进行产品规划的时候,将设计的重点从手机界面转变为以围绕业务目标的数据为核心。

目前,业内较为常见的设计流程是CRISP-DM(Cross-IndustryStandardProcessforDataMining,跨行业数据挖掘标准流程)。

CRISP-DM跨行业数据挖掘标准流程

在1996年的时候,SPSS,戴姆勒-克莱斯勒和NCR公司发起共同成立了一个兴趣小组,目的是为了建立数据挖掘方法和过程的标准。并在1999年正式提炼出了CRISP-DM流程。

这个流程确定了一个数据挖掘项目的生命周期,包括以下六个阶段:

这套流程没有特定工具的限制,不论是使用SPSS这类图形化的数据挖掘工具,还是python这类可用于数据挖掘的编程语言都可以。

也没有特定领域和行业的局限,是适用于所有行业的标准方法论,相对于其他的数据挖掘方法路,CRISP-DM具有灵活和适用范围光的优点。

需要特别注意的是:虽然这套数据挖掘流程的完整生命周期包含六个阶段,每一个阶段都依赖于上一个阶段的产出物,但是这六个阶段的顺序却并不是固定的。尤其是商业理解和数据理解,数据准备和建模阶段可能经常出现反复循环的过程。

是否可以继续进行下一个阶段取决于是否有达到最初的业务目标,如果业务目标没有达到,那么就要考虑是否是数据不够充分或算法需要调整,一切都以业务目标为导向。

那么,接下来,我们用一个电商案例来看一下:如何在实际工作中运用这套流程?

商业理解

海微购是一家从事跨境电商业务的创业公司,公司在前几年抓住了海淘的趋势,用户量和交易额都还不错。在新的财年,公司希望能在去年的基础上将GMV提高10%,并以此为目标制定新一年的工作计划。

1.确定业务目标

首先,需要先确定业务目标。

2.确定数据挖掘目标

第二步,需要将业务的问题转化为一个数据挖掘的问题。

根据业务目标,我们可以将其转化为以下几个数据挖掘问题:

在制定数据挖掘目标时,需要明确数据挖掘的问题是一个分类问题,聚类问题还是一个预测问题,以便于后续的建模阶段选择合适的算法。另外,还需要确定的是数据挖掘的范围,是针对所有用户大范围调整,还是先针对小规模的部分用户进行A/BTest,待验证成功之后再全面推行。

3.制定项目计划

在这个阶段需要明确各个环节的交付产物,并识别可能的项目风险,提前制定风险应对计划。

数据理解

1.收集数据

数据理解的第一步是收集数据。

海微购公司的产品经理通过排查发现:公司目前已经通过埋点收集到了用户在web端和APP端的行为数据,且平台售卖的商品有专门的人员负责打标签的工作,内部数据较为完善。但是,还缺乏用户对于平台上未售卖商品的偏好数据以及用户的人口属性数据。

针对这一点,海微购公司的产品经理决定组织一次用户有奖问卷调研活动。通过问卷调研的方式,抽样选取用户进行问卷填写,成功的收集了用户对于平台未售卖商品的偏好数据以及人口属性数据。

另一方面,通过网络爬虫数据,爬取了竞争对手平台的所有商品销售量,并根据销售单价推算出了总的销售额,完善了现有的数据体系。

2.数据标注

海微购公司所拥有的数据并不只有数据库中已经结构化了的数据,他还拥有很多非结构化的数据,例如:商品的图片数据,客户与客服的通话语音数据等等。

这些非结构化的数据并不是直接用于建模,而是需要先进行数据标注,将其转变为计算机可以识别的数据格式。

3.描述数据

当数据准备充分之后,需要对数据进行描述,以供后续阶段使用。主要包括对数据量的描述,数据值类型的描述以及编码方案的描述。

这些渠道类型在数据库中可以用文字来进行表示,也有可能用1234的数字来表示,在数据描述中需要特别注明这一类的数据及其对应的含义,以便后续阶段能正确的使用这些数据。

数据准备

如果产品经理在前期对于业务理解非常准确,数据理解也非常充分,那么将极大的减少数据准备阶段的工作量,提高工作的效率。

1.选择数据

在第一步选择数据阶段,需要做两件事情:第一是在所有的数据中选择哪些数据作为训练集,哪些数据作为测试集;第二是选择参与建模的特征字段有哪些。

2.清理数据

数据准备的第二步,是对数据进行清理,在实际的工作中,收集的数据不一定是100%准确无误的,常见的数据问题有:缺失值,错误值,离群值,编码不一致和无效数据。

例如:用户的年龄信息与是否购买某些商品有非常强的关系,但是用户的年龄信息对于用户本身来讲不是一个必填的信息。所以,商家不一定能获取到而造成缺失值。另外一种可能就是用户未填写真实的年龄,导致年龄出现负数或大于200的数这类错误值。

还有一些数据,例如用户的身高数据,如果绝大多数用户的身高在1.5米到1.9米之间,但是并不排除有一些用户的身高可能低于1.5米或高于1.9米。这类数据并不是错误数据,而是离群值,这类离群值量级较少,不是主要客户特征,但如果不加以排除直接参与到建模阶段,就有可能对建模造成一定的负面影响,比如:影响正常的平均值或极差。

编码不一致的问题也经常出现在数据中,例如:很多数据在低于1万的时候,显示的是具体的数值,而高于1万之后就不再显示具体的数值,而是显示成x.x万这样的格式,造成格式编码不一致的情况,在建模之前需要将所有数据处理为统一的单位和格式。

数据的正确性会直接影响后续建模阶段的模型效果,所以在数据准备阶段需要将这些问题数据进行处理,最简单的方法就是直接删除有问题的数据。但如果数据的量本来就比较少的话,也可以通过一些统计学的方法对数据进行修复或插补,例如:均值填补法处理缺失值,盖帽法处理离群值等等。

3.构建新数据

在数据挖掘中,有一些数据可以通过其他的数据转化而来,例如:如果获取到了用户的身份证信息,就可以根据身份证的生成规则知道用户的籍贯地址,生日以及性别。知道了用户的手机号,就可以通过手机号的归属地查到用户所在地;知道了用户的常用收货地址,结合房产数据,可以推测出用户大致的月收入。

除了对已有数据进行转化,还可以通过人工定义的方式将一些用户的事实行为通过规则转化为新的数据,例如:将月均平台消费超过1万的定义为高消费客户,将月活跃天数大于15天的定义为高活跃用户等等。

4.数据降维

数据降维的另一个目的是对数据进行可视化,我们生活在一个三维的世界中,但如果数据的维度大于三维,就无法进行可视化了。而通过降维将数据降为三维或二维的数据,并保持数据之间的关系,就可以通过肉眼来观察数据模型的效果了。

建立模型

到了这个阶段,之前的工作终于可以有所回报了,我们可以运用算法对前几个阶段准备的数据进行建模,看是否可以达到我们期望的结果。

建模的过程通常会执行多次,使用多个不同的算法和参数,因为在实际工作中,只是用一个算法且仅执行一次运算就能圆满的解决业务需求。这样的情况几乎是不存在的,正常的情况是我们可能需要在数据准备阶段与建立模型阶段之间反复多次,以确保业务目标达到最佳的效果。

1.选择建模算法

第一步,我们需要根据业务目标选择适合的算法,在前文我们提到过算法分为有监督学习和无监督学习两种。根据业务目标的不同,又可以分为:分类算法,聚类算法或预测算法。

算法的选择并不一定是越复杂的算法效果就越好,最终的效果取决于训练的数据以及设置的算法参数,所以我们可以在建模的时候,将适合的算法都尝试一次,根据结果来进行选择。

2.训练集评估

第二步,在选择好使用哪种算法之后,我们需要选择与训练集对应的测试集数据,并对算法的结果定义一个明确的评价标准。

3.构建模型

第三步,是真正建模的过程,在这个阶段根据算法的不同,可能需要对算法的参数进行调整,例如:KNN模型中调整K的值,或者深度神经网络算法调整隐藏层的数量等。

在每次调整算法参数并实际生成模型之后,我们需要根据在上一步定义的评价标准,记录模型的结果数据。这些结果数据将用来与其他的算法,以及同一个算法不同参数间的比较,确定最佳算法和参数。

这听起来是一件非常琐碎且耗时的事情,事实也确实如此,但是感谢技术的发展,大多数调参的过程都可以通过计算机自动完成,不需要人来值守。而且,通过集成算法的运用,我们可以同时使用不同的算法来对数据进行建模,我们在后面还会详细的讲到。

模型评估

至此,我们的项目已经完成了绝大多数的工作,在开始最后的部署阶段之前,最重要的事情是彻底的评估模型,根据在商业理解阶段定义的业务目标来评估我们努力的成果。

1.评估结果

最终的算法模型结果有可能达成了我们最初的业务目标,当然也有可能没达成。

达成了当然是一件好事,但如果没达成也不一定是一件坏事,就像爱迪生发明灯泡试验了一千种材料,失败了一千次也并不认为自己是失败了。他说:“我只是证明了这一千种材料不适合做灯丝而已。”

数据挖掘没有达成业务目标的结果,也不一定意味着建模的失败,有多种可能性导致不成功的结果。

2.审核过程

就像每个项目结束之后都需要进行复盘一样,在一次数据挖掘项目迭代之后,也需要对过程的成功之处和不足之处进行总结——回顾每个阶段的任务与关键的决定,看看每个阶段所做的事情对于最终的结果是否有所贡献?有没有什么方法是可以简化或者改善某一阶段任务完成情况?有没有什么不足之处,是可以在下一次迭代时进行改进的?有没有什么导致失败的问题是可以在下一次提前预测到并且避免的?

3.确定后续步骤

无论成功或失败,到现在都已经生成了最终的结果,那么就应该考虑一下:接下来该做些什么了?

一般会有两个选择:

当然,我们还可以选择其他方式来达成业务目标,毕竟一切的技术都是为了业务目标服务的,人工智能也并不是万能的,根据业务专家设置的规则或从产品运营角度也能提高业绩。

结果部署

建模的作用是从数据中找到知识,获得的知识需要以便于用户使用的方式重新组织和展现,这就是结果部署阶段的工作。根据业务目标的不同,结果部署简单的可能只需要提交一份数据挖掘报告即可,也有可能复杂到需要将模型集成到企业的核心运营系统当中。

1.制定部署计划

根据业务要求和运算性能的的不同,部署的模型可分为:离线模型,近线模型和在线模型三种。

近线模型适用于轻量级算法,一般在内存和Redis(一种支持Key-Value等多种数据结构的存储系统,适用于高速消息队列)中进行,运算的速度以秒为单位。而在线模型则通常根据业务规则来设置,在内存中运行,运行的速度以毫秒计。

另外,部署还需要考虑不同编程语言对于算法模型的调取兼容性,在这个阶段算法工程师需要与原有业务的开发工程师进行联调协作,确保业务系统能够正确的调用算法模型结果。

2.模型监督和维护

当发现模型结果在出现短期异常值时,排查异常的原因,例如:运营活动或者节假日等因素,当发现模型长期表现不佳时,则要考虑是否是用户和产品的数据构成已经发生了变化。如果是因为数据构成已经发生变化,则需要重新通过CRISP-DM流程构建新的模型。

3.生成最终报告

不论是在项目过程中一起并肩作战的同事,还是对项目关心的领导,都需要了解项目的最终成果。一个项目的成功,总离不开每个人的努力,常怀一颗感恩的心才能让一个团队走得更远。

本文由@黄瀚星原创发布于人人都是产品经理。未经许可,禁止转载

THE END
1.数据挖掘五步法所谓数据挖掘就是从海量的数据中,找到隐藏在数据里有价值的信息。因为这个数据是隐式的,因此想要挖掘出来并不简单。那么,如何进行数据挖掘呢?数据挖掘的步骤有哪些呢?一般来讲,数据挖掘需要经历数据收集、数据可视化、数据预处理、准备模型输入以及训练模型五大步骤,下面让我们来详细分析一下吧! https://blog.csdn.net/weixin_51689029/article/details/128333250
2.数据挖掘的六大过程数据挖掘的六大过程通常包括:数据清洗、数据集成、数据选择、数据变换、数据挖掘、模式评估。 这六个过程构成了一个系统而复杂的工作流程,旨在从大量数据中提取有用的模式和知识,支持决策和预测。 以下是每个过程的详细解释: 一、数据清洗 定义:数据清洗是对原始数据进行预处理的过程,旨在解决数据缺失、不一致、噪声等https://www.ai-indeed.com/encyclopedia/10656.html
3.什么是数据挖掘的流程?一步步带你掌握数据挖掘的完整过程数据挖掘已经成为现代商业和科技领域中不可或缺的一部分。它不仅帮助企业从海量数据中提取有价值的信息,还为决策提供了有力的支持。本文将带你详细了解数据挖掘的完整流程,从商业理解到模型部署,帮助你逐步掌握这一复杂而有趣的过程。 1. 商业理解 数据挖掘的第一步是商业理解,即明确业务目标和问题,理解项目需求。https://www.cda.cn/view/204893.html
4.数据挖掘的挖掘流程是什么帆软数字化转型知识库数据挖掘的挖掘流程包括:数据准备、数据清洗、数据集成、数据变换、数据挖掘、模式评估、知识表示。其中,数据准备是整个流程的基础,它包括数据收集和初步数据探索。数据收集是指从各种数据源获取所需数据,这些数据源可以是数据库、数据仓库、文件系统以及实时数据流。初步数据探索则是对收集到的数据进行基本的统计分析和可https://www.fanruan.com/blog/article/593346/
5.数据挖掘流程数据挖掘流程 (一)数据读取 读取数据,并进行展示 统计数据各项指标 明确数据规模与要完成的任务 (二)特征理解分析 单特征分析,逐个变量分析其对结果的影响 多变量统计分析,综合考虑多种情况影响 统计绘图得出结论 (三)数据清洗与预处理 对缺失值进行填充 https://www.jianshu.com/p/4934224be8fa
6.数据挖掘实施流程数据挖掘实施流程 数据挖掘过程是根据数据特征建立模型,然后通过科学检验,发现模型和数据之间规模的一系列活动,具体来说就是确定分析对象,对数据进行预处理,选择合适的数据分析方法进行数据处理,将分析结果进行可视化展现等,以下将对各个环节进行详细分析。 1 数据准备 https://cda.pinggu.org/view/20055.html
7.数据挖掘流程范文12篇(全文)数据挖掘流程 第1篇 1 数据挖掘的原理 数据挖掘是通过分析每个数据, 从大量数据中寻找其规律的技术, 其特点如图1。数据库是资源信息的存储地, 充分利用数据库资源对办公自动化系统有着重要的作用。由于计算机应用技术条件有限, 企业在数据挖掘地方面的操作存在不足, 导致数据资源浪费而影响了使用效率。数据挖掘技术本https://www.99xueshu.com/w/ikeyo1a9ca2z.html
8.数据挖掘全流程数据挖掘全流程下载源文件 立即使用 导图社区 数据挖掘全流程53 1 举报 发布时间:2022-10-17 这是一个关于数据挖掘全流程的思维导图,讲述了数据挖掘全流程的相关故事,如果你对数据挖掘全流程的故事感兴趣,欢迎对该思维导图收藏和点赞~数据挖掘全流程https://mm.edrawsoft.cn/template/967026
9.数据挖掘的基本流程在数据挖掘中,特征选择是从大量的特征中选择出最具有预测能力的特征。通过特征选择,可以减少模型的复杂性、提高模型的准确性和可解释性。常用的特征选择方法包括过滤法、包装法和嵌入法等。 6.模型建立 在数据挖掘的流程中,模型建立是一个核心步骤。在这一步骤中,根据问题的定义和数据的特征,选择合适的建模算法,并https://wenku.baidu.com/view/1b78ce1bdeccda38376baf1ffc4ffe473368fd86.html
10.数据挖掘架构层次数据挖掘六个阶段CRISP-DM--数据挖掘标准流程 在1996年的时候,SPSS,戴姆勒-克莱斯勒和NCR公司发起共同成立了一个兴趣小组,目的是为了建立数据挖掘方法和过程的标准。并在1999年正式提炼出了CRISP-DM流程。这个流程确定了一个数据挖掘项目的生命周期包括以下六个阶段: 业务/研究理解阶段 https://blog.51cto.com/u_16099184/6736582
11.一文搞懂!商业数据分析全流程CRISP-DM全称为CRoss Industry Standard Process for Data Mining(跨行业数据挖掘标准流程),如图1.2所示,这个流程模型将整个数据挖掘过程划分为六个主要阶段:业务理解、数据理解、数据准备、模型建立、模型评估和结果部署。 CRISP-DM强调,数据挖掘是一个迭代和探索的过程,六个步骤并不是线性的,而是根据实际情况灵活进行https://www.niaogebiji.com/article-606353-1.html
12.数据挖掘技术方法(精选十篇)微博诞生也不过数年光景,就以之为例。微博是大家熟知的社交网站,通过社交网站的数据挖掘的管理流程,就可窥一斑而见全豹,对整个网络数据挖掘的方法与技术就都可以融会贯通了。我们可以举个例子,譬如应用面向对象的系统分析方法与设计等等。 2 网络数据挖掘方法https://www.360wenmi.com/f/cnkeyg31vygx.html
13.电子商务应用论文(15篇)2Web数据挖掘的流程 Web数据挖掘是对商业数据库中的大量业务数据进行抽取、转换、分析和其他模型化处理,从中提取商业决策的关键性数据,可以使企业把数据转化为有用的信息帮助决策,从而在市场竞争中获得优势地位。在电子商务环境下,Web数据挖掘主要分为以下几步:(1)数据收集。首先数据收集主要针对web数据中的服务器数据https://www.yjbys.com/biyelunwen/fanwen/dianzixinxigongcheng/733161.html
14.直播回顾单细胞测序:从样本制备到数据挖掘的全流程探讨2023年6月7-8日,瑞沃德特邀达普生物产品经理潘鑫和达普生物、高级科学家肖之夏做客直播间,以“单细胞测序:从样本制备到数据挖掘的全流程探讨”为主题进行精彩分享,在线与大家一起探讨单细胞测序的奥秘! 没有赶上看直播 或想再回顾精彩内容的小伙伴 扫码即可查看直播回放 https://www.yiqi.com/news/detail_23958.html
15.12GEO数据挖掘之转录组测序数据流程以GSE150392为例1. 数据下载 proj = "GSE150392" #可以套用在其他代码里面了 1. 生存信息与临床信息 这里仅仅是查看一下生存信息等样品临床表型信息,到生存信息部分再整理。 library(GEOquery) eSet = getGEO("GSE150392",destdir = ".",getGPL = F) eSet = eSet[[1]] http://www.sxmu.edu.cn/bdcd/info/1109/1264.htm