如何修复不一致(可变拼写)的分类数据和“填充”缺失数据

数据挖掘 数据清理 分类数据 缺失数据 正常化
2022-02-07 17:05:21

我是一名新手数据科学工程师。我的第一个挑战是(1)标准化分类特征中的不一致值,(2)填充任何缺失的信息。

为了描述不一致,假设我们有一个字段,并且USAcountry可以有多个条目例如USA , United States of America , US , US-50 , United States , America等。

我如何规范所有这些条目,并为所有条目 USA我可以想到一组全文搜索规则来匹配使用 lucene 或其他东西。这个问题有什么具体的技术术语吗?

1个回答

我也是数据科学的新手,所以我的方法可能幼稚得可笑。但我是一名“术语分析师”,负责准备和维护标准化的词汇和代码集(这是为了避免您描述的问题),所以至少我描述的是我实际支付的费用。事实上,当我的程序刚建立时,准备了一个名为“状态文件的状态”的幻灯片演示文稿,描述了一个与您的问题非常相似的问题:用于填充状态数据输入选择列表的文件包含数百种不同的方式50 个美国州可以用文本表示。

回答您的问题:我将问题的名称称为“非结构化数据”或“非标准化数据”。我们将修复它的过程称为“数据标准化”。这种标准化的结果是“参考术语”,它是标准化术语的列表以及每个标准术语的同义词(也称为“搜索术语”)。有时为每个标准化术语分配字母数字代码,从而形成“代码集”。

我的组织对数据标准化所采用的方法是初级的,几乎不能称为任何复杂的数据科学:我们运行 DISTINCT 查询来获取用于表示概念的所有不同文本字符串。然后需要查看该列表以查看哪些不同的文本字符串代表相同的事物。如果您的列表太大而无法在您拥有的时间内查看每个文本字符串,那么您需要获取每个不同文本字符串出现次数的频率数据。将术语列表从出现次数从高到低排序,并在所分配的时间内尽可能地沿着列表向下移动。

听起来很简单,但有时您需要对平等或包容做出判断。例如,如果您的文本字符串之一是“美国大陆”(不包括阿拉斯加和夏威夷),您会将其归为“美国”还是有自己的类别?

您的结果将是有限数量的标准化国家名称的参考术语,以及每个国家的所有同义词。

一个起点是 ISO-3166,一组代码“用于国家、附属领土、具有地理利益的特殊区域及其主要细分(例如,省或州)的名称”。您可以将每个文本字符串与这些已建立的代码之一进行匹配。