数据挖掘中经常使用的数据清洗方法有哪些? 算法
原文连接:https://www.zhihu.com/question/22077960 sql
从两个角度看,数据清洗一是为了解决数据质量问题,,二是让数据更适合作挖掘。不一样的目的下分不一样的状况,也都有相应的解决方式和方法。 数据库
包括缺失值处理、异常值处理、重复值处理、空值填充、统一单位、是否标准化处理、是否删除无必要的变量、是否排序、是否进行主成分或因子分析等等。 工具
解决数据的各类问题,包括但不限于: spa
数据清洗的结果是对各类脏数据进行对应方式的处理,获得标准的、干净的、连续的数据,提供给数据统计、数据挖掘等使用。 excel
那么为了解决以上的各类问题,咱们须要不一样的手段和方法来一一处理。 排序
每种问题都有各类状况,每种状况适用不一样的处理方法,具体以下: get
1.1解决数据的完整性问题:(数据缺失,那么补上就行了) 数据挖掘
补数据有什么方法? io
1.2解决数据的惟一性问题(解题思路:去除重复记录,只保留一条。)
去重的方法有:
1.3解决数据的权威型问题
解题思路:用最权威的个渠道的数据
方法:
1.4解决数据的合法性问题
解题思路:设定断定规则
字段类型合法规则:日期字段格式为"2010-10-10"
字段内容合法规则:性别 in (男、女、未知);出生日期<=今天
警告规则:年龄》110
1.5解决数据的一致性问题
解题思路:创建数据体系,包含但不限于:
目标包括但不限于:
2.1解决高纬度问题
解题思路:降维,方法包括但不限于:
2.2解决维度低或缺乏维度问题
解题思路:抽象,方法包括但不限于:
2.3解决无关信息和字段冗余(解决方法:剔除字段)
2.4解决多指标数值、单位不一样问题
解决方法:归一化
因为各类缘由,数据中可能存在重复记录或重复字段(列),对于这些重复项目(行和列)须要作去重处理。对于重复项的判断,基本思想是"排序和合并",先将数据库中的记录按必定规则排序,而后经过比较邻近记录是否类似来检测记录是否重复。这里面其实包含了两个操做,一是排序,二是计算类似度。
常见的排序算法:
插入排序、冒泡排序、选择排序、快速排序、堆排序、归并排序、基数排序、希尔排序
常见判断类似度的算法:
基本的字段匹配算法、标准化欧氏距离、汉明距离、夹角余弦、曼哈顿距离、欧氏距离、切比雪夫距离、相关系数、信息熵等等
对于重复的数据项,尽可能须要通过业务确认并进行整理提取出规则。在清洗转换阶段,对于重复数据项尽可能不要轻易作出删除决策,尤为不能将重要的或有业务意义的数据过滤掉,校验和重复确认的工做必不可少