数据科学项目生命周期是指完成并交付项目/产品给客户的一系列重复步骤。虽然不同的数据科学项目和参与部署及开发模型的团队会有所不同,但大多数数据科学生命周期在每个公司中都会略有不同。然而,大多数数据科学项目都遵循一个相似的过程。为了开始并完成一个基于数据科学的项目,需要了解参与构建、开发项目的人员的各个角色和责任。让来看一下典型的数据科学项目中涉及的员工角色:
业务分析师、数据分析师、数据科学家、数据工程师、数据架构师、机器学习工程师。现在已经了解了谁参与了典型的业务项目,让理解什么是数据科学项目以及如何在现实场景中定义数据科学项目的生命周期,例如假新闻识别器。
为什么需要定义数据科学项目的生命周期?在正常情况下,数据科学项目包含数据作为其主要元素。没有数据,无法进行任何分析或预测任何结果,因为正在看的是未知的东西。因此,在开始任何数据科学项目之前,无论是从客户还是利益相关者那里得到的,首先需要理解他们提出的潜在问题陈述。一旦理解了业务问题,就必须收集有助于解决用例的相关数据。然而,对于初学者来说,许多问题会出现,例如:
需要什么格式的数据?如何获取数据?如何处理数据?尽管答案可能因人而异,但为了立即解决所有这些问题,有一个预定义的流程,称为数据科学项目生命周期。这个过程相当简单,公司首先需要收集数据,执行数据清洗,执行EDA以提取相关特征,通过执行特征工程和特征缩放来准备数据。在第二阶段,模型构建并部署在适当的评估之后。整个生命周期不是一个人的工作,这需要整个团队共同努力,以实现项目所需的效率。
全球公认的解决任何分析问题的框架被称为跨行业标准过程数据挖掘,或简称为CRISP-DM框架。
为了构建一个成功的业务模型,首先理解客户面临的业务问题非常重要。假设他想要预测他的零售业务的客户流失率。首先可能想要了解他的业务、他的要求以及他实际上想要从预测中实现什么。在这种情况下,咨询领域专家并最终理解系统中存在的潜在问题非常重要。通常,业务分析师负责从客户那里收集所需的详细信息,并将数据转发给数据科学团队进行进一步的推测。定义问题和理解需求的任何微小错误可能对项目至关重要,因此必须以最大的精度完成。
在向公司利益相关者或客户提出所需问题后,进入下一个过程,即数据收集。
在明确问题陈述后,需要收集相关数据以将问题分解为小组件。数据科学项目从识别各种数据源开始,这些数据源可能包括Web服务器日志、社交媒体帖子、来自数字图书馆的数据,如美国人口普查数据集,通过API访问的互联网数据源,Web抓取或已经存在于Excel电子表格中的信息。数据收集涉及从已知的内部和外部来源获取信息,这些信息可以帮助解决业务问题。
通常,数据分析师团队负责收集数据。他们需要找出适当的数据来源方式并收集相同的数据以获得所需的结果。有两种方式可以获取数据:
在从相关来源收集数据后,需要继续进行数据准备。这个阶段帮助更好地理解数据并为进一步评估做好准备。此外,这个阶段被称为数据清洗或数据整理。它包括选择相关数据、通过混合数据集组合数据、清理数据、处理缺失值(要么删除它们,要么用相关数据填充它们)、处理错误数据(删除它)以及检查和处理异常值。通过特征工程,可以创建新数据并从现有数据中提取新特征。根据所需的结构格式化数据,并删除任何不必要的列或功能。数据准备是最耗时的过程,占总项目时间的高达90%,这是整个生命周期中最关键的步骤。
此时,探索性数据分析(EDA)至关重要,因为总结干净的数据可以识别数据的结构、异常值、异常和趋势。这些见解可以帮助确定最佳特征集、用于模型创建的算法和模型构建。
在大多数数据分析案例中,数据建模被视为核心过程。在这个数据建模过程中,以准备好的数据作为输入,并尝试准备所需的输出。首先倾向于选择适当的模型类型来实现结果,无论是回归问题、分类问题还是基于聚类的问题。根据收到的数据类型,选择最适合模型的机器学习算法。一旦完成,需要调整所选模型的超参数以获得有利的结果。
最后,通过测试准确性和相关性来评估模型。此外,项目需要确保特异性和泛化性之间的正确平衡,即创建的模型必须是无偏见的。
在模型部署之前,需要确保在经过严格的评估后选择了正确的解决方案。然后,它被部署在所需的渠道和格式中。这自然是数据科学项目生命周期中的最后一步。请在执行生命周期的每一步时格外小心,以避免不必要的错误。例如,如果为数据建模选择了错误的机器学习算法,那么将无法实现所需的准确性,并且很难从利益相关者那里获得项目批准。如果数据没有正确清理,将不得不在以后处理数据集中的缺失值或噪声。因此,为了确保模型被正确部署并被现实世界接受为最佳用例,必须在每一步进行严格的测试。