机器学习-数据清洗(一)

数据的预处理(清洗、集成、变换、规约)

​ 在进行数据挖掘中,原始海量的数据中存在着大量不完整(有缺失值)、不一致、有异常的数据,严重影响到数据挖掘建模的执行效率,甚至可能导致挖掘结果的偏差,所以对首先对数据进行清洗就显得尤为重要,在数据清洗完成后,后续伴随着数据集成、转换、规约等一系列的处理,该过程就是数据预处理。数据预处理一方面是要提高数据的质量,另一方面是要让数据更好地适应特定的挖掘技术或工具。统计发现,在数据挖掘的过程中,数据预处理工作量占到了整个过程的60%。

数据预处理的主要内容包括数据清洗、数据集成、数据变换和数据规约.

1、数据清洗(Data Cleaning)

目标:修复数据中的噪声、缺失、不一致等问题。

1.1 、具体内容:

1.1.1、缺失值处理

  • 方法:删除缺失记录、均值/中位数填充、插值法、模型预测填充。
  • 示例:年龄字段缺失时,用数据集的平均年龄填充。

1.1.2、异常值处理

  • 方法:Z-score法(标准化)、IQR(四分位距法)、描述性分析、散点图、箱形图、直方图查找异常并处理。
  • 示例:检测到某商品价格超过正常范围的3倍标准差,判定为异常并剔除。

1.1.3、噪声数据

  • 方法:分箱、回归、孤点分析。
  • 示例:

1.1.4、重复值处理

  • 方法:删除完全重复的行。
  • 示例:电商订单数据中同一订单被重复记录两次,删除冗余行。

2、数据集成(Data Integration)

目标:涉及整合多源数据,解决冗余和实体识别冲突。

2.1、具体内容:

2.1.1、实体识别

  • 方法:统一字段命名(如 CustomerID 和 Cust_ID 合并为同一字段)。
  • 示例:合并销售表(含 ProductID)和库存表(含 ProdID),需统一字段名。

2.1.2、冗余数据处理

  • 方法:分析相关性,删除冗余列(如同时存在 身高(cm) 和 身高(m))。
  • 示例:合并两个客户表时,发现 年龄 和 出生年份 存在冗余,删除其一。

3、数据变换(Data Transformation)

目标:将数据转换为适合数据挖掘分析的格式,有规范化、离散化、特征构造等。

3.1、具体内容:

3.1.1、规范化(Normalization)

  • 方法:最小-最大标准化(缩放到 [0,1])、Z-score标准化(均值为0,方差为1)。
  • 示例:将收入从 [1000, 100000] 缩放到 [0,1]。

3.1.2、离散化

  • 方法:分箱(等宽/等频)、聚类离散化。
  • 示例:将年龄分为 [0-18, 19-35, 36-60, 60+]。

3.1.3、特征构造

  • 方法:生成新特征(如从日期中提取星期几)。
  • 示例:将 购买日期 转换为 季节 或 是否为周末。

4、数据规约(Data Reduction)

目标:减少数据规模但保持完整性,同时保留关键信息。

4.1、具体内容:

4.1.1、属性(维度)规约

  • 方法:主成分分析(PCA)、删除低方差特征、逐步回归。
  • 示例:用 PCA 将 20 维数据降为 3 维主成分。

4.1.2、数值规约

  • 方法:聚类抽样、分层抽样、直方图分箱。
  • 示例:从 100 万条数据中随机抽取 10% 进行分析。

5、示例

相关推荐
NAGNIP6 小时前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
冬奇Lab7 小时前
一天一个开源项目(第36篇):EverMemOS - 跨 LLM 与平台的长时记忆 OS,让 Agent 会记忆更会推理
人工智能·开源·资讯
冬奇Lab7 小时前
OpenClaw 源码深度解析(一):Gateway——为什么需要一个"中枢"
人工智能·开源·源码阅读
AngelPP11 小时前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年11 小时前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼11 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS11 小时前
Kimi Chat Completion API 申请及使用
前端·人工智能
天翼云开发者社区12 小时前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈12 小时前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
Ray Liang13 小时前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx