当前位置: 首页 > news >正文

数据赋能(122)——体系:数据清洗——技术方法、主要工具

技术方法

数据清洗标准模型是将数据输入到数据清洗处理器,通过一系列步骤“清理”数据,然后以期望的格式输出清理过的数据。数据清洗从数据的准确性、完整性、一致性、惟一性、适时性、有效性几个方面来处理数据的丢失值、越界值、不一致代码、重复数据等问题。

数据清洗主要方法如下:

  1. 文本错误:
    1. 对于文本数据,进行去重、去除标点符号、去除停用词、词干提取(Stemming)或词形还原(Lemmatization)等操作。
    2. 使用正则表达式等工具,去除文本中的不合逻辑字符或特殊字符。
  2. 纠正错误:
    1. 识别和纠正数据中的错误,如拼写错误、编码错误、计算错误等。
    2. 对于某些数据,可能需要与原始数据源进行核对以纠正错误。
  3. 处理缺失值:
    1. 识别数据集中的缺失值或空值。
    2. 数据中存在某些字段的缺失,需要根据实际情况选择删除含有缺失值的记录、用默认值填充、或用某种插值方法估算缺失值。
    3. 根据数据的特性和业务需求,选择适当的填充方法,如使用均值、中位数、众数填充,或者使用插值法、机器学习预测等方法进行填充。
    4. 如果缺失值比例过高或无法进行有效填充,可以考虑删除相关记录。
  4. 处理重复数据:
    1. 识别数据集中的重复记录。
    2. 根据业务需求,选择保留重复记录中的一条或全部删除。
    3. 在处理重复值时,需要注意保留原始数据的完整性和准确性。
  5. 处理异常值:
    1. 对于数值数据,使用统计方法(如IQR规则、Z-score方法等)识别异常值。
    2. 对于识别出的异常值,根据业务需求和数据特性选择适当的处理方法。
  6. 逻辑错误处理:
    1. 检查数据之间的逻辑关系,如某些字段的取值范围是否合理,或某些字段之间是否满足特定的业务规则。例如日期时间字段中的无效日期、年龄字段中的负值或超过合理范围的值等。
    2. 对于识别出的逻辑错误,根据业务需求选择适当的处理方法。例如,可以删除包含逻辑错误的数据行,或者将错误值替换为合理的默认值或空值。
  7. 格式化数据:
    1. 统一数据的格式,如日期格式、数值格式等,并纠正或删除错误的内容。
    2. 将数据转换为统一的格式,以便进行后续的分析和处理。
  8. 数据标准化:
    1. 数据标准化是将数据转换为统一尺度的方法,以消除不同特征之间的尺度差异。
    2. 将数据转换为统一的标准或度量单位,以便进行比较和分析。
    3. 这通常用于机器学习算法,因为许多算法对特征的尺度敏感。
  9. 数据转换:
    1. 对数据进行标准化或归一化,以便不同尺度或单位的数据可以在同一尺度上进行比较。
    2. 根据需要,对数据进行各种转换操作,如对数转换、平方根转换、分箱(binning)等。
  10. 验证数据完整性:
    1. 确保数据具有完整性,即数据中的关键字段是否完整,是否存在缺失或错误。
    2. 可以使用数据完整性约束(如主键、外键、唯一约束等)来确保数据的准确性。

数据清洗是一个持续的过程,需不断发现并解决问题。关于过滤与修正,需客户确认。过滤数据应记录于Excel或数据表,ETL初期可每日向业务单位发送过滤数据邮件,促其修正错误,并作为未来验证依据。清洗时须谨慎,避免误删有用数据,每个过滤规则应经验证和用户确认。

主要工具

数据清洗主要工具如下:

  1. 数据清洗工具:
    1. 这类工具专注于利用领域特有的知识对数据进行清洗和整理。
    2. 它们通常具备语法分析和模糊匹配等技术,能够识别并修正数据中的错误、不一致或冗余信息。
    3. 例如,在处理邮政地址时,数据清洗工具可以自动纠正拼写错误、格式化地址格式,并消除重复项。
    4. Integrity和Trillum等工具就属于这一类别,它们通过强大的清洗功能,确保数据的准确性和一致性。
  2. 数据审计工具:
    1. 这类工具主要用于扫描和分析数据,以发现其中的规律和联系。
    2. 它们可以看作是数据挖掘工具的变形,能够自动检测数据中的异常值、缺失值以及潜在的关联关系。
    3. 通过数据审计工具,用户可以更深入地了解数据的分布、质量和潜在价值,为后续的数据分析和决策提供支持。

可以使用Excel、OpenRefine(旧称Google Refine)或Python等工具来辅助完成数据清洗任务。这些工具提供了强大的数据批量处理、筛选、修正和填充功能,可以大大提高数据清洗的效率和准确性。

 

http://www.lryc.cn/news/375312.html

相关文章:

  • 【SCAU数据挖掘】数据挖掘期末总复习题库简答题及解析——中
  • 2024年注册安全工程师报名常见问题汇总!
  • JRebel-JVMTI [FATAL] Couldn‘t write to C:\Users\中文用户名-完美解决
  • STM32基于DMA数据转运和AD多通道
  • 安卓应用开发——Android Studio中通过id进行约束布局
  • Elasticsearch过滤器(filter):原理及使用
  • Docker配置与使用详解
  • 触控MCU芯片(1):英飞凌PSoC第6代第7代
  • git pull报错:unable to pull from remote repository due to conflicting tag(s)
  • Python将字符串用特定字符分割并前面加序号
  • 【第16章】Vue实战篇之跨域解决
  • 【PB案例学习笔记】-22制作一个语音朗读金额小应用
  • glmark2代码阅读总结
  • 第 6 章 监控系统 | 监控套路 - 总结
  • VsCode中C文件调用其他C文件函数失败
  • css中content属性你了解多少?
  • JVM-GC-G1垃圾回收器
  • 【Ubuntu通用压力测试】Ubuntu16.04 CPU压力测试
  • Artix Linux 默认不使用 systemd
  • JVM-GC-CMS垃圾回收器
  • 【玩转google云】实战:如何在GKE上使用Helm安装和配置3节点的RabbitMQ集群
  • 【神经网络】深度神经网络
  • 机器学习算法 —— K近邻(KNN分类)
  • Thinkphp5内核流浪猫流浪狗宠物领养平台H5源码
  • c++ 智能指针使用注意事项及解决方案
  • SQLite Delete 语句
  • vue3的基本使用方法
  • Java数据结构与算法(盛水的容器贪心算法)
  • MYSQL 数字(Aggregate)函数
  • 【TensorFlow深度学习】如何处理不平衡数据集与欠采样、过采样技术