数据挖掘中的实体识别问题
如今,几乎所有需要存储和处理大量数据的地方都在使用数据挖掘。数据集成是数据预处理的主要任务之一。将多个数据库或数据文件集成到相同数据的单一存储中称为数据集成。数据集成通常用于为机器学习算法创建数据集,并在数据挖掘过程中从数据中预测统计信息。我们整合来自各种资源的数据,如银行交易、发票、客户记录、Twitter、博客帖子、图像、音频或视频数据、电子数据交换 (EDI) 文件、电子表格和传感器数据。
数据挖掘通常需要数据集成,即来自多个数据存储的数据的合并。它将来自多个来源的数据组合到一个连贯的数据存储中,就像在数据仓库中一样。这些源可能包括多个数据库、数据立方体或平面文件。在数据集成过程中需要考虑许多问题,例如模式集成和对象匹配。
因此,仔细集成可以帮助减少和避免结果数据集中的冗余和不一致。这有助于提高后续数据挖掘过程的准确性和速度。数据的语义异质性和结构对数据集成提出了很大的挑战。我们如何匹配来自不同来源的模式和对象?或者如何匹配来自多个数据源的等效现实世界实体?这个问题被称为实体识别问题。
数据通常从多个资源收集到一个连贯的存储中,它可以具有不同的维度和数据类型。有不同的数据表示形式和不同的数据规模。
数据集成中的问题:
- 数据冗余:当我们合并来自多个数据库的数据时,会出现冗余数据。如果没有去除冗余数据,在数据分析过程中会得到不正确的结果。出现冗余数据的原因如下。
- 对象识别:相同的属性或对象在不同的数据库中可能有不同的名称
- 派生数据:一个属性可能是另一个表中的“派生”属性,例如年收入
- 重复的数据属性:重复通常出现在包含在一个或多个其他属性中的信息中。
- 不相关的属性:数据中的某些属性并不重要,在执行数据挖掘任务时不会考虑它们。在数据中包含这些不相关的属性是没有用的。例如,学生 ID 往往与预测学生 GPA 的任务无关
- 实体识别问题:来自多个匹配的数据源的等效现实世界实体被称为此问题。实体识别问题发生在数据集成过程中。在多个资源的数据整合过程中,一些数据资源相互匹配,整合起来就会变成还原物。例如:A.cust-id =B.cust-number。这里A、B是两个不同的数据库表。cust-id是表A的属性,cust-number是表B的属性。这里cust-id和cust-number是不同表的属性,它们之间没有关系表,但 cust-id 属性和 cust-number 属性采用相同的值。这是关系中实体识别问题的示例。元数据可用于避免此类模式集成中的错误。这确保了源系统中的功能依赖和引用约束在目标系统中匹配。实体识别问题有助于检测和解决数据值冲突。
数据集成技术:
- 手动集成
- 中间件集成
- 基于应用的集成
- 统一访问集成
- 数据仓库