表格数据指的是以行和列格式组织的信息。想象一下常见的电子表格,比如你在Microsoft Excel或Google Sheets中使用的,或者数据库中的一个表;这就是这种核心结构。生成能整齐地符合这种行和列格式的人工数据是一个主要关注点,因为这种结构在机器学习任务中非常普遍。了解这种组织方式有助于创建看起来和行为都像真实数据的人工数据。表格数据的构成要素表格数据是按网格排列的组织好的信息。下面我们来分解其基本组成部分:行:单个记录表中的每一行通常代表一个单一的观察值、记录或项。如果你的表是关于客户的,那么每行可能代表一位特定的客户。如果它是一个关于产品销售的表,那么每行可能对应一次单一的交易。单行中的所有信息都属于该特定记录。列:特征或属性每列代表在所有行中被测量或记录的特定特点、特征或属性。在我们的客户表示例中,列可能包括“客户ID”、“姓名”、“年龄”、“城市”和“购买金额”。单列中的所有值通常具有相同的数据类型(如数字或文本),并描述每个记录的相同属性。单元格:交汇处单元格是行和列相交的特定位置。它包含一个单一值,代表该特定记录(行)的特定属性(列)。例如,在“客户123”这一行与“年龄”这一列的交汇处的单元格将包含该特定客户的年龄。列标题:命名属性大多数表格都包含一个特殊的首行,称为标题行。这一行不包含关于记录的数据;相反,它为每列提供了名称或标签。这些标题(如“客户ID”、“年龄”、“城市”)使表格易于理解,并且在程序化处理数据时很重要。结构可视化这里有一个表格数据的简单示例:客户ID姓名年龄城市购买金额101Alice28New York150.75102Bob34San Francisco85.00103Charlie22Chicago210.20104Diana45New York55.50一个显示客户信息的基本表格。每行代表一位客户,每列描述一个属性,如“姓名”或“年龄”。digraph G { rankdir=LR; node [shape=box, style=filled, fillcolor="#e9ecef"]; edge [arrowhead=none]; splines=ortho; {rank=same; "行 1"; "101"; "Alice"; "28"; "New York"; "150.75";} {rank=same; "行 2"; "102"; "Bob"; "34"; "San Francisco"; "85.00";} {rank=same; "行 3"; "103"; "Charlie"; "22"; "Chicago"; "210.20";} {rank=same; "标题"; "客户ID"; "姓名"; "年龄"; "城市"; "购买金额";} "标题" -> "客户ID" -> "姓名" -> "年龄" -> "城市" -> "购买金额" [style=invis]; "行 1" -> "101" -> "Alice" -> "28" -> "New York" -> "150.75" [style=invis]; "行 2" -> "102" -> "Bob" -> "34" -> "San Francisco" -> "85.00" [style=invis]; "行 3" -> "103" -> "Charlie" -> "22"; "Chicago"; "210.20" [style=invis]; "标题" -> "行 1" -> "行 2" -> "行 3" [style=invis]; subgraph cluster_columns { style=dotted; color="#adb5bd"; label="列 (特征)"; "客户ID"; "姓名"; "年龄"; "城市"; "购买金额"; } subgraph cluster_rows { style=dotted; color="#adb5bd"; label="行 (记录)"; "标题"; "行 1"; "行 2"; "行 3"; }}显示表格数据行和列结构的图示。列中常见的数据类型列中的数据类型是其结构的一个重要方面。在生成人工数据时,我们通常需要准确地模拟这些类型。常见数据类型包括:数值型: 表示数量。整型: 整数(例如,“年龄”列中的28、34、22)。浮点型(或小数型): 带小数点的数字(例如,“购买金额”列中的150.75、85.00)。类别型: 表示不同的组或标签。名义型: 没有内在顺序的类别(例如,“城市”列中的“New York”、“San Francisco”、“Chicago”)。名称本身只是标签。序数型: 具有有意义顺序的类别(例如,“Small”、“Medium”、“Large”,或“ 만족”(满意度)级别如“Low”、“Medium”、“High”)。文本型(或字符串型): 自由格式文本数据(例如,“姓名”列中的“Alice”、“Bob”等名称,或可能是产品描述、评论)。日期/时间型: 表示特定的时间点或持续时间(例如,“2023-10-26”、“14:30:00”)。了解每列的数据类型是生成数据的基本要求,因为创建真实的数字与生成合理的城市名称或日期,需要适用不同的技术。数据的形态:行和列我们通常通过数据集的形态来描述表格数据集的大小,这简单来说就是行数和列数。一个包含1000行和15列的数据集,其形态为(1000, 15)。这让我们能快速了解数据集的维度。“了解这些结构要素——行、列、标题、单元格和数据类型,为有效处理人工表格数据的生成提供了依据。随着本章内容的推进,我们将在这一理解的基础上,应用特定的技术来创建类似表格的人工数据集。”