0


数据挖掘之数据预处理

数据质量

被广泛接受的数据质量的测量标准:

  • 准确性
  • 完整性(存在缺失值)
  • 一致性
  • 合时性(数据过时)
  • 可信性(数据库来源)
  • 解释性

数据预处理

数据预处理的目的是,提高数据质量

主要任务

  • 数据清理 - 填写缺失值- 平滑噪声数据- 识别或删除离群- 解决不一致问题
  • 数据集成 - 整合多个数据库- 多维数据集或文件
  • 数据缩减 - 降维- 降数据(Numerosity reduction)- 数据压缩
  • 数据转换和数据离散化 - 规范化- 离散化

数据清洗

处理缺失值

  • 忽略元组(即删除单一对象)当类标号缺少时通常这么做(监督式机器学习中训练集缺乏类标签)- 类标号指的是预测类型的训练集中,最后的预测结果缺失当每个属性(即字段)缺少值比例比较大,效果比较差- 这种情况下,会使得数据集规模变小太多- 可以考虑删除单一属性
  • 手动填写:工作量大
  • 自动填写:使用属性的平均值填充(常用)
df_values=df_values.drop((miss_data[miss_data['total']>200]).index,axis=1)
df_values['pres'].fillna(df_values['pres'].mean(),inplace=True)
df_values['mass'].fillna(df_values['mass'].mean(),inplace=True)
df_values['plas'].fillna(df_values['plas'].mean(),inplace=True)

处理噪音数据

  • 箱型图检测离群数据:删除离群点当离群点很多时,也会导致数据集规模变小

在这里插入图片描述

处理不一致的数据

  • 计算推理、替换
  • 全局替换

数据集成

数据集成:将来自多个数据源的数据组合成一个连贯的数据源

在这里插入图片描述

模式集成

  • 即当两个数据集的字段名不同,但是表达内容相同时,进行集成处理

在这里插入图片描述

实体识别问题

  • 当其中一个数据集,名字用的是中文名,但是另一个数据集用的是英文名
  • 但是他们表达的是同一个人(即同一个实体,因此在这种环境下,我们需要对实体识别,再集成)

在这里插入图片描述

数据冲突检测和解决

  • 对于同一个真实世界的实体,来自不同源的属性值
  • 可能的原因:表述方式的不同,尺度的不同(如公制与英制单位)

即如上图,描述高度这个实体,这个数值不一样(单位不一样)

冗余信息的处理

如:一个数据集中有3000m的成绩,另一个有5000m的成绩,则集成为跑步能力进行衡量

  • 相同属性或对象可能有不同的文字在不同的数据库中
  • 一个属性可能是“派生”的另一个表中的属性,例如跑步能力
  • 通过相关性分析和协方差分析可以检测到冗余的属性
  • 仔细集成来自多个数据源,可能有助于减少/避免冗余和不一致的地方,并提高读取速度和质量

在这里插入图片描述

相关分析——离散变量

     卡方测试
    
    
    
     
      χ
     
     
      2
     
    
    
     (
    
    
     c
    
    
     h
    
    
     i
    
    
     −
    
    
     s
    
    
     q
    
    
     u
    
    
     a
    
    
     r
    
    
     e
    
    
     )
    
    
     t
    
    
     e
    
    
     s
    
    
     t
    
    
    
     
      χ
     
     
      2
     
    
    
     =
    
    
     ∑
    
    
     
      
       (
      
      
       O
      
      
       b
      
      
       s
      
      
       e
      
      
       r
      
      
       v
      
      
       e
      
      
       d
      
      
       −
      
      
       E
      
      
       x
      
      
       p
      
      
       e
      
      
       c
      
      
       t
      
      
       e
      
      
       d
      
      
       
        )
       
       
        2
       
      
     
     
      
       E
      
      
       x
      
      
       p
      
      
       e
      
      
       c
      
      
       t
      
      
       e
      
      
       d
      
     
    
    
    
     ∙
    
    
     
      χ
     
     
      2
     
    
    
     值越大,越有可能变量是相关的
    
    
    
     ∙
    
    
     相关性并不意味着因果关系
    
   
   
     卡方测试\\ \chi^2(chi-square)test\\ \chi^2=\sum\frac{(Observed-Expected)^2}{Expected}\\ \bullet \chi^2值越大,越有可能变量是相关的\\ \bullet 相关性并不意味着因果关系 
   
  
 卡方测试χ2(chi−square)testχ2=∑Expected(Observed−Expected)2​∙χ2值越大,越有可能变量是相关的∙相关性并不意味着因果关系

