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