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 课程第 1 部分第 3 课「定义数据(Defining Data)」的配套作业《数据集的分类(Klassificering af datasæt)》展开,系统讲解数据分类的三大维度——结构类型(结构化 / 半结构化 / 非结构化)、价值类型(定性 / 定量)与来源类型(主要 / 次要),并逐题演示 5 个真实场景的分类推理过程。读完本文,你将掌握一套可直接套用的数据分类判断框架,能够独立完成课程作业、为任意新数据集做出合理的分类结论。
一、作业背景:为什么数据科学家要先给数据分类
数据是事实、信息、观察与测量的集合,被用来做出发现并支持有依据的决策。一个数据点(data point)是数据集内的单个数据单元,而数据集正是数据点的集合。数据集可能以不同的格式与结构出现,且通常取决于它的来源——例如,一家公司的月度收益可能存放在电子表格中,而智能手表采集的小时级心率数据则可能是 JSON 格式(参见课程文档 1-Introduction/03-defining-data/README.md)。
在实际项目中,同一个数据集内混有多种类型的数据是常态,因此在动手分析之前,先识别并分类数据,是数据科学工作流的第一步。本作业要求对给出的 5 个场景,分别用以下三类标签进行识别:
| 分类维度 | 可选标签 |
|---|---|
| 结构类型(Strukturtype) | 结构化(Structured)、半结构化(Semi-Structured)、非结构化(Unstructured) |
| 价值类型(Værditype) | 定性(Qualitative)或定量(Quantitative) |
| 来源类型(Kildetype) | 主要(Primary)或次要(Secondary) |
二、分类框架核心概念
要正确完成作业,需要先理解课程正文 1-Introduction/03-defining-data/README.md 中定义的分类体系。
2.1 结构类型:数据如何组织
原始数据(Raw Data)是指从源头产生、未经分析或整理的初始状态数据。为了让数据集变得可理解,需要将其组织成人类与技术都能读懂的格式,数据的组织方式便构成了它的结构类型。
结构化数据:按行与列组织,每一行拥有相同的列集合。列代表某种特定类型的值并用名称标识,行则存放实际数值,列通常还带有一系列取值规则或约束。例如一个客户电子表格,每行必须有电话号码,且电话号码中绝不出现字母。其优点是便于与其他结构化数据建立关联;缺点是结构一经设计,整体改动成本高——比如为不能为空的客户表新增 email 列,就必须为存量每一行补值。
非结构化数据:通常无法归入行列结构,没有固定格式或规则。因为约束少,新增信息更容易,但分析调查往往更耗时。课程给出的例子是:传感器每 2 分钟记录一次气压数据,当它升级为同时记录温度时无需改动已有数据;但若想求上个月平均温度,却发现传感器在故障时段记录的是字母 "e" 而非数字,数据就不完整了。
半结构化数据:兼具结构化与非结构化特征——通常不遵循行列格式,但组织方式有一定规则或固定格式。其结构随来源而变,可能是层级清晰的,也可能较灵活便于整合新信息。元数据(如标签、元素、实体、属性)帮助决定数据如何组织与存储。
下表汇总了三类结构的典型示例(来自课程文档):
| 结构类型 | 典型示例 |
|---|---|
| 结构化 | 电子表格、关系型数据库、电话号码、银行对账单 |
| 非结构化 | 文本文件、短信、视频文件 |
| 半结构化 | HTML、CSV 文件、JSON |
2.2 价值类型:数据能否数学化
定量数据(Quantitative Data)是数据集中的数值型观察,可被分析、测量并用于数学运算。典型例子包括国家人口、人的身高、公司季度收益。进一步分析可用来发现空气质量指数(AQI)的季节性趋势,或估计工作日高峰时段交通拥堵的概率。
定性数据(Qualitative Data)又称分类数据(categorical data),无法像定量数据那样被客观测量,通常是捕捉产品、流程等"质量"的主观数据。值得注意的是,定性数据有时也以数值形式存在,但不会用于数学运算——课程明确指出"像电话号码或时间戳"就属于此类。典型例子有视频评论、汽车的品牌型号、好友最喜欢的颜色。
2.3 来源类型:数据从何而来
数据源是数据最初生成或"栖居"的位置。由用户(数据使用者)直接生成的数据称为主要数据(Primary Data);来自为通用目的而采集数据的来源则称为次要数据(Secondary Data)。课程举例:一群科学家在雨林中采集观察记录属于主要数据;若他们决定分享给其他科学家,对使用这些数据的人来说便成为次要数据。
常见的数据源包括:数据库(借助数据库管理系统托管数据,用户用查询命令探索)、文件(音频、图像、视频以及 Excel 等电子表格)、互联网(数据库与文件常见的托管场所),以及 API(允许程序员向外部用户共享数据的接口)和网页抓取。后续章节 2-Working-With-Data 将进一步讲解如何使用这些数据源。
三、结合仓库样本数据的判读演练
在动手解答作业前,可以先在仓库中找到各类数据的真实样本,帮助建立直觉:
- 结构化数据样本:关系型数据库 2-Working-With-Data/05-relational-databases/airports.db 及配套课程 05-relational-databases 中的表结构,行与列完全对齐、主键唯一标识每一行。
- 半结构化数据样本:JSON 文件 2-Working-With-Data/06-non-relational/PersonsData.json 中的每条记录包含
firstname与age字段,字段名充当元数据;CSV 文件 data/birds.csv 首行为表头(Name,ScientificName,Category,...),每行字段以逗号分隔——这正是课程列为半结构化类型的原因。 - 定量与定性列的对比:在 data/birds.csv 中,
MinLength、MaxLength、MinBodyMass等列为数值型、可做均值/范围等数学计算(定量);而Name、Category、ConservationStatus等是名称与类别标签(定性)。这也印证了"同一数据集中往往混有多种数据类型"的课程论断。可配合 examples/02_loading_data.py 用 pandas 的read_csv、describe()等操作直观查看数值列统计量。
四、作业题目与分类推理(完整解答)
以下完整呈现作业 translations/da/1-Introduction/03-defining-data/assignment.md 中的 5 个场景,并逐题给出基于课程定义的三维分类及推理依据。说明:以下参考答案是基于课程正文定义的合理解读,用于校验自答结果,建议先独立作答再对照。
题目 1:母公司移交的客户电话号码电子表格
一家公司被收购后有了母公司。数据科学家从母公司收到了一份包含客户电话号码的电子表格。
- 结构类型:结构化—— 电子表格以行与列组织,每行客户具有相同的列集合,是课程列举的结构化数据典型示例。
- 价值类型:定性—— 电话号码虽由数字组成,但课程明确指出电话号码"不会用于数学运算",属于以数值形式存在的分类数据。
- 来源类型:次要—— 数据并非数据科学家所在团队直接采集,而是由母公司为自身经营目的收集后移交,属于为通用目的而采集的二手来源。
题目 2:智能手表采集的 JSON 格式心率原始数据
智能手表一直在采集佩戴者的心率数据,原始数据为 JSON 格式。
- 结构类型:半结构化—— JSON 是课程明确列举的半结构化数据示例:不遵循行列表格,但由字段名(元数据)与值按固定规则组织。
- 价值类型:定量—— 心率是可直接测量并进行数学统计(均值、极值、趋势)的数值观察。
- 来源类型:主要—— 数据由设备从佩戴者本人身上直接采集产生,属于"由用户生成"的主要数据。
题目 3:存储在 CSV 文件中的员工士气调查
一份以 CSV 文件存储的工作场所员工士气调查。
- 结构类型:半结构化—— 课程明确将 CSV 文件列为半结构化数据示例:虽有表头与分隔符形成的隐式结构,但不具备关系型数据库那样严格的列类型约束。
- 价值类型:定性—— "士气"是对员工主观感受的度量,属于无法客观测量的分类/主观数据。
- 来源类型:主要—— 调查由组织直接面向员工采集,属于第一手的主要数据。
题目 4:太空探测器收集的星系数据库
天体物理学家正在访问一个由太空探测器收集的星系数据库,数据包含每个星系中的行星数量。
- 结构类型:结构化—— 数据库(尤其关系型数据库)按表、行、列组织,是结构化数据的典型来源。
- 价值类型:定量—— "每个星系中的行星数量"是明确的计数,可进行求和、平均等数学运算。
- 来源类型:次要—— 数据由太空探测器(而非天体物理学家团队自身)采集,科学家作为使用者获取二手数据。
题目 5:通过 API 聚合的财务交易数据
个人理财应用使用 API 连接用户的金融账户以计算净资产。用户可以按类似电子表格的行与列格式查看所有交易。
- 结构类型:结构化—— 题目明确指出数据呈"行与列格式、类似电子表格",符合结构化定义。
- 价值类型:定量—— 交易金额是可以直接参与数学计算的数值型数据。
- 来源类型:次要—— 交易数据来自用户各金融账户(银行等外部机构为通用目的维护的数据),应用通过 API 接入这些外部来源,对应用及其用户而言属于二手数据。
答案速查表
| 题号 | 结构类型 | 价值类型 | 来源类型 |
|---|---|---|---|
| 1. 客户电话号电子表格 | 结构化 | 定性 | 次要 |
| 2. 心率 JSON 原始数据 | 半结构化 | 定量 | 主要 |
| 3. 员工士气 CSV 调查 | 半结构化 | 定性 | 主要 |
| 4. 星系数据库 | 结构化 | 定量 | 次要 |
| 5. 财务交易(API) | 结构化 | 定量 | 次要 |
五、评分标准(Rubric)
作业按以下标准评估(摘自 assignment.md):
| 优秀(Exemplary) | 合格(Adequate) | 需改进(Needs Improvement) |
|---|---|---|
| 正确识别出所有题目的结构、价值与来源类型 | 正确识别出 3 道题目的结构、价值与来源类型 | 正确识别出 2 道或更少题目的结构、价值与来源类型 |
可以看出,评分的核心在于每个分类维度都给出明确的判断。练习时可以遵循固定检查顺序:先看数据"如何组织"判断结构类型,再看数值"能否数学运算"判断价值类型,最后追问"谁采集、谁使用"判断来源类型,三问三答即可避免漏判。
六、拓展练习:给任意数据集做分类
完成作业后,可将同一套框架应用到仓库内的其他真实数据集,巩固判断能力:
- data/diabetes.tsv:制表符分隔文件(TSV)与 CSV 同属半结构化;其中的血糖、年龄等数值列为定量,诊断结果为定性。
- data/honey.csv:CSV 半结构化,产量为定量,州/年份标签为定性。
- data/emails.csv:CSV 半结构化,邮件正文内容若展开看则是非结构化文本,二者可同存于一列,正体现"数据集中混合多类型"的实践情形。
对照课程在结论部分总结的要点——数据是什么、数据如何描述、数据如何分类与归类、数据在哪里可以找到——把每一份文件的三维标签写下来,即可将本课的判断框架固化为可复用的分析习惯。
【免费下载链接】Data-Science-For-Beginners10 Weeks, 20 Lessons, Data Science for All!项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考