数据预处理
数据预处理主要任务
数据清洗(Data cleaning):填充空值、平滑噪声、移出异常...
数据整合(Data integration):整合多个数据库、数据立方或者文件等
数据缩减(Data reduction):降维、数量缩减、数据压缩
数据转化(Data transformation):数据标准化、层级划分
数据清洗
1、不完整数据:例如数据缺属性值等
方法:1、给一个新值类别,比如"unknown",2、给这个属性的均值、众数或其他统计指标
3、样本聚类,给这一类样本中这个属性的均值、众数或其他统计指标
4、用贝叶斯或者决策树等去推测此属性可能的值
2、噪声:例如薪水为 −10 元
方法:1、分桶(平滑) 2、回归(平滑) 3、聚类(检测与移除) 4、机器计算结合人工打标(检测与移除)

3、矛盾数据:例如年龄为 42 岁,但生日在 2010 年
方法:写规则整理数据
4、非合理数据:例如每个人的生日数据都是1月1日
方法:进一步研究或写规则整理数据
数据整合
由于数据从不同源头来,可能出现很多问题比如格式不一或冗余等,比如:鞋号,EU 42和UK 8.0及JP 260其实是表示同样大小鞋子;一个数据来源包含鞋盒长宽数据,另一数据源含鞋盒底面积。
冗余数据可用 correlation analysis 和 covariance analysis来检测
Correlation analysis (针对分类型数据)
χ2 检测: χ2=i∑nEiOi−Ei , Oi为观测值 Ei为期望值

方差[Variance](针对数值型数据(单变量))
协方差[Covariance](针对数值型数据(两变量))
σ12=E[(X1−μ1)(X2−μ2)]=E[X1X2]−μ1μ2=E[X1X2]−E[X1]E[X2]
其中 μ1=E[X1] , μ2=E[X2] ,其实就是期望与加权均值一致
如果 X1与 X2相互独立,则 σ12=0。不可反推!

协方差矩阵[Covariance matrix]
由数据集中两两变量的协方差组成。矩阵的第 (i,j) 个元素是数据集中第 (i,i) 和 (j,j) 个元素的协方差。例如,三维数据的协方差矩阵如下:
C=cov(x1,x1) cov(x1,x2) cov(x1,x3)cov(x2,x1) cov(x2,x2) cov(x2,x3)cov(x3,x1) cov(x3,x2) cov(x3,x3)

Correlation Analysis(针对数值型数据)
X1 与 X2 的相关性通过协方差与他们的标准差获得:ρ12=σ1σ2σ12=σ12σ22σ12
如果ρ12>0则两者正相关,反之负相关,为 0 则两者独立。
数据缩减
目的:1、降维 2、数值减少 3、数据压缩
方法: 1、Regression and Log-Linear Models 2、Histograms, clustering, sampling
3、Data cube aggregation 4、Data compression
数据转化
目的:1、标准化 2、概念层次生成
方法:
1、平滑:将噪声从数据中移除
2、属性/特征构造:从旧特征构造新特征,比如由长宽数据构造面积数据
3、整合:概要(比如各种统计指标均值,方差...),数据立方构造
4、标准化
min-max 标准化: v′=maxA−minAv−minA(new_maxA−new_minA)+new_minA
z-score 标准化: v′=σAv−μA
十进制缩放标准化: v′=10jv, where j is the smallest integer such that Max(∣v′∣)<1
softmax: vi′=∑k=1Kevkevi
数据标准化又叫作数据归一化,是数据挖掘过程中常用的数据预处理方式。当我们使用真实世界中的数据进行分析时,会遇到两个问题:
特征变量之间的量纲单位不同
特征变量之间的变化尺度(scale)不同
特征变量的尺度不同导致参数尺度规模也不同,带来的最大问题就是在优化阶段,梯度变化会产生震荡,减慢收敛速度。经标准化的数据,各个特征变量对梯度的影响变得统一,梯度的变化会更加稳定,如下图

总结起来,数据标准化有以下三个优点:
数据标准化能够是数值变化更稳定,从而使梯度的数量级不会变化过大。
在某些算法中,标准化后的数据允许使用更大的步长,以提高收敛地速度。
数据标准化可以提高被特征尺度影响较大的算法的精度,比如k-means、kNN、带有正则的线性回归。
5、离散化
1、分箱 2、直方图分析 3、聚类分析 4、决策树分析 5、相关性分析( χ2 等)
Source
Last updated