数据科学生命周期实战指南:从数据捕获、分析到沟通的完整旅程(Data-Science-For-Beginners)
2026/9/10 23:27:33 网站建设 项目流程

数据科学生命周期实战指南:从数据捕获、分析到沟通的完整旅程(Data-Science-For-Beginners)

【免费下载链接】Data-Science-For-Beginners10 Weeks, 20 Lessons, Data Science for All!项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners

本指南以微软开源课程 Data-Science-For-Beginners 的第 4 部分「数据科学生命周期」为核心,系统梳理数据科学项目的五大阶段,并重点深入生命周期中的捕获(Capturing)、处理(Processing)、维护(Maintaining)、分析(Analyzing)与沟通(Communication)五个环节。读完本文,你将掌握用 Pandas 执行探索性数据分析(EDA)的完整套路、用讲故事的方式传递数据洞察的方法论,并能复现仓库中基于纽约出租车数据的真实作业流程。

数据科学生命周期:为什么数据科学是一个过程

经过前面课程的学习,你应该已经意识到:数据科学不是一次性的写代码动作,而是一个过程。在 生命周期介绍 中,这一过程被拆解为 5 个阶段:

  • 捕获(Capturing):获取数据并定义要解决的问题;
  • 处理(Processing):从数据中发现模式并建模;
  • 分析(Analysis):验证数据能否回答提出的问题;
  • 沟通(Communication):向受众传递数据背后的故事;
  • 维护(Maintenance):贯穿项目始终的数据管理、存储与安全。

其中,本课程的介绍部分重点聚焦捕获、处理和维护三个阶段;分析(15-analyzing)与沟通(16-communication)则各有独立课程深入展开。下图给出了该生命周期的整体示意:

图片来源:Berkeley School of Information。

捕获(Capturing):定义问题与获取数据

捕获是生命周期中最关键的阶段,因为后续所有阶段都依赖它。它实际上是两个阶段的合并:获取数据+定义需要解决的目的与问题

定义项目目标

定义项目目标需要深入到问题或疑问的上下文中:

  1. 识别并找到需要被解决问题的人(如业务干系人、项目赞助方),由他们帮助明确谁会从这个项目中受益、他们需要什么、以及为什么需要;
  2. 一个定义良好的目标应当是可测量、可量化的,从而界定出"可接受的结果"。

数据科学家在此阶段常问自己以下问题:

  • 这个问题之前是否有人尝试过?发现了什么?
  • 目的和目标是否被所有参与者理解?
  • 是否存在歧义,如何减少歧义?
  • 有哪些约束条件?
  • 最终结果可能长什么样?
  • 有多少可用资源(时间、人员、计算能力)?

获取并评估数据

其次是识别、收集并最终探索达成目标所需的数据。在获取这一步,数据科学家还必须评估数据的数量与质量,这需要一定的数据探索来确认所获数据能支撑期望的结果。

关于数据,数据科学家常问的问题:

  • 我已经有哪些数据?
  • 谁拥有这些数据?
  • 有哪些隐私顾虑?
  • 数据量是否足够解决这个问题?
  • 数据质量对此问题是否可接受?
  • 如果通过数据发现了额外信息,是否应该考虑调整或重新定义目标?

处理(Processing):发现模式与建模

处理阶段聚焦于发现数据中的模式以及建模。该阶段使用的一些技术需要统计方法去揭示模式。对于大型数据集,人工完成这类工作是繁琐的,通常依赖计算机承担繁重工作来加速进程。

处理阶段也正是数据科学与机器学习交汇的地方:机器学习是构建模型以理解数据的过程,而模型是数据中变量之间关系的表示,用于预测结果。该阶段常用技术包括:

  • 分类(Classification):将数据组织到类别中以便更高效地使用;
  • 聚类(Clustering):将数据分组为相似群组;
  • 回归(Regression):确定变量之间的关系以预测或预报数值。

这些机器学习技术的系统讲解在本仓库之外的 ML for Beginners 课程中,本课程在此仅作为生命周期环节提及。

