数据分析、数据挖掘常用的数据清洗方法

数据清洗目的:一是为了解决数据质量问题;二是为了使数据更适合模型分析挖掘。

数据的完整性---例如:人的属性中缺少性别

数据的唯一性---例如:不同来源的数据出现重复

数据的权威性---例如:同一个指标出现多个来源的数据且数值不同

数据的合法性---例如:获取的数据与常识不符,年龄大于200岁

数据的一致性---例如:不同来源的不同指标,实际内涵是一样的,或同一指标内涵不一致

一、数据质量问题

数据清洗的结果是对各种脏数据进行对应方式处理,得到标准的、干净的、连续的数据提供给模型训练。

1、解决数据完整性

数据缺失,填补数据就好了。

(1)通过其他数据信息补全,例如使用身份证号码推算性别、出生日期、年龄等

(2)通过前后数据补全,例如时间序列缺数据,可以使用前后的均值,缺的多了,可以使用平滑等处理

(3)实在补不全,虽然可惜,但是必须要剔除,但是不要删除,也许以后可以用的上

2、解决数据唯一性

去除重复值,保留一条

(1)按主键去重

(2)按规则去重,如:保留第一次出现,或保留最后一次出现的

3、解决数据权威性

用最权威的渠道数据

对不同渠道设定权威级别

4、解决数据合法性

(1)设定强制合法规则,凡是不在此规则范围内的,强制设为最大值,或者判为无效,剔除

(2)离群值人工特殊处理,使用分箱、聚类、回归等方式发现离群值

5、解决数据一致性

建立数据体系

二、数据更适合分析挖掘

1、高维度 --不适合------降维(主成分、随机森林)

2、维度太低--不适合 ---(各种汇总、平均、加总、最大、最小等;各种离散化,聚类、自定义分组)

3、无关信息--减少存储---(删除字段)

4、字段冗余 -- 相关系数很高 --(删除)

5、多指标数值、单位不同 ----(归一化

相关推荐
深蓝海拓2 分钟前
QT,sys.argv支持的核心内置参数
python·pyqt
superman超哥3 分钟前
仓颉语言中循环语句(for/while)的深度剖析与工程实践
c语言·开发语言·c++·python·仓颉
冷雨夜中漫步7 分钟前
Java类加载机制——双亲委派与自定义类加载器
java·开发语言·python
DuanPenghao14 分钟前
RISCV实战:实现基于Verilator模拟蜂鸟E203的加法器和卷积神经网络仿真
人工智能·嵌入式硬件·神经网络·cnn·risc-v
一水鉴天16 分钟前
整体设计 定稿 之31 拼语言统筹表 - “归” 档位属 多轴联动(codebuddy)
人工智能·架构
智算菩萨17 分钟前
Gemini 3 Flash深度解析:Google推出的最新一代快速高效AI模型详尽性能评测报告
人工智能·aigc·gemini
拾忆,想起19 分钟前
单例模式深度解析:如何确保一个类只有一个实例
前端·javascript·python·微服务·单例模式·性能优化·dubbo
癫狂的兔子23 分钟前
【Python】【NumPy】学习笔记
python·学习·numpy
智算菩萨24 分钟前
【理论讲解】深度多任务学习:概念体系、方法谱系与跨领域建模逻辑
人工智能·机器学习·多任务学习
张彦峰ZYF24 分钟前
借助DeepSeek思考产业落地:蒸馏、小模型微调
人工智能·ai·deepseek-v3·deepseek-r1·蒸馏-小模型微调