数据预处理2
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据类型 Int Date String Real Short int real
说明 客户标志 交易日期 商品名称 商品价格 商品数量 总价格
表2 客户交易数据表
数据集成—数据值冲突
➢ 在多个数据源中,表示同一个实体的属性值可能不同, 这些不同表现在数据值、数据类型、数量单位等方面。
➢产生的原因:表示的差异、比例尺度不同或编码的差 异等。例如:对于客户的收入,在一个数据源中可能表 示为元,而在另一个数据源中可能表示为千元; 对于银行客户(是否是会员客户),一个数据源可以用 布尔型数据表示,而另一个数据源可以用字符型表示。
要 –删除了某些不一致的数据
数据预处理的目的
➢为数据挖掘过程提供干净、准确、简洁的数 据 ➢减少数据处理量,提高数据挖掘的效率和准 确性 ➢没有高质量的数据就没有高质量的挖掘结果
3.2 数据预处理的主要任务
➢数据清理 去除噪声和无关数据
➢数据集成 将多个数据源中的数据结合起来存放 在一个一致的数据存储中
当然若是考察的是年龄段跟出生月份对消费特征的影响这两个属性就不表示相同的信息在重复性感兴趣的属性缺少属性值数据输入时数据输入时与挖掘任务相关的数据可能被认为不重要删除了某些不一致的数据与挖掘任务相关的数据可能被认为不重不完整性数据预处理的目的?为数据挖掘过程提供干净准确简洁的数据据?减少数据处理量提高数据挖掘的效率和准确性?没有高质量的数据就没有高质量的挖掘结果3
)
A
new _
min
A
❖示例1:假设属性income的最大值最小值分别是12,000元和98,000元, 若要利用最大最小规格化方法将属性income的值映射到0至1的范围内, 那么对属性income的73,600元将被转换为
73,600 12,000 (1.0 0.0) 0.176 98,000 12,000
3.2.3 数据变换
数据变换就是将数据转换成适合于挖掘的形式。
数据变换可能涉及如下内容: ➢平滑 ➢聚集 ➢数据概化 ➢规范化 ➢属性构造
数据变换—聚集
聚集就是对数据进行汇总 例如:每天销售额(数据)可以进行合计操作以获得每月
或每年的总额。
数据变换—数据概化
❖数据概化是指用更高层次的概念来取代低层次“原始” 数据。主要原因是数据挖掘过程可能不需要那么细化的 概念,它们的存在会使数据挖掘过程花费更多时间,增 加了复杂度。 ❖例如:
重复性
实际使用过程中出现的意义相同或者可以表示同 一信息的多个属性,例如:年龄跟出生日期。在 一次数据挖掘中,若考察的是年龄段跟消费特征 的关系,这两个属性便为重复的。(当然若是考 察的是年龄段跟出生月份对消费特征的影响,这 两个属性就不表示相同的信息)
不完整性
–感兴趣的属性缺少属性值 –数据输入时,与挖掘任务相关的数据可能被认为不重
❖规范化主要方法有: 最小-最大规范化 零-均值规范化 小数定标规范化
最小—最大规范化
❖已知属性的取值范围,将原取值区间[old_min,old_max]映射到 [new_min,new_max]上主要通过如下公式计算
v'
v
max
min A A min
A
(new _
max
A
new
_
min
噪声数据的处理--平滑处理
按中值平滑:取箱子的中值,用来替代箱子中的所有数据。 设定区间范围(箱子宽度)为1000元人民币,上述例子分箱后的结果如
下: 箱1:800 1000 1200 1500 1500 1800 箱2:2000 2300 2500 2800 3000 箱3:3500 4000 4500 箱4:4800 5000 对上面的结果按中值平滑: 箱1: 1350 1350 1350 1350 1350 1350 箱2: 2500 2500 2500 2500 2500 2500 箱3: 4000 4000 4000 箱4: 4900 4900
一个实体呢?这就要利用元数据(关于数据的数据),这
可以避免模式集成中的错误。
属性名称 数据类型
属性名称 数据类型 说明
Customer_id Int
Id
Short int 客户标志
Time
Date
Gender
Boolean 性别
Goods
String
Birth
Date
出生日期
Price
Real
Type
噪声数据的处理—平滑处理
按边界值平滑:对于每个数据,观察它与箱子两个边界 值的距离,用距离较小的那个边界值替代该数据。 设定区间范围(箱子宽度)为1000元人民币,上述例子分箱后的结果 如下:
箱1:800 1000 1200 1500 1500 1800 箱2:2000 2300 2500 2800 3000 箱3:3500 4000 4500 箱4:4800 5000 对上面的结果按边界平滑: 箱1:800 800 800 1800 1800 1800 箱2:2000 2000 2000 3000 3000 箱3:3500 3500 4500 箱4:4800 5000
噪声数据的处理—聚类
聚类:孤立点可以被聚类检测。聚类将类似的值组织成群,直观的看, 落在聚类集合之外的值被视为孤立点。
图中共形成了三个聚类,“+”号用来表示聚类的质心。聚类的质心就是 聚类的平均点。不在任何聚类中的点称为孤立点,就是要去掉的噪声数 据。
噪声数据的处理—回归
❖回归:通过让数据适应回归函数来平滑数据。
噪声数据的处理—分箱
等宽分箱法(统一区间):数据集在整个属 性值的区间上平均分布,每个箱子的区间范围 是一个常量。 例如客户收入属性income排序后的值(人民币元):800 1000 1200 1500 1500 1800 2000 2300 2500 2800 3000 3500 4000 4500 4800 5000
数据清理--噪声数据
噪声数据的处理方式:
①分箱按箱平均值平滑,按箱中值平滑, 按箱边界平滑
②聚类 聚类将相似的值组织成群或类,落 在群或类外的值就是孤立点,也就是噪 声数据
③回归 让数据适合一个函数来平滑数据
噪声数据的处理—分箱
❖分箱:是指把待处理的数据(某列属性值) 按照一定的规则放进一些箱子中,考察每个箱 子中的数据,并采用某种方法对每个箱子中的数据进 行处理。 ❖箱子:就是指按照属性值划分的子区间;也就是说 若一个属性值处于某个子区间范围内就把该属性值放 进这个子区间代表的箱子里。
噪声数据的处理—平滑处理
分箱后对数据进行平滑处理 ①按平均值平滑:对同一箱值中的数据求平均 值,用平均值代替该箱子中的所有数据。 设定区间范围(箱子宽度)为1000元人民币,上述例子分箱后的结 果如下:
箱1:800 1000 1200 1500 1500 1800 箱2:2000 2300 2500 2800 3000 箱3:3500 4000 4500 箱4:4800 5000 对上面的结果按平均值平滑: 箱1: 1300 1300 1300 1300 1300 1300 箱2: 2520 2520 2520 2520 2520 箱3: 4000 4000 4000 箱4: 4900 4900
➢数据变换 把原始的数据转换成适合数据挖掘的 形式
➢数据规约 是数据的范围减少,但数据集保持了 原有数据集的完整性
3.2.1 数据清理
数据清理
脏数据
“干净”数 据
重复数据清理和缺省数据清理,以及数据类型变换
数据清理可能要解决的问题
空缺值处理 噪声数据处理
数据清理--空缺值
空缺值的处理方式: ①忽略该记录 ②人工填写空缺值 ③使用一个全局常量填充空缺值 ④使用属性的平均值填充空缺值 ⑤使用与给定元组属同一类的所有样本的平均 值
数据集成—数据冗余
❖冗余是指重复存在的信息,数据冗余的存在使得挖掘程 序需要对相同的信息进行重复处理,增加了数据挖掘的复 杂性,降低挖掘效率。 ❖例如:上面表2客户交易数据表中total_price属性,其实际上可以通 过商品价格和数量两个属性计算得到,这样就产生了数据冗余。
属性名称 Customer_id Time Goods Price Count Total price
零—均值规范化 (z—score规范化)
❖根据属性A的均值和标准差来对A进行规格化,常用于最 大值与最小值未知的情况,其计算公式如下:
素使得属性值缺失或者不确定。 ※含噪声 噪声是指测量变量中的随机错误或偏离期望
的孤立点值。
杂乱性
❖不同数据库中的同义异名情况如Customer的 cust_id,cust_number。 ❖不同数据库采用的度量标准可能不同,如性 别:'male'或'female'、'男'和'女'。 ❖对同一属性定义的类型不同,如工资,有的 定义为int型,有的则定义为double型。
1.Street可以概化为较高层的概念,如city或 country
2.Age可以概化为较高层概念,如young, middle-age, senior.
数据变换—规范化
❖规范化是指将数据按比例进行缩放,使之落入一个小 的特定区域,加快训练速度,以消除数值型属性因大小 不一而造成挖掘结果的偏差。 ❖例如可以将工资收入属性值映射到[-1.0,1.0]范围内。
Y
Y1
Y1'
y=x+1
X1
X
3.2.2 数据集成
数据集成
数据集成:将多个数据源中的数据结合起来存放在一个一致的数据存储中。 在数据集成过程中,通常需要考虑模式匹配、数据冗余、数据值冲突这几个 问题。
数据集成—模式集成
模式集成:主要是实体识别问题,比如如何确定一个数据
库中的id和另一个数据库中的customer_id所指的实体是同
Boolean 是否会员
Count
Short int
income
Short int
月收入 (元)
Total price real
说明 客户标志
交易日期 商品名称 商品价格 商品数量
总价格
表1 客户基本情况表
表2客户交易数据表
数据集成—模式集成
针对上面两个表,若用户希望发现客户背景和客户购买类型、 购买力的关系,针对数据挖掘的需要,数据预处理时需要将 两张表集成为一个数据挖掘源。 两张表可以通过“客户标志”关联,但是如表所示的两张表 的客户标志的属性名称不同,所以集成时需要采用可靠的手 段来确定id和customer_id是同一个信息。(可以依靠元数 据),同时,二者的数据类型也不相同,必须统一为相同的 类型。
例如:客户收入属性income排序后的值(人民币元): 800 1000 1200 1500 1500 1800 2000 2300 2500 2800 3000 3500 4000 4500 4800 5000
设定权重(箱子深度)为4,上述例子分箱后的结果 如下:
箱1:800 1000 1200 1500 箱2:1500 1800 2000 2300 箱3:2500 2800 3000 2300 箱4:4000 4500 4800 5000
设定区间范围(箱子宽度)为1000元人民币,上述例子 分箱后的结果如下:
箱1:800 1000 1200 1500 1500 1800 箱2:2000 2300 2500 2800 3000 箱3:3500 4000 4500 箱4:4800 5000
噪声数据的处理—分箱
用户自定义区间:用户根据需要自定义区间 例如客户收入属性income排序后的值(人民 币元):800 1000 1200 1500 1500 1800 2000 2300 2500 2800 3000 3500 4000 4500 4800 5000
用户自定义:如将客户收入划分为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
数据挖掘中的数据预处理
主要内容
3.1 数据预处理概论 3.2 数据预处理的主要任务 3.3 离散化和概念分层生成
3.1 预处理概论
原始数据中存在的问题: ※杂乱性 系统的数据缺乏统一的标准和定义。 ※重复性 同一事物在数据库中存在两条或多条完全相
同的记录。 ※不完整 系统设计个主要问题是: 如何分箱 如何对每个箱子中的数据进行平滑处理
噪声数据的处理—分箱
分箱之前需要对记录集按目标属性值得大小进行排序 分箱的方法主要有:
※等深分箱法 ※等宽分箱法 ※用户自定义区间
噪声数据的处理--分箱
等深分箱法:每箱具有相同的记录数,每箱记录数称为箱 的权重,也叫做箱子的深度。