数据概览
作为AI训练和模型生成过程极其重要的角色,数据的质量和格式直接关系着模型的质量。
本文将涵盖:
- 数据表的句法
- 支持的数据类型
- 缺失值的表达
行 vs 列
大多数据集是同时包含行列的表格形式, AI建模通常会将该表会以CSV文件的形式表达。 在CSV中,每行由一串文本表示,每列用逗号表示。
有关CSV格式的更多信息,请参考 RFC4180。
在Walkthrough 中的服饰场景中,行是各种服装的ID,列为包括季节、价格等在内的衣服属性。虽然这看似简单,但在准备数据的时候需要注意两个关键的地方:
- 每列需要一个“标题”,一个包含所有列名称的表头。
- 每一行会被独立的处理。
确保每列都有一个标题通常不难,但重要的是需要仔细检查以确保数据是以你希望的形式准备的,避免因为数据准备有误导致建模精度不够好或者完全无法建模。
在模型完成之后使用的测试数据集和用来训练模型的训练数据集必须具有完全相同的列名。
由于每行都是单独处理的,所以对一行所做的任何更改都不会对其他行产生影响。 因此,在进行预测时,无论对一行做出什么都不会改变其他行的预测。
当表格保存到文件时,则必须采用ASCII或UTF-8编码。
列和数据类型
数据中的每一列中各行的数据的数据类型必须在整个列中保持一致。虽然OneClick平台可以读取多种不同数据类型,但对每一列也必须始终只包含一种数据类型,当然不同的列可以有不同的数据类型。
OneClick.ai支持多种数据类型:数字、日期/时间、类别、文本:
- 数字:数据可以是浮点数和整数,可以按数量来比较它们的值。
服装案例中的数字数据类型是服装评级(4.2,5.0等)
- 日期/时间:OneClick平台将尝试自动检测日期/时间格式。 支持最常见的日期/时间格式(文本或数字)。
- 类别:可以是整数或任何文本,它们为表示每行离散信息的ID。
服装案例中的分类数据类型是:尺寸、季节、价格(XL、夏季、高);
- 文本(自由格式文本):我们支持ASCII和UTF-8编码的英文和中文;
请注意,当列是文本,并且文本包含标点(逗号,小节,分号)时,该单元格中的所有文本都必须位于双引号之间。 (Excel和Numbers等大多数程序会自动执行此操作)如果文本有双引号,那么它必须以另一个双引号开头。 所以如果想在Excel单元格中显示“很棒”,则输入“great”(“great”=“great”)。
缺失值
缺失值是指粗糙数据中由于缺少信息而造成的数据的聚类、分组、删失或截断。它指的是现有数据集中某个或某些属性的值是不完全的。
缺失值通常被报告为“空白”、“无”或“空单元”。 但是,在建模中,对于不同的数据类型需要有不同的处理方式:
- 数字数据的缺失值只能用空格表示(文字空格)
- 类别数据的缺失值可以由空白单元格或统一的类别表示
常用的代表缺失类别是“null”,但它可以是任何单词,只要它一致地用于引用表中的缺失值即可。
- 文本数据的缺失值可以用空格表示。
有时需要将空字符串(长度为零的文本)从缺失值中区别开来, 在这种情况下,我们使用“”(引用空字符串)表示空字符串,空白单元格表示缺失值。
训练数据的标签永远不会有空格或缺失值,否则,AI便不知从何学起。平台在建模时会自动去掉所有标签为空或者无法正确转换类型的行(比如做回归分析时标签包含了文本等无法转成数字的行都会被去掉)


