数据挖掘-数据预处理

来自🥬🐶程序员 Truraly | 田园 的博客,最新文章首发于:田园幻想乡 | 原文链接 | github (欢迎关注)

文章目录

    • [3.3.1 数据的中心趋势](#3.3.1 数据的中心趋势)
    • [3.4 数据清洗](#3.4 数据清洗)
      • [3.4.1 缺失值](#3.4.1 缺失值)
      • [3.4.2 数据清洗](#3.4.2 数据清洗)
    • [3.5 数据集成和转换](#3.5 数据集成和转换)
      • [3.5.3 数据转换](#3.5.3 数据转换)
    • [3.6 数据规约和数据变换](#3.6 数据规约和数据变换)
      • [3.6.2 数据离散化](#3.6.2 数据离散化)

数据类型:

  1. 名称型:区别性 比如:性别
  2. 顺序型:区别性,顺序性 比如:身高
  3. 间隔型:区别性,顺序性,可加减 比如:温度
  4. 比率型:区别性,顺序性,可加减,可乘除 比如:百分比

为什么要预处理数据:

  1. 数据不完整,比如缺失值
  2. 数据不一致,比如单位不一致
  3. 有噪声,比如错误数据

3.3.1 数据的中心趋势

平均数和加权平均数

首先这里有一组数据

复制代码
1,,53,22,39,73,9,14

(算数)平均值:

x ‾ = 1 n ∑ i = 1 n x i \overline{x}=\frac{1}{n}\sum_{i=1}^{n}x_{i} x=n1∑i=1nxi

加权平均值:

x ‾ = ∑ i = 1 n w i x i ∑ i = 1 n w i \overline{x}=\frac{\sum_{i=1}^{n}w_{i}x_{i}}{\sum_{i=1}^{n}w_{i}} x=∑i=1nwi∑i=1nwixi

其中: w i 是权重 x i 是数据 其中: w_{i} 是权重 x_{i} 是数据 其中:wi是权重xi是数据

众数,中位数和均值

参考资料:偏态分布的左偏右偏如何理解?| 知乎

众数:出现次数最多的数

中位数:将数据从小到大排列,中间的数

均值:平均数

上图情况为左偏态,反之为右偏态,中间为正态

描述数据的离散程度 & 箱线图

参考资料:箱形图 | 百度

  • 最小值(0 分位数)Q0
  • 最大值(1 分位数)
  • 中位数(0.5 分位数)Q2 (n+1)/2 位
  • 四分位数(0.25 分位数,0.75 分位数)Q1 Q3 (n+1)/4 位 (3n+3)/4 位

中间四分位数极差:IQR = Q3 - Q1

上限:Q3 + k * IQR

下限:Q1 - k * IQR

k 为一个常数,经验值为 1.5,区间外的数据为离群点,可根据情况忽视或者删除

txt 复制代码
EG:

1 2 2 5 6 9 9
Q0 = 1
Q1 = 2
M = 5
Q3 = 9


1 2 2 5 6 7 8 9 9
Q0 = 1
Q1 = 第2.5位 = 2
M = 第5位 = 6
Q3 = 第7.5位 = 8*0.5+9*0.5 = 8.5

1 2 3 4 5 6 7 8
Q0 = 1
Q1 = 第2.25位 = 2*0.75+3*0.25 = 2.25
M = 第4.5位 = 4.5
Q3 = 第6.75位 = 6*0.25+7*0.75 = 6.75

其他描述数据的方法

直方图:横轴为数据,纵轴为频数

分位图:横轴为数据,纵轴为累计频数

Q-Q 图:横轴为理论分位数,纵轴为样本分位数

散点图:横轴为数据,纵轴为数据

3.4 数据清洗

3.4.1 缺失值

缺失值的处理:

  1. 整条数据删除
  2. 人工填写
  3. 填写统一值
  4. 使用均值或者中位数填写(减少数据的方差)
  5. 使用类似数据的均值或者中位数填写(进一步减少影响)

3.4.2 数据清洗

针对数据的噪声,比如错误数据,重复数据,不一致数据

使用分箱方法,将数据分为多个箱子,然后将箱子中的数据替换为箱子的均值,这样可以减少噪声的影响(数据平滑)

  • 等宽分箱:将数据分为相同宽度的箱子,比如 0-10,10-20,20-30,依次将数据放入对应的箱子(箱子内数据不一致)。宽度一般为

w = m a x ( d a t a ) − m i n ( d a t a ) N w=\frac{max(data)-min(data)}{N} w=Nmax(data)−min(data)

  • 等频分箱:将数据平等分为 n 份,每份数据个数相同

EG:

txt 复制代码
4 8 9 15 21 21 24 25 26 28 29 34
等宽分箱:
w = (34-4)/3 = 10
[4,14) | [14,24) | [24,34]
4 8 9 | 15 21 21 | 24 25 26 28 29 34

等频分箱:
w = 12/3 = 4 箱
4 8 9 15 | 21 21 24 25 | 26 28 29 34

3.5 数据集成和转换

3.5.3 数据转换

数据规范化:

  1. 最大最小规范化:将数据转换到某一区间。比如[0,1],公式为:

X ∗ = X − X m i n X m a x − X m i n X^{*}=\frac{X-X_{min}}{X_{max}-X_{min}} X∗=Xmax−XminX−Xmin

  1. Z-Score 规范化:将数据转换为均值为 0,标准差为 1 的数据。公式为:

X ∗ = X − X ‾ S X^{*}=\frac{X-\overline{X}}{S} X∗=SX−X

其中:
X ‾ 为均值 \overline{X} 为均值 X为均值

S 为标准差

S = 1 n ∑ i = 1 n ( X i − X ‾ ) 2 S=\sqrt{\frac{1}{n}\sum_{i=1}^{n}(X_{i}-\overline{X})^{2}} S=n1∑i=1n(Xi−X)2

3.6 数据规约和数据变换

数据立方体聚合:将数据按照维度进行聚合,比如按照时间维度,地理维度,产品维度等

线性回归分析:使用线性方程拟合数据,然后使用方程代替数据

采样方法:对于类似的一个数据簇,可以使用其中一部分数据代替整个簇,要注意在整体中每个簇代替的数据比例要相同

3.6.2 数据离散化

数据离散化:将连续数据转换为离散数据,比如将年龄分为 0-10,10-20,20-30 等

数据离散化的方法:

  1. 基于信息增益的方法:使用熵来衡量数据的离散程度,熵越大,数据越离散,熵越小,数据越集中。使用信息增益来衡量数据的离散程度,信息增益越大,数据越离散,信息增益越小,数据越集中。信息增益的计算公式为:

I ( S , T ) = E n t r o p y ( S ) − ∑ v ∈ T ∣ S v ∣ ∣ S ∣ E n t r o p y ( S v ) I(S,T) = Entropy(S) - \sum_{v\in T}\frac{|S_{v}|}{|S|}Entropy(S_{v}) I(S,T)=Entropy(S)−∑v∈T∣S∣∣Sv∣Entropy(Sv)

其中:

E n t r o p y ( S ) = − ∑ i = 1 n p i l o g 2 p i Entropy(S) = -\sum_{i=1}^{n}p_{i}log_{2}p_{i} Entropy(S)=−∑i=1npilog2pi

S 为数据集, T 为数据集的一个属性, S v 为 T 的一个值, p i 为 S v 中第 i 个类别的概率 S 为数据集,T 为数据集的一个属性,S_{v} 为 T 的一个值,p_{i} 为 S_{v} 中第 i 个类别的概率 S为数据集,T为数据集的一个属性,Sv为T的一个值,pi为Sv中第i个类别的概率

这个东西后面 ID3 决策树会用到

  1. 基于卡方检验的方法:使用卡方检验来衡量数据的离散程度,卡方检验越大,数据越离散,卡方检验越小,数据越集中。卡方检验的计算公式为:

χ 2 = ∑ i = 1 n ( A i − E i ) 2 E i \chi^{2} = \sum_{i=1}^{n}\frac{(A_{i}-E_{i})^{2}}{E_{i}} χ2=∑i=1nEi(Ai−Ei)2

其中:

A i 为实际值, E i 为期望值 A_{i} 为实际值,E_{i} 为期望值 Ai为实际值,Ei为期望值

  1. 基于自然分区的方法:使用人工的方式将数据分为多个区间,比如年龄分为 0-10,10-20,20-30 等

版权声明:本文为 田园幻想乡 的原创文章,遵循 CC 4.0 BY-NA-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:http://truraly.fun/课程笔记/数据挖掘/【3】数据预处理.html

相关推荐
T.D.C4 分钟前
【OpenCV】使用opencv找哈士奇的脸
人工智能·opencv·计算机视觉
大霸王龙21 分钟前
软件工程的软件生命周期通常分为以下主要阶段
大数据·人工智能·旅游
nanzhuhe40 分钟前
sql中group by使用场景
数据库·sql·数据挖掘
yvestine1 小时前
自然语言处理——文本表示
人工智能·python·算法·自然语言处理·文本表示
zzc9211 小时前
MATLAB仿真生成无线通信网络拓扑推理数据集
开发语言·网络·数据库·人工智能·python·深度学习·matlab
点赋科技1 小时前
沙市区举办资本市场赋能培训会 点赋科技分享智能消费新实践
大数据·人工智能
HeteroCat1 小时前
一周年工作总结:做了一年的AI工作我都干了什么?
人工智能
YSGZJJ1 小时前
股指期货技术分析与短线操作方法介绍
大数据·人工智能
Guheyunyi1 小时前
监测预警系统重塑隧道安全新范式
大数据·运维·人工智能·科技·安全