维护(Maintaining):贯穿全程的数据管理

在生命周期图中你可能注意到,维护位于捕获与处理之间。维护是一个持续的过程,负责在项目全过程中管理、存储和保护数据,并且应在整个项目中持续考量。

存储数据:位置与成本权衡

数据存储的位置与方式会影响存储成本以及数据访问的速度。这类决策通常不完全由数据科学家单独做出,但他们往往需要根据数据存储方式来决定如何与数据打交道。现代数据存储系统中有几个关键维度:

本地部署 vs 外部托管 vs 公有/私有云

  • 本地部署(On premise):在自有设备上托管数据,例如自购带硬盘的服务器;
  • 外部托管(Off premise):依赖不属于自己的设备,例如数据中心;
  • 公有云(Public cloud):存储数据的流行选择,无需了解数据具体如何存储或存在哪里,底层基础设施由所有云用户共享;
  • 私有云(Private cloud):一些组织有严格的安全策略,要求对托管数据的设备拥有完全访问权限,因此使用提供自有云服务的私有云。

关于云端数据的更多内容,参见本仓库的 云端数据科学章节。

冷数据 vs 热数据

训练模型时可能需要更多训练数据;即使模型已令人满意,也会有新数据持续到来。无论如何,随着数据积累,存储与访问成本都会上升。将很少使用的冷数据(cold data)频繁访问的热数据(hot data)分离,可以通过硬件或软件服务降低存储成本。冷数据在需要访问时,取回耗时通常比热数据更长。

管理数据:持续清洗保证质量

与数据打交道时你会发现,部分数据需要用 数据准备课程 中介绍的技术进行清洗,才能构建准确的模型。当新数据到来时,也需要应用同样的方法以保持质量一致。某些项目会使用自动化工具,在数据移动到最终位置之前执行清洗、聚合与压缩(例如 Azure Data Factory 就是这类工具之一)。

保护数据:安全与伦理

保护数据的主要目标之一是确保相关人员能够掌控收集了什么数据、在什么情境下被使用。保持数据安全包括:只向需要的人开放访问权限、遵守当地法律法规、以及维持伦理标准——这与 伦理课程 中的内容一脉相承。

团队出于安全考虑通常会做的事:

  • 确认所有数据均已加密;
  • 向客户说明其数据如何使用;
  • 移除已离开项目人员的数据访问权限;
  • 只允许特定项目成员修改数据。

分析(Analyzing):用 Pandas 做探索性数据分析

生命周期中的分析环节用于确认数据能够回答所提出的问题或解决特定问题,也可以用于确认模型是否正确处理了这些问题。本课程聚焦探索性数据分析(EDA)——一组定义数据内特征与关系、并为建模准备数据的技术。

课程使用一个来自 Kaggle 的邮件垃圾邮件分类数据集(每封邮件中常见单词的计数,来源匿名),结合 Python 与 Pandas 库演示。你可以跟随 分析 Notebook 实际操作,数据文件为仓库中的 data/emails.csv。

数据画像(Data Profiling)与描述性统计

如何评估是否有足够数据解决问题?数据画像通过描述性统计技术对数据集进行汇总,帮助我们了解"有什么可用";而描述性统计帮助我们了解"有多少可用"。

Pandas 的describe()函数可给出数值数据的 count、max/min、均值、标准差与分位数。仓库 Notebook 中的用法:

import pandas as pd # 加载数据集 path = '../../data/emails.csv' email_df = pd.read_csv(path) # 在邮件数据集上使用 describe print(email_df.describe())

输出示例(节选):

the to ect and for of count 406.000000 406.000000 406.000000 406.000000 406.000000 406.000000 mean 7.022167 6.519704 4.948276 3.059113 3.502463 2.662562 std 10.945522 9.801907 9.293820 6.267806 4.901372 5.443939 min 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 25% 1.000000 1.000000 1.000000 0.000000 1.000000 0.000000 50% 3.000000 3.000000 2.000000 1.000000 2.000000 1.000000 75% 9.000000 7.750000 4.000000 3.000000 4.750000 3.000000 max 99.000000 88.000000 79.000000 69.000000 39.000000 57.000000

