根据调研机构Gartner公司日前发布的一份调查报告,由于数据质量不良的问题,40%的企业无法实现其业务目标。许多数据科学家已经意识到了利用高质量数据进行数据分析的重要性,因此,他们将大约80%的时间用于数据清理和准备。这意味着他们将更多的时间花在数据分析之前的过程上,而不是专注于提取有意义的见解。
尽管有必要在进入数据分析过程之前获得更好的数据,但必须有一种更好的方法来解决数据集中存在的数据质量问题,而不是人工地纠正每个错误。
使用基于代码的方法
像Python和R这样的编程语言使编写基本数据清理工作流变得更加容易,例如:
- 删除对分析过程无用的列。
- 更改数据类型。
- 突出显示丢失的数据。
- 从列值中删除分隔线和空格。
- 以数字方式排列数据,而不是分类排列数据,
- 将字符串更改为日期时间格式等。
使用编程脚本清理数据非常有效,但是必须具备大量的编程专业知识。此外,编程脚本倾向于专门用于特定数据集及其列值。这意味着,当数据值包含相似的基础模式时,编程函数可以更好地工作。否则,将最终将特定方案硬编程到代码中,以达到数据清理的目的,而不是实现可满足多种方案的更通用的方法。
机器学习及其在数据清理中的作用
要清理数据,首先,必须能够分析和识别不良数据。然后执行纠正措施以获取干净且格式标准化的数据集。数据清理过程中有多个阶段,采用机器学习和人工智能技术不仅可以使工作流实现自动化,而且可以获得更准确的结果。
(1)分析数据并检测错误
机器学习在数据清理中起到重要作用的第一步是对数据进行概要分析,并突出显示异常值。生成直方图并针对经过训练的机器学习模型运行列值将突出显示哪些值是异常值,并且与该列的其他值不匹配。可以在标准字典上训练模型,也可以提供专门用于数据的自定义数据集。
(2)对数据的清理和标准化提出智能化建议
除了检测列值中的错误之外,机器学习解决方案还可以提出明智的建议,并突出显示解决数据质量问题的可能措施。这些建议基于同一数据集中遇到的数据的性质。例如,如果两个记录的地址完全相同,但邮政编码不同,则机器学习算法可以将其标记为需要修复的可能错误。这是通过在数据集上设置相关性约束来实现的,如果地址相同,则邮政编码也必须相同。
(3)通过集群突出显示可能的重复项
记录重复数据删除是数据清理工作流程中最重要的步骤之一。机器学习解决方案可以通过基于记录的相似性对记录进行集群来帮助用户执行记录链接。这是通过在非重复数据集上训练机器学习模型来实现的,该数据集包含匹配项和不匹配项的标签。一旦训练完成,机器学习模型便会智能地标记新数据集并创建集群,以突出显示可能引用同一实体的数据记录。
(4)影响合并/清除决策以实现单一真相来源
在创建集群的过程中,机器学习算法对记录属于该集群的可能性进行评分。这有助于数据科学家做出相应的合并或清除数据记录的决定。还可以调整机器学习算法中使用的变量,以在产生的假阳性和阴性数量之间设置可接受的阈值。
基于机器学习的数据清理
上面的工作流程显示了基于机器学习的数据清理软件如何自动执行清理活动,而且还通过建议智能建议简化了决策过程。这种利用人工智能强大功能的高级流程对于数据科学家在数据清理和准备方面节省大量的时间至关重要。