数据挖掘学习------------------1-数据准备-3-数据预处理

来源:互联网 发布:制作条形码的软件 编辑:程序博客网 时间:2024/05/18 02:58

1.3、数据预处理


(1.数据清洗

数据清洗是通过填写缺失的值,光滑噪声数据,识别或删除离群点,并解决不一致性等方式来‘清洗’数据的。

主要任务:填充缺失值和去除噪声

1、缺失值处理

注意:缺失值并不意味着数据有错误。例如:申请信用卡时,可能要求申请人提供驾驶执照号,但他没有,允许他写“不适用”、空、等值。但后来他考过了,又来更新。所以说空值是被允许的,但是需要将这样的空值适当的进行处理或转化。

1)、删除法

当样本量很大而缺失所占样本比例较小(<5%)时,就用此法删除小部分样本来达到目标,否则,就会损失样本量,进而消弱统计功效。

在数据挖掘中。面对的通常是大型数据库,属性几十个或几百个,因为一个属性值的缺失而放弃大量的其他属性值,这种删除法是极大的浪费,那么人们就想到了插补法。

2)、插补法

用最可能的值来插补缺失值。

(1)、均值插补

根据数据属性分为定距属性(用平均值插补)和非定属性(用众数插补)。如果数据符合较规范的分布规律(用中值插补)

(2)、回归插补

利用线性或非线性回归技术得到的数据来对某个变量的缺失数据进行插补。

上面两种方法的例子:

(3)、极大似然估计(ML)

使用前提:大样本。 

通过观察数据的边际分布已知某个参数能够使这个样本的概率最大(期望最大化),我们不会去选择其他小概率样本,所以干脆就把这个参数作为估计的真实值。

ML估计值是渐进无偏的并服从正态分布。

例子:一个学生和猎人,分别对兔子打一枪,兔子倒地,那么谁打中兔子了?你会想只发一枪,猎人命中的概率一般大于这位学生的命中概率,看来这一枪是猎人打中的。

至于怎么求,这里不再阐述,请到这里:http://www.docin.com/touch/detail.do?id=69209095


2、噪声过滤

噪声即数据中存在的数据随机误差。

1)、回归法

回归法是用一个函数拟合数据来光滑数据的。使用回归后的函数值来代替原始的数据,从而避免噪声数据的干扰。

用回归法要符合线性趋势,因此要先可视化,判断数据的趋势和规律。

2)、  均值平滑法

均值平滑法是指对于具有序列特征的变量用邻近的若干数据的均值来代替原始数据的方法。均值平滑法类似于股票中的移动均线,如5日均线,30日均线。

具体连接:http://jingyan.baidu.com/article/c1a3101e8d41c0de646deb49.html?allowHTTP=1

  

3)、离群点分析法

离群点分析法是通过聚类等方法来检测离群点,并将其删除,从而实现去噪的方法。

具体连接:http://m.blog.csdn.net/zaozxueyuan/article/details/22613509

其他

4)、小波去噪法

本质是函数逼近问题,在由小波母函数伸缩和平移所展成的函数空间中,根据提出的衡量标准,寻找对源信号的最佳逼近,以完成

源信号和噪声信号的区别。也就是寻找从实际信号空间到小波函数空间的最佳映射,以便得到源信号的最佳恢复。

小波去噪实际上是特征提取和低通滤波功能的综合。

(2.数据集成

数据集成是把若干个分散的不同来源、格式、性质的数据在逻辑上或物理上有机地集中,以便更方便的进行数据挖掘。

方法:联邦数据库、中间件集成方法和数据仓库方法。

实例:对于某个数据挖掘项目,更多的数据集成主要是数据融合,即表的集成。对于数据表的集成,主要有内接和外接两种方式。

(3.数据归约

数据归约得到的数据简化表示,虽小得多,淡能够产生同样的分析结果。它的策略包括维数归约和数值归约。

从数据挖掘角度常用策略的有属性选择和样本选择 。

1、属性选择

它是通过删除不相关或冗余的属性(维)来减少数据量的。

目的:找到最小的属性集,使得数据类的概率分布尽可能地接近使用所有属性得到的原分布。

筛选更好的属性:利用数据相关性分析、数据统计分析、数据可视化和主成分分析技术,选择删除一些属性。还有就是看属性与挖掘目标的关联程度及属性本身的数据质量,根据数据质量评估结果,可以删除一些属性。

2、样本选择

它说的是数据抽样(前章说过),对样本的选择不是在收集阶段就确定的,而是有一个逐渐筛选、逐级抽样过程。

这里再具体介绍下三种具体抽样方法:

(1)、随机抽样:使用条件样本母体基数大和样本质量均衡

(2)、顺序抽样:按顺序取样,比如取前1000个数据作为样本。使用条件样本质量均衡。

(3)、监督抽样:进行监督检查之后再抽样,使用条件样本质量较差。

随着对数据理解的深入,将会进行更细致的数据抽样,这时用的方法就会复杂些,比如相关性分析、主成分分析。这两个数据降维方法,下篇讲。

(4、数据变换

它是将数据从一种表示变成另一种表现形式的过程。常用的数据变换方式是数据的标准化、离散化和语义转换。

1、标准化

数据标准化是将数据按比例缩放,落在小区间中,取出数据的单位限制,将其转化为无钢量纯数值,便于不同单位或量级的指标能够进行比较和加权。
 

1)、0-1 标准化(离差标准化)

它是对原始数据的线性变换,是结果落在【0,1】区间。

公式:(x*:转化后的值  ; min:最小值 ; max:最大值)

缺点:当有新数据加入时,可能导致max和min值变化,需要重新定义

2)、Z标准化(标准差标准化)

它经过处理的数据符合标准的正态分布,即均值为0,标准差为1。

公式:(x*:转化后的值  ;μ:均值  ;σ :标准差 )

2、离散化

它是指把连续型数据按照一定规则切分成若干区间或段,也成‘bin’,同时对每个区间用1个符号代替。
例如:某些分类算法,要求数据时分类属性形式,这需要将连续属性变换成分类属性。
再如下图:
 
在定义好坏股票时,出现的数据是连续的就可以用数据离散化的方法刻画股票的好坏。
缺点:离散化处理会损失一部分数据,所以要根据业务、算法等因素的要求综合考虑。
离散化在数据挖掘中普遍使用原因:
1)、算法需要
例如:在运算决策树和NaiveBayes模型前,软件都要在后台对数据先做预处理,而他们本身不能直接使用连续型变量,连续型变量只能经过离散化才能进入算法引擎。

2)、克服数据中隐藏的缺陷,使模型更加稳定。

例如:数据中的极端值导致模型参数过高过低, 或导致模型被虚假现象“迷惑”,把原来不存在的关系作为重要模式来学习,而是用等距离散,可以有效的减弱极端值和异常值的影响。

3)、对非线性关系进行诊断和描述:对连续型数据进行离散处理后,使自变量和目标变量之间关系清晰化。

例如:两者非线性关系,可以重新定义离散后变量的每段的取值,如采用0.1形式,有一个变量派生为多个亚变量,分别确定每段和目标关系。

3、语义转换

它是将复杂的属性值由字符型代替。
例如:上面图片例子中,该属性为“股票类别”,该属性值为{非常好,好,一般,差,非常差},对于这种变量,在数据挖掘时非常不方便,切会占用更多地计算机资源,所以要进行语义转化,变成数值{1,2,3,4,5}来同步替换原来的属性值。