使用describe()这类描述性统计可以帮助你评估当前拥有多少数据、以及是否还需要更多。

采样(Sampling)与查询(Querying)

在大数据集上探索一切非常耗时,通常交给计算机处理。采样是理解数据的得力工具:通过样本,你可以应用概率与统计得出关于数据的一般性结论。虽然采样多少没有硬性规定,但采样越多,泛化越精确

Pandas 的sample()函数可以传入随机采样的条数:

# 采样 10 封邮件 print(email_df.sample(10))

查询与采样互补:查询让你聚焦于你好奇的数据的特定部分,通过query()选择列并通过返回的行获得关于数据的简单答案。仓库 Notebook 中演示了"返回 'to' 出现次数多于 'the' 的行":

# 返回 "to" 出现次数多于 "the" 的行 print(email_df.query('the < to'))

输出(节选,共 169 行 × 17 列):

Email No. the to ect and for of a you in on is this i 1 Email 2 8 13 24 6 6 2 102 1 18 21 13 0 61 3 Email 4 0 5 22 0 5 1 51 2 1 5 9 2 16 ... [169 rows x 17 columns]

探索性可视化

你不必等到数据彻底清洗、分析完毕才开始创建可视化。事实上,在探索过程中就拥有视觉表示,能帮助你识别数据中的模式、关系与问题。此外,可视化提供了一种与不参与数据管理的人沟通的途径,可以分享并澄清捕获阶段未解决的问题。关于常见的可视化探索方式,可参考本仓库的 可视化章节。

识别不一致与缺失值

本课的所有技术都有助于识别缺失或不一致的值,但 Pandas 还提供了专门函数:isna()isnull()可检查缺失值。探索这些值时一个重要的点是:探究它们为什么会变成这样——这能帮助你决定采取什么 行动来解决它们。

沟通(Communication):用讲故事的方式传递数据

沟通是数据科学生命周期中最容易被低估、却至关重要的阶段。沟通就是传达或交换信息——信息可以是想法、思想、感受、消息,甚至数据。发送信息的一方称为沟通者(communicator),接收方称为受众(audience)

沟通数据的核心原则是:不要简单地把数字甩给受众,而要讲一个由数据支撑的故事。人们更容易记住你讲的故事,而不是你给的一个数字。

两种沟通类型

  • 单向沟通(One-way communication):发送方发出信息后不期待反馈。例如群发邮件、新闻播报、电视广告——发送方只是传达信息,不寻求交换。
  • 双向沟通(Two-way communication):所有参与者既是发送者又是接收者,接收方会提供反馈或回应。例如面对面交谈、电话、社交媒体、短信。

沟通数据时两者都会用到:在会议上向一大群人演讲(之后无法直接提问)属于单向沟通;用数据说服几位干系人达成共识、说服队友投入时间建设新事物,则属于双向沟通。

有效沟通的五大策略

1. 理解你的受众、渠道与沟通方式

你与家人沟通的方式和与朋友沟通的不同,数据沟通也应如此。根据Harvard Business Review文章《How to Tell a Story with Data》,受众大致可分为五类:

  • 新手(Novice):第一次接触该主题,但不希望被过度简化;
  • 通才(Generalist):了解该话题,但寻求概览性理解与主要主题;
  • 管理层(Managerial):需要关于细节与相互关系的深入、可操作的理解,并能接触细节;
  • 专家(Expert):需要更多探索与发现,而非简化叙事;
  • 高管(Executive):只有时间捕捉加权概率的意义与结论。

此外还要考虑沟通渠道(备忘录/邮件 vs 会议/演讲)以及使用单向还是双向沟通。例如面对多数是新手受众且为单向沟通时,必须先教育受众、给出上下文,再呈现数据并解释其含义与重要性,此时要极致聚焦清晰度,因为受众无法直接提问。

2. 以终为始(Begin with the End in Mind)

在开始沟通前先明确你希望受众带走什么。动笔前写下你的关键结论,然后在准备故事的每一步问自己:"这如何融入我要讲的故事?"