在这里插入图片描述

  • 第一个数是统计值,既喜欢下棋,又喜欢科幻小说
  • 括号里的值是期望值
  • 期望值的计算是通过对应行合计对应列合计/总数如450300/1500=90
  • 得到期望值和统计值之后,就可以得到对应的卡方测试

在这里插入图片描述

相关分析——连续变量

连续变量没有办法对统计值和期望值进行计数

  • 相关系数——皮尔逊相关系数

  • 可用corr()得到相关系数矩阵后,使用热力图

       皮尔逊相关系数
      
      
      
       
        r
       
       
        
         p
        
        
         ,
        
        
         q
        
       
      
      
       =
      
      
       
        
         ∑
        
        
         (
        
        
         p
        
        
         −
        
        
         
          p
         
         
          ‾
         
        
        
         )
        
        
         (
        
        
         q
        
        
         −
        
        
         
          q
         
         
          ‾
         
        
        
         )
        
       
       
        
         (
        
        
         n
        
        
         −
        
        
         1
        
        
         )
        
        
         
          σ
         
         
          p
         
        
        
         
          σ
         
         
          q
         
        
       
      
      
       =
      
      
       
        
         ∑
        
        
         (
        
        
         p
        
        
         q
        
        
         )
        
        
         −
        
        
         n
        
        
         
          p
         
         
          ‾
         
         
        
         
          q
         
         
          ‾
         
        
       
       
        
         (
        
        
         n
        
        
         −
        
        
         1
        
        
         )
        
        
         
          σ
         
         
          p
         
        
        
         
          σ
         
         
          q
         
        
       
      
     
     
       皮尔逊相关系数\\ r_{p,q}=\frac{\sum(p-\overline{p})(q-\overline{q})}{(n-1)\sigma_p\sigma_q}=\frac{\sum(pq)-n\overline{p}\,\overline{q}}{(n-1)\sigma_p\sigma_q} 
     
    

    皮尔逊相关系数rp,q​=(n−1)σp​σq​∑(p−p​)(q−q​)​=(n−1)σp​σq​∑(pq)−np​q​​

  • 其中n是元组的数目,而p和q是各自属性的具体值,** σ p \sigma_p σp​和 σ q \sigma_q σq​是各自的标准偏差**

  • 当r>0是,表示两变量正相关;r<0时,两变量负相关

  • 当|r|=1时,表示两变量为完全线性相关,即函数关系

  • 当r=0时,表示两变量间无线性相关关系

  • 当0<|r|<1,表示两变量存在一定程度的线性相关。- 而且当|r|越接近1,两变量间线性关系越密切;- |r|越接近于0时,表示两变量的线性相关越弱。

  • 一般可按三级划分- |r|<0.4为低度线性相关- 0.4<=|r|<0.7为显著性相关- 0.7<=|r|<1为高度线性相关

