Data-Science-For-Beginners 数据科学生命周期全解:从 Capturing 到数据叙事(含课程原文、Pandas 实操与讲义证据)
【免费下载链接】Data-Science-For-Beginners10 Weeks, 20 Lessons, Data Science for All!项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners
在 microsoft/Data-Science-For-Beginners 课程的第四部分《Data Science Lifecycle》(爱沙尼亚语版本为 translations/et/4-Data-Science-Lifecycle/README.md,正文标题 "Andmeteaduse elutsükkel")中,课程把数据科学拆解为 capturing、processing、analysis、communication、maintenance 五个阶段,并用三节课分别深入其中三个环节。读完本篇,你将掌握生命周期各阶段的具体职责与检查清单、用 Pandas 完成探索性数据分析(EDA)的可复制代码路径,以及把分析结果讲成"数据故事"的五种策略和一套可复用的会议叙事框架。
章节骨架:一个索引页背后的三节课
translations/et/4-Data-Science-Lifecycle/README.md 是本章的入口页,其结构与英文原版 4-Data-Science-Lifecycle/README.md 完全对应:一句导读("在这些课程中,你将探索数据科学生命周期的若干方面,包括围绕数据的分析与沟通")+ 三个主题链接 + 致谢(课程由 Jalen McGee 和 Jasmine Greenaway 编写)。页面末尾还附有一段重要声明:该页由 AI 翻译服务 Co-op Translator 自动翻译,原文档的英文原版应视为权威来源——因此在阅读爱沙尼亚语版本时,建议以英文章节为基准核对术语。
三个主题及其对应的仓库路径:
| 主题 | 英文原文 | 讲解内容 |
|---|---|---|
| 1. Introduction(Sissejuhatus) | 4-Data-Science-Lifecycle/14-Introduction/README.md | 生命周期五阶段总览:capturing / processing / maintenance |
| 2. Analyzing(Analüüsimine) | 4-Data-Science-Lifecycle/15-analyzing/README.md | 探索性数据分析(EDA):Pandas 描述统计、抽样、查询、缺失值探查 |
| 3. Communication(Kommunikatsioon) | 4-Data-Science-Lifecycle/16-communication/README.md | 数据沟通与故事讲述:受众分类、叙事五步法、Emerson 案例 |
需要说明的是:课程原文给出的生命周期五阶段为 capturing、processing、analysis、communication、maintenance,其中第 14 课负责前三个环节中的 capturing、processing、maintenance,第 15、16 课则分别覆盖 analysis 与 communication,三节课合起来构成完整闭环。
主题一:生命周期入门——Capturing、Processing、Maintenance 三大环节
Capturing:一个环节里藏着两件事
原文(14-Introduction/README.md)指出,capturing 是生命周期中第一个也是最关键的阶段,后续阶段全部依赖它。它实际上是"两个阶段合二为一":获取数据,以及定义需要解决的目的与问题。定义项目目标需要对问题有更深的上下文:先识别出"谁需要被解决这些问题"(业务利益相关方或项目资助方),由此确定受益对象及其原因;一个定义良好的目标应当是可度量、可量化的,以便界定"可接受的结果"。
数据科学家在 capturing 阶段应自问的问题(原文完整列表):
- 这个问题以前被人研究过吗?发现了什么?
- 目的和目标是否被所有相关人员理解?
- 存在哪些歧义?如何减少歧义?
- 约束条件是什么?
- 最终结果可能是什么样?
- 可用资源有多少(时间、人力、算力)?
接着是识别、收集并最终探索达成目标所需的数据。在这一步,数据科学家还必须评估数据的数量与质量——需要通过一定的数据探索来确认已获取的数据能够支撑期望的结果。围绕数据本身的问题清单:
- 我已经有哪些数据可用?
- 这些数据归谁所有?
- 有哪些隐私顾虑?
- 数据量是否足以解决这个问题?
- 数据质量是否满足该问题的要求?
- 如果通过这份数据发现了额外信息,是否应考虑变更或重新定义目标?
Processing:模式发现与建模的交汇点
Processing 阶段聚焦于在数据中发现模式以及建模。原文说明,该阶段的许多技术需要借助统计方法来揭示模式;面对大数据集,这通常是人力难以胜任、必须依赖计算机加速的任务。这也是数据科学与机器学习相交之处:机器学习是"构建模型来理解数据"的过程,而模型是对数据中变量间关系的表征,用于帮助预测结果。
课程原文将该阶段常用技术指向微软 ML-For-Beginners 课程中的三个方向(外部课程链接此处从略,仅保留课程原文的定义):
- Classification(分类):把数据组织进类别以便更高效地利用;
- Clustering(聚类):把数据归入相似的组;
- Regression(回归):确定变量间关系以预测或外推数值。
Maintenance:贯穿项目全程的存储、管理与安全
从生命周期图中可以看到,maintenance 位于 capturing 与 processing 之间,但原文强调它其实是一个贯穿项目始终的持续过程——在整个项目周期内管理、存储和保护数据。它包含三个子主题:
存储数据(Storing Data)。数据如何存、存在哪里,会影响存储成本和访问性能。这类决策通常不是数据科学家独自做出的,但存储方式反过来会约束其操作数据的方式。原文列出两类关键维度:
- 本地(on premise)vs 非本地(off premise)vs 公有/私有云:on premise 指在自己的设备(如自购服务器和硬盘)上托管数据;off premise 依赖不属于自己的设备(如数据中心);公有云是最常见的选择,使用者无需了解数据具体存在何处,"公有"意味着底层基础设施由所有使用者共享;部分组织有严格安全策略,要求对承载数据的设备拥有完全控制权,因而采用私有云。课程在第五部分(5-Data-Science-In-Cloud)继续展开云相关内容。
- 冷数据 vs 热数据:训练模型时需要大量训练数据,模型上线后还会有新数据持续流入,存储与访问成本随数据积累而上升。把很少访问的冷数据与频繁访问的热数据分开存放,是更经济的存储方案(通过硬件或软件服务实现);代价是冷数据的取回时间通常比热数据更长。
管理数据(Managing Data)。工作过程中会发现部分数据需要清洗才能支撑准确建模,课程把清洗技术指向第 8 课 data preparation;新数据到达后需要执行同样的处理以维持质量一致性。有些项目会在数据落到最终位置之前,用自动化工具完成清洗、聚合与压缩,原文以 Azure Data Factory 为例。
保护数据(Securing the Data)。数据安全的核心目标之一是确保使用者掌握"收集了什么数据、在什么场景下被使用"。保持数据安全包括:把访问权限限制在真正需要的人身上、遵守当地法律法规、维护伦理标准(原文链接到第 2 课 ethics)。团队可落地的安全实践清单(原文完整列表):
- 确认所有数据均已加密;
- 向客户提供其数据被如何使用的相关信息;
- 移除已离开项目人员的数据访问权限;
- 仅允许特定项目成员修改数据。
课程挑战:对比两种生命周期框架
第 14 课的 Challenge 要求读者对比两种业界通用的生命周期模型,并各列出 3 点异同:
- Team Data Science Process(TDSP),微软团队的团队数据科学流程;
- CRISP-DM,跨行业数据挖掘标准流程(Cross-Industry Standard Process for Data Mining)。
课程给出的自研要点是:TDSP 提供了角色与任务的参考文档(roles and tasks、执行数据科学任务等),可帮助理解"在项目的每个阶段,谁负责什么"。
主题二:Analyzing——用 Pandas 做探索性数据分析(EDA)
第 15 课(15-analyzing/README.md)回答一个关键问题:capturing 阶段已经拿到了数据,怎么确认这份数据真的能回答我们提出的问题?答案就是探索性数据分析(EDA)——一套用来刻画数据特征与内部关系、并为建模做准备的技术。本节内容可以结合仓库内的真实代码与数据完整复现。
EDA 的四件工具与对应 Pandas API
- 数据剖析 + 描述性统计(
describe()):数据剖析(data profiling)通过描述性统计汇总数据集的整体信息——"剖析帮我们理解有什么,描述性统计帮我们理解有多少"。Pandas 的DataFrame.describe()对数值列输出 count、max、min、mean、std 以及分位数。 - 抽样与查询(
sample()与query()):在大数据集上全量探索非常耗时。抽样让我们用概率与统计对总体做一般性推断——样本越大,推断越精确,但课程也说明并没有硬性规定必须抽多少。与抽样相对,查询让我们主动控制、聚焦于有疑问的数据切片,query()允许按条件选出行、获得关于数据的简明答案。 - 可视化探索:不必等到数据彻底清洗完才开始画图。探索过程中就有可视化,有助于识别模式、关系和数据问题,同时可视化是"与管理数据无关的人"沟通的载体,也是回到 capturing 阶段澄清新问题的机会(课程把可视化细节指回第 3 部分 3-Data-Visualization)。
- 查找不一致与缺失值(
isna()/isnull()):上述方法都能间接发现缺失或不一致的值,而 Pandas 提供了直接检查缺失值的函数。原文特别提醒一个容易忽略的点:要探索这些值"当初为什么会变成这样",这直接决定后续采取什么手段修复(课程指向第 8 课 data preparation 的清洗流程)。
结合仓库 notebook 实操:emails.csv 的describe()示例
本节随课提供 notebook.ipynb,其中演示了上述 Pandas 函数在真实数据上的用法。从 notebook 的单元格内容看,它加载仓库自带的数据集 data/emails.csv(该数据集来自 Kaggle 的邮件垃圾分类数据集,每行是一封匿名邮件中若干常见单词的计数):
import pandas as pd # Loading the dataset path = '../../data/emails.csv' email_df = pd.read_csv(path) # Using Describe on the email dataset print(email_df.describe())执行describe()后,notebook 中保存的输出显示了该数据集的规模与分布特征:共406 行(count 列均为 406.0),各单词计数列的均值、标准差、最小值、分位数和最大值一目了然,例如the列 mean≈7.02、std≈10.95、max=99;a列 mean≈57.02、std≈78.87、max=843——a列的巨大标准差与长尾正是 EDA 阶段"先理解有什么、有多少"的典型产出:这类高度偏斜的计数列若直接进模型,往往需要进一步处理。
课堂作业:用 EDA 回答真实业务问题
第 15 课的作业(assignment.md)承接第 14 课的 taxi 数据任务,提供 assignment.ipynb 与 200 条纽约黄色出租车行程记录(2019 年 1 月与 2019 年 7 月),要求用本课技术回答三个问题:
- 数据中还有哪些因素可能影响小费金额?
- 哪些列大概率与回答客户问题无关、可以排除?
- 就目前提供的数据看,是否存在季节性小费行为的证据?
仓库中的 data/taxi.csv 即该练习数据,实际文件为 201 行(含表头,正好 200 条行程),包含 18 个字段:VendorID, tpep_pickup_datetime, tpep_dropoff_datetime, passenger_count, trip_distance, RatecodeID, store_and_fwd_flag, PULocationID, DOLocationID, payment_type, fare_amount, extra, mta_tax, tip_amount, tolls_amount, improvement_surcharge, total_amount, congestion_surcharge。可以看到,tip_amount(小费)、tpep_pickup_datetime(上车时间,用于区分冬/夏)和trip_distance(可能影响小费的混杂因素)正是回答作业问题所需的关键列,这为"哪些列不需要"的判断提供了直接依据。
主题三:Communication——把数据讲成故事
第 16 课(16-communication/README.md)是全课程篇幅最长的方法论课程,核心命题一句话:沟通数据的目的是传递"由数据支撑的故事",而不仅仅是传递数字——受众更容易记住故事,而不是数字。
沟通的类型与沟通者的责任
课程先给出基础定义:沟通就是传递或交换信息;发送方(communicator)希望接收方(audience)理解。据此区分两种类型:
- 单向沟通(One-Way):发送方把信息送达接收方,不寻求反馈——群发/批量邮件、新闻播报、电视广告都是典型;在数据场景中,如大会演讲、对大群体汇报且之后不会立即提问;
- 双向沟通(Two-Way):所有参与者既是发送方也是接收方,接收方给出反馈——日常对话、电话、即时消息;在数据场景中,如用数据说服少数干系人拍板、或说服团队投入时间构建新东西。
作为沟通者,你的责任是确保接收方带走了你想要他们带走的信息(一个由数据支撑的故事),而不仅是数字。课程给出五种策略逐一展开。
策略一:理解你的受众、渠道与沟通方式
课程引用《哈佛商业评论》文章《How to Tell a Story with Data》中 Dell 高管战略师 Jim Stikeleather 的受众五分类:
- Novice(新手):首次接触该主题,但不希望被过度简化;
- Generalist(通才):了解主题,想要概览性理解与主要脉络;
- Managerial(管理者):需要深入、可操作的细节理解,能访问细节;
- Expert(专家):需要更多探索与发现,少讲故事、多细节;
- Executive(高管):只有时间听取加权概率的要点与结论。
受众分类必须与"渠道"(备忘录/邮件还是会议/大会演讲)和"单向还是双向"组合决策。课程给出两个对照场景:面对以 Novice 为主的受众 + 单向沟通时,必须先教育、铺垫上下文,再讲数据"是什么、意味着什么、为什么重要",并且因为没有即时提问机会,必须聚焦"清晰度";面对以 Managerial 为主的受众 + 双向沟通时,通常无需教育,可以直接进入数据,但重点是节奏与控场——当问题把讨论带偏时,要主动把对话拉回你的故事主线。
策略二:以终为始(Begin With the End in Mind)
在开口之前,先写下你希望受众带走的 key takeaways;随后准备故事素材的每一步都自问"这一步如何融入我要讲的故事?"。课程特别警告Cherry-Picking(摘樱桃):只讲支持自己论点的、而忽略其他数据是失格的。如果确实存在不支持甚至反驳你结论的数据,也要讲出来,并向受众坦承"为什么在数据不完全支持的情况下我仍坚持这个故事"。
策略三:按真实故事的五幕结构组织
传统故事五幕——Exposition、Rising Action、Climax、Falling Action、Denouement,更易记的表述是Context, Conflict, Climax, Closure, Conclusion。映射到数据沟通:
- Context(背景):铺垫,确保所有人与你在同一认知起点;
- Conflict(冲突):为什么需要收集这份数据?要解决什么问题?
- Climax(高潮):数据是什么?意味着什么?指向什么解决方案?
- Closure(收束):重述问题与提出的方案;
- Conclusion(结论):总结关键结论与建议的下一步。
策略四:用有意义的词句,拒绝模糊表达
课程用一个直观反例说明问题:对同事说"用户上手的 long time 很长",对方会猜是 1 小时还是 1 周;换成"用户平均 3 分钟完成注册与上手",歧义即消除。模糊用法的三个典型:
- "我们度过了impressive(了不起)的一年!"——有人理解为营收涨 2%–3%,有人理解为涨 50%–60%;
- "用户成功率dramatically(显著提升)"——多算"显著"?
- "这项工程需要significant(大量)投入"——多少算"大量"?
课程说明模糊词并非完全不可用(可以作为引子或收尾的概括),但要保证受众能跟上、能理解你的关键结论。
策略五:善用情绪
情绪是故事讲述的关键,在数据故事里更重要:唤起情绪能促进共情、促使行动、提升记忆度。落地的三种手法:
- 证言与个人故事(Testimonials & Personal Stories):采集数据时定量与定性并重;若数据偏定量,去搜集个体经历来补充数据背后的故事;
- 图像(Imagery):图像让受众把自己代入情境,把你希望他们产生的情绪推向前台;
- 色彩(Color):不同颜色唤起不同情绪——蓝色通常关联平和与信任、绿色关联自然与环境、红色关联热情与兴奋、黄色关联乐观与快乐;同时注意色彩在不同文化中的含义可能不同。
案例研究:Emerson 的 30 分钟会议
课程用完整的案例演示上述框架(配套演示稿见 contenteditable="false">【免费下载链接】Data-Science-For-Beginners10 Weeks, 20 Lessons, Data Science for All!项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考