数据预处理是在对数据进行正式分析和挖掘之前,对原始数据进行采集、清理、转换、集成等处理,以提高数据质量和算法性能的过程。
数据采集
明确需求与来源:根据数据分析的目标确定所需数据,如分析用户消费行为可能需从电商平台数据库、线下门店销售记录等多渠道采集数据。
选择采集方法:对于结构化数据可通过 SQL 查询等方式获取,半结构化和非结构化数据则可能需借助网络爬虫、传感器等采集。
数据集成
合并多源数据:将来自不同数据源的数据整合到一起,如将企业内部的销售数据、客户数据及外部市场调研数据集成,以获取更全面视角。
处理数据冲突:当不同数据源对同一实体的描述存在差异时,需按一定规则解决,如依据数据的时效性、可靠性等选择保留或融合。
数据清理
处理缺失值:可采用删除含缺失值的记录、根据均值 / 中位数等填充、基于机器学习算法预测填充等方法,如在处理客户收入缺失值时,可根据同地区同职业客户的平均收入填充。
去除噪声数据:通过分箱、回归、聚类等方法平滑噪声,如对商品价格中的异常高价或低价数据进行调整。
解决重复数据:依据数据的唯一性标识或相似性判断去除完全重复或近似重复的数据,如删除电商订单中重复的购买记录。
数据转换
数据标准化与归一化:将数据特征转换到特定区间或符合特定分布,使不同特征具有可比性,提升模型性能。
离散化处理:将连续型数据转换为离散型数据,如将年龄数据划分为不同的年龄段区间。
属性构造:根据已有属性构造新的有意义属性,如根据商品的购买时间和价格构造 “性价比” 属性。
数据归约
维度归约:通过主成分分析、奇异值分解等方法减少数据维度,在保留主要信息的同时降低数据复杂度,如对高维的图像数据进行降维处理。
数值归约:采用聚类、抽样等方法对数据进行精简,如对大规模的用户行为数据进行随机抽样,在不影响分析结果的前提下提高处理效率。