但要注意摘樱桃(Cherry-Picking):不能只沟通支持你结论的数据而忽略其他数据。如果某些数据不支持你的结论、甚至支持相反论点,你也应当如实呈现;若仍然坚持自己的故事,要向受众坦白并解释原因。

3. 像讲故事一样组织(Approach it Like an Actual Story)

传统故事有五个阶段:Exposition(铺陈)、Rising Action(上升)、Climax(高潮)、Falling Action(下落)、Denouement(收尾)——或者更易记的Context(背景)、Conflict(冲突)、Climax(高潮)、Closure(收束)、Conclusion(结论)

  • 背景:设定舞台,让受众在同一页面上;
  • 冲突:为什么要收集这些数据?要解决什么问题?
  • 高潮:数据是什么?数据意味着什么?数据告诉我们需要什么解决方案?
  • 收束:重申问题与提议的解决方案;
  • 结论:总结关键结论与建议团队采取的下一步。

4. 使用有意义的词句

模糊的表达会让不同听众得出不同结论。例如"用户需要很长时间才能完成平台注册"——一小时还是一周?如果改为"用户平均只需 3 分钟即可完成注册和上手",信息就清晰得多。类似地,"我们度过了令人印象深刻的一年"(2% 还是 50% 的增长?)、"用户成功率大幅提升"、"这项工作需要巨大努力"都是模糊表达。模糊语言可以作为引出更多数据的前奏或讲完故事的总结,但请确保呈现的每个部分都对受众清晰。

5. 运用情感(Use Emotion)

情感是讲故事的关键,数据故事尤甚。唤起情感能帮助受众共情、更可能采取行动,也更容易记住你的信息。具体做法:

  • 使用证言与个人故事:收集数据时同时收集定量与定性数据;若数据主要是定量的,就向个体寻找他们的经历故事;
  • 使用意象(Imagery):图片帮助受众把自己代入情境,推动受众产生你认为他们应持有的情绪;
  • 使用色彩(Color):不同颜色唤起不同情绪——蓝色通常唤起平静与信任,绿色常与自然和环境相关,红色通常是激情与兴奋,黄色通常是乐观与幸福。注意:颜色在不同文化中可能有不同含义。

沟通案例研究:Emerson 的 30 分钟会议

Emerson 是一款移动应用的产品经理,他发现:客户在周末提交的投诉和 bug 报告多 42%;投诉在 48 小时内未获回应的客户,给应用打出 1 或 2 星评级的可能性高 32%。

Emerson 的研究给出了两个解决方案:方案 1雇佣客服代表周末上班;方案 2购买新的客服工单系统,让客服能轻松识别排队最久的投诉。

在首次会议上,Emerson 的 30 分钟是这样分配的:5 分钟解释低评分为何糟糕,10 分钟解释研究过程,10 分钟逐条过近期客户投诉,最后 5 分钟草草带过两个解决方案。结果三位公司负责人的记忆点各不相同:一位只记得那 10 分钟投诉,一位只关注研究过程,第三位记住了方案却不知道如何落地——Emerson 想让负责人带走的,和他们实际带走的,出现了巨大差距

改进后的方案遵循"背景、冲突、高潮、收束、结论"结构:

  • 背景(前 5 分钟):说明应用商店评分目前是 2.5,而评分对应用商店优化(ASO)至关重要,直接影响搜索曝光与潜在用户观感,进而直接关联收入;
  • 冲突(5 分钟):"用户周末提交的投诉多 42%;48 小时未回应的客户给高于 2 星评级的可能性低 32%。把评分提升到 4 分可使曝光度提升 20%-30%,预计收入增加 10%。"(并准备好论证这些数字);
  • 高潮(5 分钟):介绍两个解决方案、如何解决所述问题、如何融入现有工作流、成本与 ROI,甚至展示截图或线框图,还可引用等待超 48 小时用户的证言与内部客服对现行工单系统的评价;
  • 收束(5 分钟):重述公司面临的问题、回顾方案、论证为何这些方案是正确的;
  • 结论(10 分钟):因为这是与少数干系人开会的双向沟通场景,留出 10 分钟答疑,确保会议结束前澄清所有困惑。

