# 定义数据 |![ Sketchnote by [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/03-DefiningData.png)| |:---:| |定义数据 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ | 数据是用于发现和支持明智决策的事实、信息、观察和测量。数据点是数据集中的单个数据单位,而数据集是数据点的集合。数据集可能有不同的格式和结构,通常基于其来源或数据的来源。例如,一家公司每月的收入可能存储在电子表格中,而智能手表的每小时心率数据可能是 [JSON](https://stackoverflow.com/a/383699) 格式。数据科学家通常需要处理数据集中不同类型的数据。 本课程重点是根据数据的特性和来源来识别和分类数据。 ## [课前测验](https://ff-quizzes.netlify.app/en/ds/quiz/4) ## 数据的描述方式 ### 原始数据 原始数据是从其来源获得的初始状态数据,尚未经过分析或组织。为了理解数据集中的情况,需要将其组织成一种人类和技术都能理解的格式。数据集的结构描述了它的组织方式,可以分为结构化、非结构化和半结构化。这些结构类型会因来源而异,但最终会归入这三类。 ### 定量数据 定量数据是数据集中的数值观察,通常可以进行分析、测量并用于数学计算。一些定量数据的例子包括:一个国家的人口、一个人的身高或一家公司季度收入。通过进一步分析,定量数据可以用于发现空气质量指数(AQI)的季节性趋势或估算典型工作日的高峰时段交通概率。 ### 定性数据 定性数据,也称为分类数据,是无法像定量数据那样客观测量的观察数据。它通常是各种主观数据格式,用于捕捉某物的质量,例如产品或过程。有时,定性数据是数值形式,但通常不会用于数学计算,例如电话号码或时间戳。一些定性数据的例子包括:视频评论、汽车的品牌和型号或你最亲密朋友最喜欢的颜色。定性数据可以用于了解消费者最喜欢哪些产品或识别求职简历中的热门关键词。 ### 结构化数据 结构化数据是以行和列组织的数据,其中每一行都有相同的一组列。列表示特定类型的值,并通过名称描述值的含义,而行包含实际的值。列通常会有一组特定的规则或限制,以确保值准确地表示列。例如,想象一个客户的电子表格,其中每一行必须有一个电话号码,并且电话号码不能包含字母字符。可能会对电话号码列应用规则,确保它永远不为空且只包含数字。 结构化数据的一个优势是可以以某种方式组织,使其与其他结构化数据相关联。然而,由于数据设计为以特定方式组织,改变其整体结构可能需要大量努力。例如,向客户电子表格添加一个不能为空的电子邮件列意味着需要弄清楚如何为数据集中现有的客户行添加这些值。 结构化数据的例子:电子表格、关系数据库、电话号码、银行对账单 ### 非结构化数据 非结构化数据通常无法分类为行或列,也没有格式或规则可遵循。由于非结构化数据对其结构的限制较少,与结构化数据相比,添加新信息更容易。如果一个传感器每两分钟捕获一次气压数据,并收到更新后可以测量和记录温度,那么如果数据是非结构化的,就不需要更改现有数据。然而,这可能会使分析或调查这种类型的数据变得更耗时。例如,一位科学家想从传感器数据中找到上个月的平均温度,但发现传感器在某些记录数据中标记了一个“e”,表示它坏了,而不是典型的数字,这意味着数据不完整。 非结构化数据的例子:文本文件、短信、视频文件 ### 半结构化数据 半结构化数据具有使其成为结构化和非结构化数据结合的特征。它通常不符合行和列的格式,但以一种被认为是结构化的方式组织,并可能遵循固定格式或规则。结构会因来源而异,例如从定义明确的层次结构到更灵活的结构,允许轻松集成新信息。元数据是帮助决定数据如何组织和存储的指标,并根据数据类型有各种名称。一些常见的元数据名称包括标签、元素、实体和属性。例如,一封典型的电子邮件消息会有主题、正文和一组收件人,并可以根据发送者或发送时间进行组织。 半结构化数据的例子:HTML、CSV 文件、JavaScript Object Notation (JSON) ## 数据来源 数据来源是数据生成的初始位置或数据“存储”的地方,会因数据的收集方式和时间而异。由用户生成的数据称为原始数据,而二手数据来自为一般用途收集数据的来源。例如,一组科学家在雨林中收集观察数据被认为是原始数据,而如果他们决定与其他科学家分享,则对使用这些数据的人来说是二手数据。 数据库是常见的数据来源,依赖数据库管理系统来托管和维护数据,用户通过称为查询的命令来探索数据。作为数据来源的文件可以是音频、图像和视频文件,也可以是像 Excel 这样的电子表格。互联网来源是托管数据的常见位置,可以找到数据库和文件。应用程序编程接口(API)允许程序员通过互联网创建与外部用户共享数据的方法,而网页抓取则从网页中提取数据。[《处理数据》课程](../../../../../../../../../2-Working-With-Data)重点介绍如何使用各种数据来源。 ## 总结 在本课程中,我们学习了: - 什么是数据 - 数据的描述方式 - 数据的分类和归类方式 - 数据的来源 ## 🚀 挑战 Kaggle 是一个优秀的开放数据集来源。使用 [数据集搜索工具](https://www.kaggle.com/datasets) 找到一些有趣的数据集,并根据以下标准分类 3-5 个数据集: - 数据是定量还是定性? - 数据是结构化、非结构化还是半结构化? ## [课后测验](https://ff-quizzes.netlify.app/en/ds/quiz/5) ## 复习与自学 - Microsoft Learn 单元 [分类你的数据](https://docs.microsoft.com/en-us/learn/modules/choose-storage-approach-in-azure/2-classify-data) 对结构化、半结构化和非结构化数据进行了详细的分类。 ## 作业 [分类数据集](assignment.md) --- **免责声明**: 本文档使用AI翻译服务[Co-op Translator](https://github.com/Azure/co-op-translator)进行翻译。尽管我们努力确保准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于关键信息,建议使用专业人工翻译。因使用本翻译而导致的任何误解或误读,我们概不负责。