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 课程第一课《Defining Data Science》的作业《Data Science Scenarios》展开,手把手演示如何用"收集什么数据、怎么收集、怎么存储、能得出什么洞察与决策"四个问题,为教育、疫苗接种、工作生产力三类真实场景设计数据科学解决方案。读完本文,你将掌握一套可复用的"数据场景四问"分析方法,能独立完成作业表格的填写与评分对照,并理解其背后的数据科学流程(数据获取 → 存储 → 处理 → 可视化 → 模型训练)。
作业背景:第一课为什么从"设计场景"开始
作业文档位于课程英文目录 translations/en/1-Introduction/01-defining-data-science/solution/assignment.md,对应的原始英文课程版本为 1-Introduction/01-defining-data-science/solution/assignment.md,正式作业题则在 1-Introduction/01-defining-data-science/assignment.md 中给出。
这份作业是课程 20 课中的第一个任务,目的并不是让你立刻写代码,而是逼你在接触任何工具之前,先以"数据科学家的思维方式"观察现实世界:任何一个业务流程或问题,都可以通过数据来量化、理解与改进。这正是第一课 Defining Data Science 课程文档 所强调的核心观点——数据科学的本质是从数据中提取知识,并产出可操作的洞察(actionable insights)。
课程文档把数据的旅程拆解为五个步骤,作业中的"四问"正好与之对应:
| 作业问题 | 对应的数据旅程步骤 |
|---|---|
| 1. 可以收集哪些数据? | 数据获取(Data Acquisition) |
| 2. 如何收集这些数据? | 数据获取的采集手段 |
| 3. 如何存储数据?数据量大概有多大? | 数据存储(Data Storage) |
| 4. 能从数据中得出什么洞察?能做出什么决策? | 数据处理、可视化与洞察、模型训练 |
也就是说,完成这份作业,就等于为每个场景走了一遍完整的数据科学流程骨架。
作业要求:四个问题 × 三个场景
作业的核心指令非常明确:对每个场景,依次思考以下四点:
- 可以收集哪些数据(Which data can you collect)——这个流程里有哪些可数字化的信号?
- 如何收集(How would you collect it)——通过传感器、摄像头、问卷、系统日志还是数据库?
- 如何存储(How would you store the data)——数据大概是结构化、半结构化还是非结构化?量级是 MB、GB 还是 TB?
- 能得出什么洞察、能做出什么决策(Which insights/decisions)——分析之后能验证什么假设、优化什么流程?
作业要求至少思考三个不同的场景/流程,并为每个场景逐一回答上述四点。原文档给出了三个引导性的问题域:
- 如何用数据改进学校里儿童的教育过程?
- 如何用数据管理疫情期间的疫苗接种?
- 如何用数据确保自己在工作中保持高效?
如果这三个领域都不合你的兴趣,文档明确允许替换成自己的问题域("substitute suggested problem domains for your own ones if needed")。
参考示例:教育场景的完整解题思路
为了让你直观理解"每一格该填什么",作业附上了一个教育领域的参考答案,这是衡量你自己答案质量的重要基准,我们逐格拆解:
| 维度 | 参考答案要点 |
|---|---|
| 问题陈述 | 大学课堂出勤率普遍偏低,我们假设"出勤越频繁的学生,考试成绩越好",希望通过干预提升出勤率并验证该假设 |
| 收集什么数据 | 出勤数据可通过教室内安防摄像头拍摄的照片获取,或通过追踪学生手机在课堂上的蓝牙/Wi-Fi 地址获取;考试成绩数据已存在于大学数据库中 |
| 如何存储 | 若采用摄像头方案,需要存储课堂上拍摄的少量(约 5–10 张)照片,属于非结构化数据;随后用 AI 识别人脸,把数据转化为结构化形式 |
| 洞察与决策 | 计算每个学生的平均出勤率,检验其与考试成绩之间的相关性(相关性概念会在 概率与统计课程 中深入讲解);为激励出勤,可在学校门户发布每周出勤排名,并对出勤率最高的学生进行抽奖奖励 |
这个示例至少展示了三个值得学习的设计要点:
- 假设驱动:场景先提出一个可验证的假设(出勤率与成绩正相关),数据收集服务于验证假设;
- 多数据源备选:出勤数据既有摄像头图像方案,也有手机蓝牙/Wi-Fi 追踪方案,两种方案的数据形态(非结构化图像 vs. 结构化信号)完全不同,存储方案也随之变化;
- 洞察到决策的闭环:计算相关性是"洞察",发布周排名、抽奖激励是"决策",二者必须连贯。
示例中的存储与 AI 转换,对应课程中的哪些概念?
- 摄像头照片属于非结构化数据,课程文档明确给出示例:"来自监控摄像头的原始视频流"就是典型的非结构化数据;
- "用 AI 识别人脸、将图像转为结构化形式"对应课程数据旅程的**数据处理(Data Processing)**步骤——课程原文指出,处理文本、图像等非结构化数据时,"可能需要使用一些 AI 技术从中提取特征,从而将其转换为结构化形式";
- 存储方案的设计对应课程对三种存储形态的介绍:关系型数据库(表格 + SQL 查询)、NoSQL 数据库(不强制 schema,可存 JSON 文档与图结构)、数据湖 Data Lake(海量原始非结构化数据的分布式存储,常搭配 Parquet 格式)。出勤记录最终以表格形态进入关系型数据库最自然,而原始照片批次则适合放入数据湖或对象存储。
如何填写剩余两个场景:疫苗接种与工作生产力
作业表格中,Vaccination(疫苗接种)与 Productivity(工作生产力)两行留白,需要你自己思考。下面给出两个完整的填写范例,你可以在此基础上替换为自己的具体问题域——注意,范例不是唯一答案,重点是展示"四问"的推理链条。
场景二:疫情期间的疫苗接种管理
| 维度 | 参考答案要点 |
|---|---|
| 问题陈述 | 在疫情期间需要大规模、分优先级地为人群接种疫苗,我们希望合理分配疫苗资源、跟踪接种覆盖率并及时发现疫情反弹风险 |
| 收集什么数据 | 人口统计信息(年龄段、职业暴露风险、基础疾病)、疫苗库存与批号、每日接种人次、各区域每日新增病例、住院与重症数据;接种记录通常以结构化表格形式进入公共卫生信息系统 |
| 如何存储 | 核心接种台账适合存放在关系型数据库(严格的结构化记录,便于 SQL 聚合查询);每日上报的病例数据可参照本仓库 data/COVID 目录 中的时间序列 CSV 结构(Country/Region、经纬度 + 逐日日期列的宽表),这类数据也可以存入数据湖以便做长时间跨度分析;各区域上报接口若为 JSON 则属于半结构化数据,可放入 NoSQL 文档数据库 |
| 洞察与决策 | 计算各区域/年龄段的接种覆盖率与病例增长率的相关性,识别覆盖率偏低的高风险区域;根据库存与接种速率预测补货时机;据此动态调整疫苗分配优先级、决定是否重启或放松管控措施 |
关于"洞察"的验证方法:课程在后续的 统计与概率课程 中介绍了均值、方差、中位数、四分位数与箱线图等工具,这些正是用来"检验假设、证明数据间相关性"的统计手段。你在本作业中描述的任何"相关性洞察",最终都可以用这些工具落地验证。
场景三:工作生产力追踪
| 维度 | 参考答案要点 |
|---|---|
| 问题陈述 | 我们想知道时间都花在了哪里、哪些工作时段效率最高,从而优化个人或团队的日程安排 |
| 收集什么数据 | 应用使用日志(各软件/网站的使用时长与频率)、任务管理系统中的任务量、完成时长与截止日期、会议日历、键盘/鼠标活跃度等行为信号 |
| 如何存储 | 行为日志是典型的半结构化数据(如 JSON 格式的事件流),适合先接入日志存储或 NoSQL 文档库,再经清洗转换为关系型数据库中的明细表;若涉及整周或整月的海量原始事件,可归档到数据湖按需分析 |
| 洞察与决策 | 统计一天中不同时段的生产力分布、找出高干扰时间窗口,对比不同日程安排下的任务完成率;据此调整会议时间、为深度工作预留固定时段,并为团队优化协作节奏 |
数据来源与量级判断的依据
填写"存储"一栏时,课程文档提供了判断数据形态的参考表:
| 结构化 | 半结构化 | 非结构化 |
|---|---|---|
| 带电话号码的人员名单 | 带链接的维基百科页面 | 大英百科全书全文 |
| 过去 20 年每栋建筑每间房的温度 | JSON 格式的论文集合(含作者、发表时间、摘要) | 企业文档共享目录 |
| 进入大楼所有人的年龄与性别数据 | 互联网网页 | 监控摄像头原始视频流 |
同时,课程还梳理了典型的数据来源,供你在"如何收集"一栏展开思路:结构化来源包括物联网传感器(IoT)、用户问卷/调查、行为分析;非结构化来源包括文本(可提取情感倾向、关键词与语义)、图像/视频、Web 服务器日志;半结构化来源包括社交网络图谱、聚会照片构成的群体动态图谱等。你可以把这三个场景的收集手段逐一归入这些类别,让答案更有依据。
评分标准(Rubric):如何自查你的答案
作业末尾给出了三档评分标准,这是提交前最重要的自查清单:
| 档位 | 达标要求 |
|---|---|
| Exemplary(优秀) | 为所有问题域识别出合理的数据来源、存储方式以及可能的决策/洞察 |
| Adequate(合格) | 部分方案细节不足、未讨论数据存储,或只描述了至少2 个问题域 |
| Needs Improvement(需改进) | 只描述了数据解决方案的一部分,且只考虑了1 个问题域 |
自查要点归纳如下:
- 领域数量:必须覆盖至少 3 个场景才具备冲击"优秀"的资格,只写 1 个场景直接落入"需改进"档;
- 存储不可省略:最容易丢分的点是漏掉"如何存储数据/数据量多大"这一列,它是合格档与优秀档的分水岭;
- 决策/洞察要具体:"发现问题"不算完成,还必须说出基于数据能做什么(如调整策略、发布榜单、优化排班)。
从答案到代码:仓库中的真实数据科学实践
完成作业表格后,如果你想立刻体验"数据获取 → 处理 → 洞察 → 可视化"的真实链路,第一课还附带了一个动手挑战,代码在 notebook.ipynb 中(课程原文说明可用 Jupyter Notebook 运行并实时观察数据转换过程)。其完整流程为:
- 获取数据:用
requests下载维基百科"Data Science"词条 HTML; - 处理数据:安装
beautifulsoup4并用BeautifulSoup解析 HTML,抽取mw-parser-output主内容区,清洗为纯文本; - 提取洞察:安装
nlp_rake库,用Rake(max_words=2, min_freq=3, min_chars=5)提取关键词及其重要度得分; - 可视化结果:先用
matplotlib绘制关键词条形图,再用wordcloud库生成词云,最终输出到images/ds_wordcloud.png。
其中 RAKE 关键词提取器就是典型的"从非结构化文本到结构化洞察"的数据处理环节——它把自然语言文本变成"关键词 + 重要度"的结构化列表,正如作业示例中"用 AI 识别人脸把图像转为结构化数据"一样,都是把非结构化数据加工成可分析形态。生成的词云成品如下:
作业联动:课程文档末尾列出两项任务,其中 Task 2 正是本篇讲解的《Think About Data Science Scenarios》场景设计作业(见 assignment.md);而 Task 1 是修改 notebook 代码,为Big Data和Machine Learning两个领域生成对应的概念词云。如果你完成了 Task 1,也可以把这两门学科纳入你的场景思考素材。
结语
《Data Science Scenarios》这份作业的价值不在于"填表",而在于建立一套可迁移的思维框架:任何业务流程,都可以用"数据四问"来解剖——收集什么、怎么收、怎么存、能决策什么。当你把教育、疫苗接种、生产力三个领域(或你自己定义的三类问题)完整走完一遍后,你就已经以"数据科学家"的视角重新审视了现实世界,这正是课程 Defining Data Science 希望你在第一周建立的核心能力。后续课程将从关系型数据库(2-Working-With-Data 章节)与可视化(3-Data-Visualization 章节)等方向,逐步把这个框架落到具体的工具与代码上。
免责声明:本翻译文档由 AI 翻译服务 Co-op Translator 提供,可能包含错误或不准确之处,原始英文文档(1-Introduction/01-defining-data-science/solution/assignment.md)应视为权威来源,关键信息请以专业人工翻译为准。
【免费下载链接】Data-Science-For-Beginners10 Weeks, 20 Lessons, Data Science for All!项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考