协方差

  • 协方差也用于表示两组数据的相关性

       协方差与相关系数的转化
      
      
      
       
        r
       
       
        
         p
        
        
         ,
        
        
         q
        
       
      
      
       =
      
      
       
        
         C
        
        
         o
        
        
         v
        
        
         (
        
        
         p
        
        
         ,
        
        
         q
        
        
         )
        
       
       
        
         
          σ
         
         
          p
         
        
        
         
          σ
         
         
          q
         
        
       
      
     
     
       协方差与相关系数的转化\\ r_{p,q}=\frac{Cov(p,q)}{\sigma_p\sigma_q} 
     
    

    协方差与相关系数的转化rp,q​=σp​σq​Cov(p,q)​

       协方差公式
      
      
      
       C
      
      
       o
      
      
       v
      
      
       (
      
      
       p
      
      
       ,
      
      
       q
      
      
       )
      
      
       =
      
      
       E
      
      
       (
      
      
       (
      
      
       p
      
      
       −
      
      
       
        p
       
       
        ‾
       
      
      
       )
      
      
       (
      
      
       q
      
      
       −
      
      
       
        q
       
       
        ‾
       
      
      
       )
      
      
       )
      
      
      
       =
      
      
       
        
         
          ∑
         
         
          
           i
          
          
           =
          
          
           1
          
         
         
          n
         
        
        
         (
        
        
         
          p
         
         
          i
         
        
        
         −
        
        
         
          p
         
         
          ‾
         
        
        
         )
        
        
         (
        
        
         
          q
         
         
          i
         
        
        
         −
        
        
         
          q
         
         
          ‾
         
        
        
         )
        
       
       
        n
       
      
      
      
       可简化为:
      
      
      
       C
      
      
       o
      
      
       v
      
      
       (
      
      
       A
      
      
       ,
      
      
       B
      
      
       )
      
      
       =
      
      
       E
      
      
       (
      
      
       A
      
      
       ∗
      
      
       B
      
      
       )
      
      
       −
      
      
       
        A
       
       
        ‾
       
       
      
       
        B
       
       
        ‾
       
      
     
     
       协方差公式\\ Cov(p,q)=E((p-\overline{p})(q-\overline{q}))\\ =\frac{\sum_{i=1}^n(p_i-\overline{p})(q_i-\overline{q})}{n}\\ 可简化为:\\ Cov(A,B)=E(A*B)-\overline{A}\,\overline{B} 
     
    

    协方差公式Cov(p,q)=E((p−p​)(q−q​))=n∑i=1n​(pi​−p​)(qi​−q​)​可简化为:Cov(A,B)=E(A∗B)−AB

  • 其中n是元组的数目,而p和q是各自属性的具体值,** σ p \sigma_p σp​和 σ q \sigma_q σq​是各自的标准偏差**

  • 正相关: C o v ( p , q ) > 0 Cov(p,q)>0 Cov(p,q)>0

  • 负相关: C o v ( p , q ) < 0 Cov(p,q)<0 Cov(p,q)<0

  • 独立性: C o v p ( p , q ) = 0 Covp(p,q)=0 Covp(p,q)=0

  • 可具有某些对随机变量的协方差为0,但不是独立的

  • 需要一些额外的假设,例如数据是否服从多元正态分布,做了协方差为0意味着独立

注意:

  • 独立性 ⇒ C o v ( p , q ) = 0 \Rightarrow Cov(p,q)=0 ⇒Cov(p,q)=0
  •                                     C                            o                            v                            (                            p                            ,                            q                            )                            =                            0                            ⇏                                  Cov(p,q)=0\nRightarrow                     Cov(p,q)=0⇏独立性
    

数据规约

  • 由于数据仓库可以存储TB的数据,因此在一个完整的数据集上运行时,复杂的数据分析可能需要一个很长的时间

降维

将高维数据,通过一些方法将高维数据变成低维数据

例如:面对一份成绩的数据集,有6个科目作为属性(语数英物化生),我们可以通过降维将属性变成——文科成绩和理科成绩两个维度

  • 原因:- 随着维数的增加,数据会变得越来越稀疏- 例如在病例的数据集中,随着维度的增加,会有大量的正常值涌出,使得我们需要关注的生病数据被淹没- 子空间的可能的组合将成倍增长- 基于规则的分类方法,建立的规则将组合成倍增长- 维度越高,可能会导致特征的规则越复杂- 类似神经网络的机器学习方法,主要需要学习各个特征的权值参数。特征越多,需要学习的参数就越多,则模型越复杂 y ^ = s i g n ( ω 1 x 1 + ω 2 x 2 + . . . + ω d x d − t ) \widehat{y}=sign(\omega_1x_1+\omega_2x_2+...+\omega_dx_d-t)\ y​=sign(ω1​x1​+ω2​x2​+...+ωd​xd​−t)- 机器学习训练集原则:模型越复杂,需要更多的训练集来学习模型参数,否则模型将欠拟合- 因此,如果数据集维度很高,而训练集数目很少,在使用复杂的机器学习模型的时候,首选先降维- 需要可视化- 当你维度越高时,可视化就越复杂

