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)"展开,指导你完成一次完整的数据科学思维演练:面对教育、疫苗接种、工作效率三个真实问题域,依次回答"收集什么数据、如何收集、如何存储、能得出什么洞察与决策"四个问题,并用课程提供的表格模板沉淀成果。读完本文,你将掌握用数据旅程五步法拆解现实问题、区分结构化/非结构化数据、设计存储方案并推导可执行决策的完整方法,同时看到课程仓库中官方示例答案与配套 Jupyter Notebook 的真实写法。
作业背景:先用数据科学的定义校准思路
本作业对应的课程内容位于 1-Introduction/01-defining-data-science/README.md。该课对Data Science的定义是:"使用科学方法从结构化与非结构化数据中提取知识与洞察,并将这些知识应用于广泛的应用领域"。这个定义在作业中有四个直接落脚点:
- 提取知识:作业要求"从数据中获得洞察",本质就是从数据中找到隐藏关系并形成理解;
- 科学方法:作业涉及的数据收集、存储设计,需要遵循概率与统计等学科的方法论;
- 可执行的洞察(Actionable Insights):作业表格的最后一列"我们能做出哪些决策",强调洞察必须能落地到真实业务或管理情境;
- 应用领域(Application Domain):作业特意给出教育、疫苗接种、生产力三个不同的应用领域,提醒你数据科学家需要对问题域有一定理解,而不是只懂算法。
课程还将数据科学视为继经验科学(Empirical)、理论科学(Theoretical)、计算科学(Computational)之后的第四种科学范式——数据驱动(Data-Driven),即"基于数据中发现的模式与关系得出结论"。本作业正是对数据驱动范式的一次入门训练:不靠直觉,而是先定义数据、再基于数据做决策。
作业目标:四问推演一个数据科学场景
原作业要求对每个问题域依次思考四个问题,这是整个数据科学流程的浓缩:
- 可以收集哪些数据?(Which data can you collect?)
- 如何收集这些数据?(How would you collect it?)
- 如何存储数据?数据规模大约多大?(How would you store the data? How large the data is likely to be?)
- 能从中获得哪些洞察?可以基于数据做出哪些决策?(Which insights you might be able to get from this data? Which decisions we would be able to take based on the data?)
作业要求你为3 个不同的领域/流程完整回答上述四问。课程提供了三个启动思路:
- 如何用数据改进学校里儿童的教育流程?
- 如何用数据在大流行期间控制疫苗接种?
- 如何用数据确保自己在工作中保持高效?
四问背后的理论支撑:数据旅程五步法
作业的四个问题,正是课程 README 中"数据旅程(Data Journey)"五步的高度浓缩。对应关系如下:
| 作业四问 | 数据旅程步骤 | 课程要点 |
|---|---|---|
| 收集什么数据 | ① 数据获取(Data Acquisition) | 数据可能来自 IoT 传感器、问卷调查、行为分析等;注意数据量可能过大(如 IoT),需要缓冲端点先汇聚 |
| 如何存储 | ② 数据存储(Data Storage) | 关系型数据库(SQL、schema)、NoSQL(无强 schema、支持 JSON/图)、数据湖(Data Lake,原始非结构化大数据,常配 Parquet 格式) |
| 能获得什么洞察 | ④ 可视化/人类洞察 | 通过可视化与统计手段检验假设、证明相关性 |
| 能做出什么决策 | ⑤ 训练预测模型 | 用机器学习构建预测模型,对新数据做出预测 |
课程特别强调:实际项目中某些步骤可能缺失(如数据已在库中、无需建模),某些步骤可能反复出现(如数据处理)。做作业时不必拘泥于五步全走完,但"数据获取 → 存储 → 洞察"这条主链是必须打通的。
这里要特别重视"如何存储"这一问,它对应课程中数据类型的划分——结构化数据(表格、SQL)、半结构化数据(JSON、网页)、非结构化数据(文本、图像、视频原文件)。存储方案的选择本质上取决于数据类型和未来查询方式:
- 关系型数据库适合查询规则明确的结构化数据,但往往需要把原始数据转换成符合 schema 的形式;
- NoSQL 数据库(如 CosmosDB)不强制 schema,能存层级化 JSON 或图数据,但查询能力不如 SQL,也无法强制引用完整性;
- 数据湖面向无法单机容纳的大数据,以原始非结构化形态存储在服务器集群上。
你在作业表格中填写的存储方式,应与"要收集的数据类型 + 数据量级 + 未来如何查询"三要素自洽。
三个问题域的示例推演
教育场景:官方示例答案的完整拆解
课程仓库在 1-Introduction/01-defining-data-science/solution/assignment.md 中给出了教育域的一份完整示例,它展示了"什么叫合格的作业答案":
问题定义:在大学里,讲座出勤率偏低。存在一个假设——平均而言,经常出席讲座的学生在考试中表现更好。我们希望刺激出勤率并检验这一假设。
| 作业四问 | 示例答案要点 |
|---|---|
| 收集什么数据 | 出勤数据 + 考试成绩。出勤可通过教室安防摄像头拍摄照片获得,或追踪学生手机在教室内的蓝牙/Wi-Fi 地址;考试成绩数据已存在于大学数据库中 |
| 如何收集 | 摄像头拍摄上课期间几张照片(5~10 张);手机信号追踪;成绩直接从校内数据库导出 |
| 如何存储 | 摄像头照片属非结构化数据,存储少量照片,再用 AI 识别学生面部,将非结构化数据转换为结构化形式 |
| 洞察与决策 | 计算每位学生的平均出勤率,检验其与考试成绩是否相关(相关性分析将在 04-stats-and-probability 部分深入讲解);为激励出勤,可在学校门户发布每周出勤排名,并向出勤率最高的学生发放奖品 |
这个示例展示了两个关键技巧:其一,同一份数据(照片)经历了"非结构化 → 结构化"的转换,这正是数据旅程中"数据处理(Data Processing)"步骤的实战体现;其二,洞察(相关性)与决策(出勤激励)分开陈述,避免把二者混为一谈。
疫苗接种场景:大流行期间的数据控制
参考课程关于数据来源的分类(IoT 传感器、调查问卷、日志等)与存储方式的讨论,可以这样推演疫苗接种场景:
- 收集什么数据:各接种点每日接种剂数、疫苗库存、预约人数、各年龄段/地区人群接种覆盖率、不良反应报告数、新增病例数(时间序列)。
- 如何收集:接种点信息系统实时上报;病例数据来自疾控中心上报通道;可辅以移动端预约系统行为日志。
- 如何存储:核心是带时间维度的关系型数据,适合用 SQL 数据库按地区、日期建立索引查询;图像/文本类不良反应报告可作为非结构化数据存放。数据规模上,若面向全国每日上百万条记录,可能需要引入数据湖或分布式存储(对应课程中"大数据需要集群存储"的论述)。
- 洞察与决策:识别接种覆盖率与新增病例数的时序关系,判断哪些地区覆盖不足、疫苗供应是否需要向高风险区域倾斜,据此动态调整预约放号与宣传资源。
仓库中 data/COVID 目录下的time_series_covid19_confirmed_global.csv、time_series_covid19_deaths_global.csv等真实时间序列数据,正是此类场景的可用素材——你可以直接体验"病例时序数据如何支撑疫情决策"。
生产力场景:用数据确认工作效率
沿用四问框架:
- 收集什么数据:工作时长、任务完成数、会议时长、应用使用时长、产出物数量/质量评分。
- 如何收集:工时与任务数据来自项目管理工具 API;应用使用时长来自系统日志;产出质量可由团队互评或自动化检查获取。
- 如何存储:结构化为主(任务表、时间记录表),适合关系型数据库;日志类数据量大、结构不固定,适合日志存储或数据湖。
- 洞察与决策:找出"高效时段"与任务类型的关联,优化日程安排;识别低效环节(如过长会议)并推动流程改进。
作业表格模板与填写指引
原作业要求填写下方表格(必要时可用自己的问题域替换建议领域),请按"问题 → 数据 → 存储 → 洞察/决策"的列序逐一填写,每一列都应回答上一节四问中的对应问题:
| 问题域 | 问题 | 需要收集哪些数据 | 如何存储数据 | 我们能获得哪些洞察/做出哪些决策 |
|---|---|---|---|---|
| 教育 | ||||
| 疫苗接种 | ||||
| 生产力 |
填写要点(结合官方示例归纳):
- "问题"列写清要解决的业务/流程痛点与待验证假设;
- "数据"列区分结构化、半结构化、非结构化,并注明数据规模量级(如"每天 5~10 张照片""百万级记录");
- "存储"列说明技术选型(关系型/NoSQL/数据湖)及选择理由;
- "洞察/决策"列先写能发现的关系或结论,再写由此驱动的具体行动,二者分行或分句呈现。
评价标准(Rubric)
作业提交后按下表评估,理解评分标准有助于你把握答案的完整度:
| 优秀(Exemplary) | 合格(Adequate) | 需改进(Needs Improvement) |
|---|---|---|
| 为所有问题域都识别了合理的数据来源、存储方式与可能的决策/洞察 | 解决方案的某些方面不够详细,未讨论数据存储,至少描述了 2 个问题域 | 只描述了数据方案的片段,只考虑 1 个问题域 |
对照可见:"数据存储"这一问是拉开档次的差异点——合格的答案也常常在此缺失;而优秀答案必须覆盖全部三个问题域且四个维度齐备。撰写时请务必给每个问题域都写出可落地的存储方案。
配套仓库资源:深化练习与动手验证
完成本作业后,可结合以下仓库资源进一步验证与拓展:
- 官方示例答案:1-Introduction/01-defining-data-science/solution/assignment.md 提供教育域完整范例,可作为自评参照。
- 文本挖掘挑战 Notebook:1-Introduction/01-defining-data-science/notebook.ipynb 完整演示了"获取数据(requests 下载 Wikipedia 页面)→ 处理数据(BeautifulSoup 提取正文、清洗导航与目录等噪声)→ 提取洞察(RAKE 关键词抽取)→ 可视化(matplotlib 柱状图与 WordCloud 词云)"的端到端流程,是对作业四问中"收集—存储—洞察"链条最直观的代码印证;课程还布置了扩展任务——把该流程应用到Big Data与Machine Learning两个领域。
- 数据工作全流程课程:2-Working-With-Data/README.md 与 3-Data-Visualization/README.md 分别深入讲解数据库与可视化,为作业中"存储"与"洞察"两列提供系统化的后续学习路径;相关性分析方法将在 04-stats-and-probability 一节详述。
结语
"数据科学场景"作业的价值不在于代码,而在于让你在动手之前先养成"数据驱动"的问题拆解习惯:无论领域是教育、公共卫生还是个人效率,都要依次回答数据、获取、存储、洞察与决策五个问题。官方示例证明,一份优秀的答案并不需要高深算法,只需逻辑自洽、四个维度完整、并明确区分"数据能告诉我们什么"与"我们据此做什么"。以此为模板,你也可以把同样的框架迁移到任何真实业务场景中。
【免费下载链接】Data-Science-For-Beginners10 Weeks, 20 Lessons, Data Science for All!项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考