数据集成
- 数据集成
将多个数据源中的数据整合到一个一个一致的存储中- 模式集成
整合不同数据源中的元数据
实体识别问题:匹配来自不同数据源的现实世界的实体- 检测并解决数据值的冲突
对现实世界中的同一实体,来自不同数据源的属性值是不同的
可能的原因:不同的数据表示,不同的度量等- 上述在我看来等于废话……
处理数据集成中的冗余数据
- 集成多个数据库时,经常会出现冗余数据
同一属性在不同的数据库中会有不同的字段名
一个属性可以由另外一个表导出- 有些冗余可以被相关分析检测(Pearson product coefficient)
rA,B=ΣNi=1(Ai−A¯)(Bi−B¯)(N−1)σAσB=ΣNi=1(AiBi)−NA¯B¯NσAσB
其中 A¯为均值 , σ 为标准差
值得注意的是上式取值区间为[-1,1],绝对值越大代表(正负)相关性越强- 仔细将多个数据源中的数据集成起来,能够减少或避免数据中的冗余与不一致性,从而提高数据挖掘的速度和质量
数据变换
- 平滑:去除数据中的噪声(分箱、聚类、回归)
- 聚集:汇总,数据立方体的构建。例如聚集日销售数据,计算月和年销售量。通常这一步用来为多力度数据分析构造数据立方体
- 数据泛化:沿概念分层向上汇报,例如街道可以泛化为更高层的概念如城市和国家;数值属性如年龄可以泛化到较高层概念如青年、中年和老年
- 规范化: 将数据按比例缩放,是指落入一个小的特定区间
最小最大规范化
z-score规范化
小数定标规范化- 属性构造(特征构造)
通过现有属性构造新的属性,并添加到属性集中;以增加对高维数据的结构理解和精确度
数据规范花
- 最小最大规范化—–rescale
v′=v−minAmaxA−minA(new_maxA−new_minA)+new_minA- z-score规范化(零均值规范化,标准差标准化)
v′=v−meanAσA- 小数定标规范化
v′=v10j
其中, j 是使得max(∥v′∥)<1 的最小整数- 数据规范化的python代码
#-*- coding: utf-8 -*-
#数据规范化
import pandas as pd
import numpy as np
datafile = '../data/normalization_data.xls' #参数初始化
data = pd.read_excel(datafile, header = None) #读取数据,矩阵
print (data - data.min())/(data.max() - data.min())*(data_new.max()-data_new.min())+data_new.min() #最小-最大规范化,按列出路
print (data - data.mean())/data.std() #零-均值规范化
print data/10*np.ceil(np.log10(data.abs().max())) #小数定标规范化
更多实例分析详见此链接