数据挖掘:数据清洗 | 您所在的位置:网站首页 › 什么是实时数据处理方法 › 数据挖掘:数据清洗 |
数据挖掘:数据清洗——数据噪声处理
数据噪声(Noise):数据集中的干扰数据(对场景描述不准确的数据),即测量变量中的随机误差或方差。 二、噪声数据与离群点的区别观测量(Measurement) = 真实数据(True Data) + 噪声 (Noise):而离群点(Outlier)属于观测量,既有可能是真实数据产生的,也有可能是噪声带来的,但是总的来说是和大部分观测量之间有明显不同的观测值。 数据噪声与离群点有很多相同的地方。之间没有太过明确的定义,主要看应用的场景。如在信用卡诈骗中,我们通常会关注那些少量的异常数据,此时数据是具有探索意义的。而在一般的场景下,离群点和噪声都需要剔除,一般使用的方法也有很多相似之处,如3标准差去噪,dbscan去噪,孤立森林等。 三、产生原因同异常值,也有机器因素和人为因素。这里不做过多说明。 四、处理的必要性对模型训练有影响很多算法,不仅会增加数据量,也会加大计算量,增加计算机内存和计算开销,也会增大计算误差。特别是线性算法,都是通过迭代来获取最优解的,如果数据中含有大量的噪声数据,将会大大的影响数据的收敛速度,甚至对于训练生成模型的准确也会有很大的副作用。 五、处理方法常见的噪声数据的处理方法: 人工检查 统计模型; 分箱; 聚类; 回归 。 5.1 人工检查根据业务和对数据本身的理解,人为的进行数据筛选。 5.2 统计模型对于正态数据,利用3个标准差原则进行去噪,或使用四分位差进行去噪。 对于偏态数据用分箱则效果更好。 5.3 分箱分箱方法是一种简单常用的预处理方法,通过考察相邻数据来确定最终值。所谓“分箱”,实际上就是按照属性值划分的子区间,如果一个属性值处于某个子区间范围内,就称把该属性值放进这个子区间所代表的“箱子”内。把待处理的数据(某列属性值)按照一定的规则放进一些箱子中,考察每一个箱子中的数据,采用某种方法分别对各个箱子中的数据进行处理。 在采用分箱技术时,需要确定的两个主要问题就是: 如何分箱 如何对每个箱子中的数据进行平滑处理。分箱的方法有4种:等深分箱法、等宽分箱法、用户自定义区间法和最小熵法。 等宽分箱法容易受异常值影响,分箱后可能有的区域值很多,有的很少。分配不均匀。 等深/等频分箱法则容易将相同的值分到不同的箱中。 5.3.1 分箱方法例:客户收入属性income排序后的值(人民币元):800 1000 1200 1500 1500 1800 2000 2300 2500 2800 3000 3500 4000 4500 4800 5000。 5.3.1.1 统一权重也称等深分箱法,将数据集按记录行数分箱,每箱具有相同的记录数,每箱记录数称为箱子的深度。这是最简单的一种分箱方法。每个箱子的深度(箱内数据的个数)统一。 统一权重:设定权重(箱子深度)为4,分箱后 箱1:800 1000 1200 1500 箱2:1500 1800 2000 2300 箱3:2500 2800 3000 3500 箱4:4000 4500 4800 5000 5.3.1.2 统一区间也称等宽分箱法,使数据集在整个属性值的区间上平均分布,即每个箱的区间范围是一个常量,称为箱子宽度。 统一区间:设定区间范围(箱子宽度)为1000元人民币,分箱后 箱1:800 1000 1200 1500 1500 1800 箱2:2000 2300 2500 2800 3000 箱3:3500 4000 4500 箱4:4800 5000 5.3.1.3 用户自定义区间用户可以根据需要自定义区间,当用户明确希望观察某些区间范围内的数据分布时,使用这种方法可以方便地帮助用户达到目的。 用户自定义:如将客户收入划分为1000元以下、1000-2000、2000-3000、3000-4000和4000元以上几组,分箱后 箱1:800 箱2:1000 1200 1500 1500 1800 2000 箱3:2300 2500 2800 3000 箱4:3500 4000 箱5:4500 4800 5000 5.3.1.4 最小熵法熵是不确定性的度量,最大熵原理的意思就是说我们在对结果进行推测时,要承认我们的无知,所以要最大化不确定性,以得到最客观的结果。而对于最小熵原理,则是要最小化每个分箱内的不确定性。跟下面介绍的聚类方法不一样,这里的无监督模型,是为了更好的分组,进而进行数据平滑处理。而后面的聚类是直接把噪声数据删除。 链接:最小熵原理 5.3.2 数据平滑方法数据平滑方法又可以细分为:平均值平滑、边界值平滑和按中值平滑。 排序后的数据:4, 8, 9, 15, 21, 21, 24, 25, 26, 28, 29, 34。以下例子按照等深分箱处理。 5.3.2.1 平均值平滑对同一箱值中的数据求平均值,用平均值替代该箱子中的所有数据。 5.3.2.2 边界值平滑用距离较小的边界值替代箱中每一数据。 取箱子的中值,用来替代箱子中的所有数据。 可以通过如聚类如k-means来检测离群点。聚类将类似的值组织成群或“簇”。那些落在簇之外的值(孤立点),这些孤立点被视为噪声。同离群点的处理方式。 k均值聚类法将观测值聚为k类,但在聚类过程中需要保证分箱的有序性:第一个分箱中所有观测值都要小于第二个分箱中的观测值,第二个分箱中所有观测值都要小于第三个分箱中的观测值,等等。 可以用一个函数拟合数据来光滑数据。这种技术称之为回归。即让数据适合一个函数来平滑数据,通过建立数学模型来预测下一个数值。通过,包括线性回归和非线性回归。 线性回归涉及找出拟合两个属性(或变量)的“最佳”直线,使得一个属性可以用来预测另一个。 多元线性回归是线性回归的扩充,其中涉及的属性多余两个,并且数据拟合到一个多维曲面。 六、利用Python进行数据离散化pandas中的cut(),qcut()用来把一组数据分割成离散的区间。 6.1 使用pd.cut()pd.cut(),按照数据值的大小(从最大值到最小值进行等距划分)进行划分。每个间隔段里的间隔区间都是相同的,统一区间。 pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False, duplicates='raise') 参数含义 补充:duplicates:是否允许重复区间。有两种选择:raise:不允许,drop:允许。![]() |
CopyRight 2018-2019 实验室设备网 版权所有 |