这样组织后,负责人们更可能带走 Emerson 真正想传达的信息:投诉与 bug 的处理方式可以改进,并且有两个方案可以落地。这正是有效的数据沟通与故事叙述的力量所在。

配套实战:三份可运行的作业与数据

生命周期的知识最终要落到动手。本章节仓库提供了三份层层递进的作业,全部围绕同一个业务问题展开:纽约市黄色出租车乘客在冬季还是夏季给司机的小费更多?

作业一:评估数据集(捕获阶段)

在 评估数据集作业 中,你处于生命周期捕获阶段,负责处理数据集。仓库提供了 评估 Notebook 与 出租车数据(200 条 2019 年 1 月和 7 月的出行记录,18 列,来自纽约出租车与轿车委员会)。

Notebook 中加载数据的核心代码:

import pandas as pd path = '../../data/taxi.csv' df = pd.read_csv(path) print(df)

数据列包括:VendorIDtpep_pickup_datetimetpep_dropoff_datetimepassenger_counttrip_distanceRatecodeIDPULocationIDDOLocationIDpayment_typefare_amountextramta_taxtip_amounttolls_amountimprovement_surchargetotal_amountcongestion_surcharge等。

任务要求:

  • 评估该数据集能否帮助回答客户的问题;
  • 在 NYC Open Data 目录中找出一个可能有助于回答该问题的补充数据集;
  • 写下 3 个你希望向客户澄清、以便更好理解问题的提问。

作业二:探索答案(分析阶段)

探索答案作业 是作业一的延续,此时团队进入生命周期分析阶段,负责对数据集做 EDA。使用本课技巧在 Notebook 中回答:

  • 数据中还有哪些因素会影响小费金额?
  • 哪些列最可能不需要用来回答客户问题?
  • 基于目前提供的数据,数据是否显示了季节性小费行为的证据?

作业三:讲一个故事(沟通阶段)

讲故事作业 则把重心转向沟通:数据科学就是讲故事。选择一个数据集,写一篇短文讲述你能从中讲出的故事——你希望数据集揭示什么?如果揭示的结果有问题你会怎么做?如果数据不能轻易解锁其秘密呢?把数据集可能呈现的场景写下来。

挑战:比较 TDSP 与 CRISP-DM 生命周期

数据科学生命周期有很多版本,每一步可能有不同名称和阶段数量,但都包含本课提到的相同过程。一个值得完成的挑战是:

探索Team Data Science Process(TDSP)生命周期跨行业数据挖掘标准流程(CRISP-DM),并说出两者之间的 3 个相似点和 3 个差异点。仓库中 生命周期介绍章节 提供了两者的示意图(images/tdsp-lifecycle2.pngimages/CRISP-DM.png)。TDSP 还提供了关于项目中各类角色与任务的资源,可帮助你理解不同角色如何聚焦于各阶段的特定部分。

小结

  • 数据科学是一个包含捕获、处理、分析、沟通、维护五阶段的过程;
  • 捕获阶段要定义可量化目标并评估数据的数量与质量;
  • 处理阶段用统计方法与机器学习模型揭示模式;
  • 维护是贯穿全程的工作,涵盖存储位置选择(本地/云、冷/热数据)、数据管理与安全伦理;
  • 分析阶段用describe()sample()query()isna()等 Pandas 工具做 EDA,回答"数据够不够、质量行不行、目标要不要调整";
  • 沟通阶段要区分单向与双向沟通,掌握"理解受众、以终为始、像故事一样组织、使用有意义的词句、运用情感"五大策略,并警惕摘樱桃式选择性呈现。

你可以打开仓库中的三份 Notebook(评估、分析、沟通作业)与 出租车数据 亲自走完整个生命周期,将方法论转化为可复用的实战能力。

【免费下载链接】Data-Science-For-Beginners10 Weeks, 20 Lessons, Data Science for All!项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询