降维方法——PCA主成分分析

  • PCA主成分分析法核心思想- 数据中很多属性之间可能存在这样或那样的相关性- 能不能找到一个方法,将多个相关性的属性组合仅仅形成一个属性

在这里插入图片描述

  • 主成分分析法主要内容- 设法将原来众多具有一定相关性的属性,重新组合成一组相互无关的综合属性来替代原来属性- 通常数学上的处理就是将原来p个属性作线性组合,作为新的综合属性——即通过线性的加权组合

       定义:记
      
      
       
        x
       
       
        1
       
      
      
       ,
      
      
       
        x
       
       
        2
       
      
      
       ,
      
      
       .
      
      
       .
      
      
       .
      
      
       ,
      
      
       
        x
       
       
        p
       
      
      
       为原变量指标,
      
      
       
        z
       
       
        1
       
      
      
       ,
      
      
       
        z
       
       
        2
       
      
      
       ,
      
      
       .
      
      
       .
      
      
       .
      
      
       ,
      
      
       
        z
       
       
        m
       
      
      
       (
      
      
       m
      
      
       ≤
      
      
       p
      
      
       )
      
      
      
       
        {
       
       
        
         
          
           
            
             
              z
             
             
              1
             
            
            
             =
            
            
             
              l
             
             
              11
             
            
            
             
              x
             
             
              1
             
            
            
             +
            
            
             
              l
             
             
              12
             
            
            
             
              x
             
             
              2
             
            
            
             +
            
            
             .
            
            
             .
            
            
             .
            
            
             +
            
            
             
              l
             
             
              
               1
              
              
               p
              
             
            
            
             
              x
             
             
              p
             
            
           
          
         
        
        
         
          
           
            
             
              z
             
             
              2
             
            
            
             =
            
            
             
              l
             
             
              21
             
            
            
             
              x
             
             
              1
             
            
            
             +
            
            
             
              l
             
             
              22
             
            
            
             
              x
             
             
              2
             
            
            
             +
            
            
             .
            
            
             .
            
            
             .
            
            
             +
            
            
             
              l
             
             
              
               2
              
              
               p
              
             
            
            
             
              x
             
             
              p
             
            
           
          
         
        
        
         
          
           
            
             ⋮
            
            
             
            
           
          
         
        
        
         
          
           
            
             
              z
             
             
              m
             
            
            
             =
            
            
             
              l
             
             
              
               m
              
              
               1
              
             
            
            
             
              x
             
             
              1
             
            
            
             +
            
            
             
              l
             
             
              
               m
              
              
               2
              
             
            
            
             
              x
             
             
              2
             
            
            
             +
            
            
             .
            
            
             .
            
            
             .
            
            
             +
            
            
             
              l
             
             
              
               m
              
              
               p
              
             
            
            
             
              x
             
             
              p
             
            
           
          
         
        
       
      
     
     
       定义:记x_1,x_2,...,x_p为原变量指标,z_1,z_2,...,z_m(m\leq p)\\ \begin{cases} z_1=l_{11}x_1+l_{12}x_2+...+l_{1p}x_p\\ z_2=l_{21}x_1+l_{22}x_2+...+l_{2p}x_p\\ \vdots\\ z_m=l_{m1}x_1+l_{m2}x_2+...+l_{mp}x_p\\ \end{cases} 
     
    

    定义:记x1​,x2​,...,xp​为原变量指标,z1​,z2​,...,zm​(m≤p)⎩⎨⎧​z1​=l11​x1​+l12​x2​+...+l1p​xp​z2​=l21​x1​+l22​x2​+...+l2p​xp​⋮zm​=lm1​x1​+lm2​x2​+...+lmp​xp​​

降数据

数据规模非常大,计算机内存不够;

其次时,不打算将所有数据都拿出来进行训练

  • 简单随机抽样(Simple Random Sampling) - 相等的概率选择- 不放回抽样 - 一旦对象被选中,则进行删除- 有放回的抽样 - 选择对象不删除

样本大小对数据质量的影响

在这里插入图片描述

数据压缩

在这里插入图片描述

数据转换

  • 函数映射:给定的属性值更换了一个新的表示方法,每个旧值与新的值可以被识别

规范化

主要内容:将数据集按比例缩放到一个具体区间

原因

  • 比如高考成绩,广东省有广东省的评判标准,北京市有北京市的标准
  • 在数据集表现为,每个属性之间变化范围非常非常不一样

最小最大规范化

     定义:
    
    
    
     
      v
     
     
      ′
     
    
    
     =
    
    
     
      
       v
      
      
       −
      
      
       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
    
    
     即为需要规范的数据
    
   
   
     定义:\\ v'=\frac{v-min_A}{max_A-min_A}(new\_max_A-new\_min_A)+new\_min_A\\ v即为需要规范的数据 
   
  
 定义:v′=maxA​−minA​v−minA​​(new_maxA​−new_minA​)+new_minA​v即为需要规范的数据
     n
    
    
     e
    
    
     w
    
    
     _
    
    
     m
    
    
     a
    
    
     
      x
     
     
      A
     
    
    
     和
    
    
     n
    
    
     e
    
    
     w
    
    
     _
    
    
     m
    
    
     i
    
    
     
      n
     
     
      A
     
    
   
   
    new\_max_A 和new\_min_A
   
  
 new_maxA​和new_minA​的值主要看你要做怎样的规范化,如果是进行归一化(即将数据处理到0到1这个区间),则新的最大值是1,新的最小值是0

Z-分数规范化

     定义:
    
    
     
      v
     
     
      ′
     
    
    
     =
    
    
     
      
       v
      
      
       −
      
      
       均值
      
      
       A
      
     
     
      
       标准差
      
      
       A
      
     
    
    
    
     v
    
    
     即为原本需要规范的数据
    
   
   
     定义: v'=\frac{v-均值A}{标准差A}\\ v即为原本需要规范的数据 
   
  
 定义:v′=标准差Av−均值A​v即为原本需要规范的数据

如果数据集是流式数据(即随时都会有新的数据加入),而且我们假设流式数据的分布是不变的

则我们通过采样一部分流式数据,计算其均值和标准差

面对这样的情况,用Z-score方法规范化更合理

小数定标

  • 移动属性A的小数点位置(移动位数依赖于属性A的最大值)

        v
       
       
        ′
       
      
      
       =
      
      
       
        v
       
       
        
         1
        
        
         
          0
         
         
          j
         
        
       
      
      
      
       j
      
      
       是使得
      
      
       M
      
      
       a
      
      
       x
      
      
       (
      
      
       ∣
      
      
       
        v
       
       
        ′
       
      
      
       ∣
      
      
       )
      
      
       <
      
      
       1
      
      
       的最小整数
      
     
     
       v'=\frac{v}{10^j}\\ j是使得Max(|v'|)<1的最小整数 
     
    

    v′=10jv​j是使得Max(∣v′∣)<1的最小整数

例如数据中最小值为12000,最大值为98000,则j=5

离散化

将数值数据离散化

eg:年龄化成——老中青幼

在这里插入图片描述

非监督离散—等宽法

  • 根据属性的值域来划分,使得每个区间的宽度相等
  • 即根据属性的最大值、最小值进行等宽划分

在这里插入图片描述

非监督离散—等频法

  • 根据取值出现的频数来划分,将属性的值域划分成若干个小区间,并且要求落在每个区间的样本数目相等

在这里插入图片描述

聚类

  • 利用聚类将数据划分到不同的离散类别

本文转载自: https://blog.csdn.net/Hacker_ccc/article/details/125981483
版权归原作者 Caaaaaan 所有, 如有侵权,请联系我们删除。

“数据挖掘之数据预处理”的评论:

还没有评论