数据科学101:数据科学项目的生命周期
我第一次听到数据科学这个词是在大学里,当时我的导师 - Francisca Oladipo教授和Dayo Akinbami,上了一门名为**"数据科学简介 "的课程。**
在进入大学之前,我不知道该在计算机科学领域选择什么样的职业道路**(因为我心中有几个选择**)。但是,我很高兴我选了那门数据科学入门课程。我至少可以说,它促使我找到了一条更好的道路,开始了数据科学的职业生涯,我很感谢我走了这么远。
虽然我不是这篇文章的主题,但我认为你了解我是如何进入数据科学的,这很好。我也希望用我的故事来激励你们,如果我能够走到这一步,你们也可以做得更多。请注意,我才刚刚开始,我的愿景是在未来几年内成为一个世界级的数据专家(按所有标准)。
我写这篇文章的主要目的是揭开 "数据科学"这个词的神秘面纱,帮助个人和企业了解它的含义以及建立数据科学模型的不同阶段。在随后的文章中,我将讨论基于数据科学的角色以及成为一流的数据科学家所需的技能。
我知道,我们不一定都能成为数据科学家。然而,如果这篇文章至少能帮助一个人找到进入数据科学的正确脚步,就像数据科学课程 激励我开始行动一样,我的快乐就会圆满。
让我们一起进入这个领域。
什么是数据科学?
术语 "数据科学 "是当今互联网上最常见的流行语之一,但它往往是一个难以掌握的概念。如果你请三位专家解释一下数据科学的含义,你很可能会得到四个不同的定义。
为了本文的目的,我更倾向于坚持这个定义。
"数据科学是一个多学科的研究领域,它结合了编程技能、领域专业知识以及统计学和数学知识,从数据中提取有用的见解和知识"。那些从事数据科学的人被称为 "数据科学家"。他们结合广泛的技能和现代技术来分析从传感器、客户、智能手机、网络和其他来源收集的数据。
让我们把它分解一下。你还记得那些时候,当你在电子商务平台上浏览一个产品时,你最终看到在产品细节下面放置了一条相关产品,标题是**"购买此商品的客户也购买了...... "或"经常一起购买**"?这是亚马逊等大型零售商使用的一项伟大的数据科学技术,用于发现商品之间的关联,并向新老客户交叉销售。
我想,数据科学是当今最令人兴奋的领域之一,有很多原因使它成为几乎所有行业或利基市场的热门词汇。其中一个主要原因是,每个组织都坐拥一个可以提供巨大利益的数据宝库。第二个原因是,数据科学是一种变革性的、宝贵的技术,它为数字经济提供了动力,就像石油为工业经济提供动力一样。
如果操作得当,数据科学会产生有价值的洞察力,并揭示出企业可以利用的趋势,以进行战略规划,优化业务流程,做出更明智的决策,创造更多的创新服务和产品,等等。一个典型的数据科学生命周期包括几个阶段。在下一节中,我将向你展示不同的阶段以及每个阶段涉及的内容。
数据科学项目的生命周期
许多组织和个人都在谈论数据科学项目和产品,但只有少数人了解构建数据科学产品或模型的步骤。到目前为止,我发现的一件事是,只有少数组织拥有适合数据科学的基础设施。大多数现代企业需要进行重大转型,才能从数据科学中获益。
在这篇文章的剩余部分,我将讨论你建立数据科学模型或产品所需的不同步骤。每个组织都可以采用该方法,无论其利基或规模如何。
业务问题的理解
在开始收集数据和建立机器学习模型之前,你要做的第一件事是定义和理解你要解决的问题。你需要能够将业务需求转化为数据科学问题和可操作的步骤。一个好的方法是与你想改善或优化其业务或流程的合适人员接触,并提出适当的问题。
我认为,数据科学产品或模型不应该孤立存在。相反,它们应该帮助企业转变现有的业务运营,改善业务流程,或者找出客户差评和销售不佳的原因和可能的解决方案,等等。所以,真正了解业务问题并评估是否可以用数据科学来解决它,是很有帮助的。这是因为并非所有的业务问题都可以用数据科学来解决。更好地理解业务问题会增加你建立伟大的数据驱动产品的机会,从而对组织产生积极的影响。
数据收集
了解问题后的下一步是收集正确的数据集。数据收集是必不可少的,如果没有高质量的数据或收集数据的机制,要建立一个好的模型实际上是很有挑战性的,或者说几乎是不可能的。
根据我的研究和与一些数据科学专业人士的交流,我可以明确地说,许多组织收集不可靠的、不完整的数据,他们之后所做的一切都被搞乱了。有些组织甚至不知道要收集什么样的数据,也不知道这些数据在哪里。
我认为,要收集的数据取决于你要解决的业务问题。例如,用于客户信用风险分析的完美数据通常应包括人口统计学数据、贷款信息和还款数据、交易报表或电信数据。如果为了这个同样的问题而收集客户的身高、鞋码或裤长等数据,那就相当不妥。
随着现代技术的出现,如网络刮削、云数据收集工具和网络API;MongoDB、PostgreSQL和MySQL等数据库系统;以及SQL、Python、R、Beautiful Soup、Scrapy、Spark、Apache等工具的出现,你可以随时随地提取有价值的数据。
数据清理和处理
只收集原始数据而不对其进行处理是不够的。就像纯金一样,原始数据在其纯粹的形式下很难使用,也没有用处。在收集了适当的数据集后,在进行下一步之前,你需要充分地清理和处理数据。
在一个理想的世界里,你更有可能收集非结构化的、不相关的和未经过滤的数据。如果你在没有进行数据处理和清理的情况下着手建立一个ML模型,你的分析结果肯定没有任何意义。就是这么简单:糟糕的数据会产生糟糕的模型,无论你如何调整参数或优化模型的超参数。在很大程度上,你的分析的准确性和有效性高度依赖于你的数据的质量。
作为一名数据科学家,我遇到过几种形式的数据问题,包括重复值和空值,不一致的数据类型,缺失的数据,无效的条目,不恰当的格式等,我必须在继续进行之前解决这些问题。
值得注意的是,大多数数据科学家的时间都花在了数据收集、清理和处理上。一些数据专家甚至认为,这需要80%的时间用于数据项目。如果你想建立伟大的数据科学模型,你需要找到并解决数据集中的缺陷和不一致之处。虽然数据清理是痛苦而繁琐的,但只要你保持对最终目标的关注,你就会度过难关并从中受益。
探索性数据分析(EDA
在这一点上,你有大量的数据。你已经能够对数据进行清理和处理,使其尽可能有条理。现在是时候深入检查所有的数据特征,数据属性,建立对数据的信心,获得对数据的直觉,进行理智检查,弄清楚如何处理每个特征。E.T.C 这整个过程被称为探索性数据分析(EDA)--数据科学中的常用词之一。
EDA涉及多种形式的分析,包括单变量分析、双变量分析、缺失值处理、离群点处理、变量转换、特征工程和关联分析。一个有效的EDA策略提供了适当的基础,你需要从你的原始特征集创建更好的、高预测性和稳定的预测器。
我喜欢EDA的原因之一是,它可以帮助我向数据提出几个问题,更好地探索和可视化不同的数据集,以确定模式,并发现在ML生命周期的后续步骤中有用的宝贵见解。它还让我接触到创新和分析性的思考。
模型建立和评估
模型建立和评估阶段是你对数据进行实际建模的地方。事实上,许多数据科学家认为,"真正的魔法发生在这个阶段"。在这个阶段,你要做的第一件事就是把上一步清理过的数据集分成训练集和测试集。
你应该使用训练集来建立预测模型,并评估你的模型在未见过的数据点(测试集)上的表现。ML问题通常被划分为有监督或无监督的问题。监督学习涉及建立一个模型,该模型可以使用一组被称为预测器的特征来准确预测目标变量。而无监督学习是一种自我学习的方法,模型必须找到各种未知的模式和所有预测因素之间的关系。
你可以使用几种评估指标来检查你的模型工作得如何,而选择使用哪种指标取决于你要解决的问题的种类。我不会用那些机器学习的技术术语来烦你。也许,我很快就会写一篇关于监督和非监督问题的一些常用评估指标的文章。
根据评估结果,你可能需要调整模型的参数,以确保它能很好地泛化,并在暴露于以前未见过的数据时能很好地工作。这个过程被称为超参数调整,我相信随着你建立更多的模型和使用几个参数值的练习,你会越来越擅长这个过程。
交流模型结果
在建立和评估模型之后,你需要交流模型的结果,并向利益相关者介绍你的发现。
根据我的经验,我发现高层管理人员对你用来建立模型的花哨算法或使用的超参数数量并不感兴趣。他们主要感兴趣的是了解他们能用你的模型做什么,以及它将如何推动他们的业务发展。
因此,每个数据科学家都需要有良好的表达能力和讲数据故事的技巧,以展示一个模型如何帮助解决生命周期第一阶段所确定的业务问题。使用复杂的措辞和把复杂的公式放在你的演示幻灯片上,不会让你走得更远。但是,通过以精确和简洁的方式展示你的模型的真正价值,高管们就会更容易采用这个模型。
模型的部署和维护
沟通通常不是数据科学项目生命周期中的最后阶段。一旦利益相关者对你的模型结果感到满意,下一步就是部署该模型。一个机器学习模型并不是为了永远停留在本地机器上而建立的。它需要为组织产生价值,而使用该模型做出实用的、数据驱动的决策的唯一方法是将其交付给最终用户。我喜欢Luigi Patruno在这篇文章中的说法--"没有机器学习模型是有用的,除非它被部署到生产中"。
我不太喜欢模型的部署过程,因为它有时会变得很麻烦。此外,它涉及到数据科学家、业务专家、软件工程师和IT团队之间的许多来回奔波。在这一节中我要提到的最后一件事是模型维护。当我第一次进入数据科学领域时,我一直认为数据科学家可以只建立一个模型,部署它,然后放松,而这个模型永远保持工作。但是,没过多久我就发现,就像机器需要维护一样,机器学习模型也需要被维护。
这种 "部署一次,永远运行"的做法是不好的,因为有几个因素可能会随着时间的推移影响ML模型的预测能力。Covid-19大流行病就是一个不可预测的事件的好例子。我希望所有的组织都已经更新或已经计划更新他们在大流行之前建立的所有ML模型,以捕捉大流行期间暴露的新的客户模式和行为。一般来说,每个组织都应该有一个模型升级策略,以不断更新他们的数据并重新训练他们的ML模型--可能是在3、6或9个月的间隔。
总结
在这篇文章中,我能够解释数据科学的含义。之后,我继续描述了数据科学项目生命周期的不同阶段,包括业务问题的理解、数据收集、数据清洗和处理、探索性数据分析、模型建立和评估、模型沟通、模型部署和评估。
我假设你现在已经了解了数据科学的工作原理以及建立数据科学模型所需的步骤。如果你有进一步的问题或需要一些更多的澄清,请不要犹豫,在下面留言。在我的后续文章中,我将讨论行业中不同的数据科学角色,以及成为一流的数据科学家所需的技能。
谢谢你的阅读。你也可以与你的朋友和网络分享这篇文章。
数据科学101:数据科学项目的生命周期》最初发表在《走向数据科学》杂志上,人们通过强调和回应这个故事来继续对话。