数据预处理

1.数据预处理的步骤。
数据预处理有四个步骤:数据清理、数据集成、数据规约、数据变换。
数据清理: 现实世界的数据一般是不完整的、有噪声的盒不一致的。数据清理例程试图填充缺失的值、光滑噪声并识别离群点、纠正数据中的不一致。
数据集成: 合并来自多个数据存储的数据。
数据规约: 可以用来得到数据集的规约表示,它小得多,但仍接近于保持原始数据的完整性。
2.数据质量的评估,举出例子。
数据质量用准确性、完整性、一致性、时效性、可信性和可解释性进行评估,对于随时间变化的时间序列数据时效性就显得特别重要。
3.数据缺失值得处理方法。
(1)忽略元组: 当该元组有多个缺失值,大于5%。
(2)人工填写缺失值: 一般来说,该方法很费时,数据大时不适用。
(3)使用一个全局常量填充缺失值: 将缺失值用同一个常量替换(如“Unknown”),该方法简单但不可靠。
(4)使用属性的中心度量(如均值或中位数)填补缺失值: 对于对称的数据使用均值,对于倾斜的数据使用中位数。
(5)使用与给定元祖属性同一类的所有样本的属性均值或中位数。
(6)使用最可能的值填充: 可以使用回归、使用贝叶斯形式化方法的基于推理的工具或决策树归纳确定。
4.考虑数据集成需要考虑的问题。
(1)识别实体问题: 来自多个信息源的现实世界的等价实体如何才能“匹配”。
(2)冗余和相关分析: 对数据进行先关分析以减少冗余数据,标称数据的卡方相关检验,数值数据的相关系数,数值数据的协方差,元组重复。
(3)数值冲突的检测与处理。
5.使用如下方法规范如下数据组:200,300,400,600,1000
(a).令min =0,max = 1,最小-最大规范化。
最小-最大规范化: v i ′ = v i − m i n A m a x A − m i n A ( n e w m a x A − n e w m i n A ) + n e w m i n A v^{'}_i =\frac{v_i-min_A}{max_A-min_A}(newmax_A - newmin_A) + newmin_A vi=maxAminAviminA(newmaxAnewminA)+newminA
把A的值v映射到区间[newmin,newmax]中。
规范化后的数据:0.0,0.125,0.25,0.5,1.0
(b)z分数规范化。
z分数规范化: v i ′ = v i − μ A σ A v^{'}_i =\frac{v_i-μ_A}{σ_A} vi=σAviμA
附:用python快速求出数据“五数”:

import pandas as np
num = [200,300,400,600,1000]
df = pd.DataFrame(num)
df.describe()

result:
count     5.000000
mean    500.000000
std     316.227766
min     200.000000
25%     300.000000
50%     400.000000
75%     600.000000
max    1000.000000

z分数规范化后:-0.95,-0.63,-0.32,0.32,1.58
©z分数规范化,使用均值绝对偏差而不是标椎差。
均值绝对偏差:
S A = 1 n ( ∣ v 1 − μ A ∣ + ∣ v 2 − μ A ∣ + … + ∣ v n − μ A ∣ ) S_A = \frac{1}{n}(|v_1-μ_A| +|v_2 - μ_A| + …+|v_n -μ_A|) SA=n1(v1μA+v2μA++vnμA)
使用均值绝对差的z分数规范化为:
v i ′ = v i − μ A S A v^{'}_i =\frac{v_i-μ_A}{S_A} vi=SAviμA
z分数规范化后:-1.25,-0.83,-0.42,0.42,2.08
(d)小数定标规范化。
小数定标规范化:
v i ′ = v i 1 0 j v^{'}_i = \frac{v_i}{10^j} vi=10jvi
其中j是使得max(|规范化后的数 |) <1。
小数规范化后的数据:0.02,0.03,0.04,0.06,0.1

你可能感兴趣的:(数据挖掘)