重磅干货,第一时间送达
作者:lswbjtuhttps://zhuanlan.zhihu.com/p/51131210
为什么数据处理很重要?
熟悉数据挖掘和机器学习的小伙伴们都知道,数据处理相关的工作时间占据了整个项目的70%以上。数据的质量,直接决定了模型的预测和泛化能力的好坏。它涉及很多因素,包括:准确性、完整性、一致性、时效性、可信性和解释性。而在真实数据中,我们拿到的数据可能包含了大量的缺失值,可能包含大量的噪音,也可能因为人工录入错误导致有异常点存在,非常不利于算法模型的训练。数据清洗的结果是对各种脏数据进行对应方式的处理,得到标准的、干净的、连续的数据,提供给数据统计、数据挖掘等使用。
有哪些数据预处理的方法?
数据预处理的主要步骤分为:数据清理、数据集成、数据规约和数据变换。本文将从这四个方面详细的介绍具体的方法。如果在一个项目中,你在这几个方面的数据处理做的都很不错,对于之后的建模具有极大的帮助,并且能快速达到一个还不错的结果。
数据清理
数据清理(data cleaning) 的主要思想是通过填补缺失值、光滑噪声数据,平滑或删除离群点,并解决数据的不一致性来“清理“数据。如果用户认为数据时脏乱的,他们不太会相信基于这些数据的挖掘结果,即输出的结果是不可靠的。
1、缺失值的处理
由于现实世界中,获取信息和数据的过程中,会存在各类的原因导致数据丢失和空缺。针对这些缺失值的处理方法,主要是基于变量的分布特性和变量的重要性(信息量和预测能力)采用不同的方法。主要分为以下几种:删除变量:若变量的缺失率较高(大于80%),覆盖率较低,且重要性较低,可以直接将变量删除。
定值填充:工程中常见用-9999进行替代
统计量填充:若缺失率较低(小于95%)且重要性较低,则根据数据分布的情况进行填充。对于数据符合均匀分布,用该变量的均值填补缺失,对于数据存在倾斜分布的情况,采用中位数进行填补。
插值法填充:包括随机插值,多重差补法,热平台插补,拉格朗日插值,牛顿插值等
模型填充:使用回归、贝叶斯、随机森林、决策树等模型对缺失数据进行预测。
哑变量填充:若变量是离散型,且不同值较少,可转换成哑变量,例如性别SEX变量,存在male,fameal,NA三个不同的值,可将该列转换成 IS_SEX_MALE, IS_SEX_FEMALE, IS_SEX_NA。若某个变量存在十几个不同的值,可根据每个值的频数,将频