• 《数据挖掘:理论与算法》学习笔记(二)—数据预处理(上)


    数据预处理过程

    数据清洗—>数据转换—>数据描述—>特征选择—>特征提取
    在这里插入图片描述
    为什么要进行数据预处理
    原始的数据不利于直接进行数据挖掘,因为:

    1. 数据不完整
    2. 存在错误数据
    3. 数据存在重复信息
    4. 数据量过大
      等等。。。

    如何解决丢失的数据问题

    1. 进行选择性忽视
    2. 人工补全(比如重新收集、经验填充)
    3. 自动补全(利用数据的均值等)
      等等。。。

    离群点(Outlier)

    在这里插入图片描述
    在这里插入图片描述
    如何对这些离群点进行检测

    离群是相对的概念

    局部异常因子算法-Local Outlier Factor(LOF)
    在这里插入图片描述
    distanck(B):距离B第k远的点的距离
    d(A,B):A与B两点之间的距离
    lrd(A):点A的局部可达密度
    (密度越高,我们认为越可能属于同一簇,密度越低,越可能是离群点。)
    LOFk(A):局部离群因子
    (如果这个比值越接近1,说明A的其邻域点密度差不多,A可能和邻域同属一簇;如果这个比值越小于1,说明p的密度高于其邻域点密度,A为密集点;如果这个比值越大于1,说明A的密度小于其邻域点密度,A越可能是异常点。 )
    在这里插入图片描述

    Duplicate Data

    两条数据可能对应的是同一个人,但数据的格式很有可能是不一样的

    滑动窗口
    在这里插入图片描述
    高度近似的样本是彼此挨着的,可以使用滑动窗口

    一般先创建关键字,然后进行排序再整合
    在这里插入图片描述

    数据类型转换和采样

    在这里插入图片描述
    数据的类型有很多种,连续型、离散型、文本数据…

    格式不同同样会对我们对数据的处理带来很大的影响(如下面对调蓝绿可以简化编码)

    在这里插入图片描述
    在这里插入图片描述
    采样
    目的是为了提高数据处理效率
    在这里插入图片描述
    不平衡的数据
    在这里插入图片描述
    从上图可以看出,整体的准确率并不适用与不平衡的数据。分类器B的效果显然要比分类器A更好,但是它的整体准确率只有90%,小于分类器A的10%。
    应该用下面的度量方式
    在这里插入图片描述
    其中混淆矩阵如下
    在这里插入图片描述
    F-measure和G-mean类似,只是角度不同而已

    向上采样
    在这里插入图片描述
    如果两个类不均衡,比如红颜色远远多于蓝颜色,这样直接进行分类,会导致一些不太好的效果,比较好的一个思路是一个蓝颜色的点,找它的一个紧邻点,然后在该区域随机生成一个点

    边缘采样
    在这里插入图片描述
    还有一种采样是提取边缘的点,有时候数据非常大,处理的话需要花费大量的时间,其实对于这些点来说,最外面的这些点是有价值的,我们可以只提取边缘的这些点,中间的这些数据可能并不参与到数据挖掘中。

    我们可以根据密度或者法向量等的方法将边缘的点找出来,这样,我们只需要百分之几的点也能达到处理全部的数据的效果,为我们节省大量的时间。

    标准化

    我们拿到的原始数据可能变化不一,比如单位不统一等,所以我们需要对这些数据进行 Normalization。

    有一种比较简单的方法就是将原始的数据映射到【0,1】区间。

    在这里插入图片描述
    数据描述
    1、均值
    2、中位数
    3、Mode,频率最高的数据
    4、Variance,衡量数据分布是密集还是分散
    在这里插入图片描述
    数据挖掘如何评价两件事情是否具有相关性
    在这里插入图片描述
    使用上图中概率论统计的公式:
    r值大于0,两组数据正相关
    r值小于0,两组数据负相关
    r值等于0,两组数据不存在线性相关(但并不是不相关)

     参考文献:清华大学-数据挖掘:理论与算法(国家级精品课)                   

  • 相关阅读:
    httpclient妙用一 httpclient作为客户端调用soap webservice(转)
    WebService学习总结(转)
    C++的override和final
    C++类const和static成员初始化
    C++数据存储方式
    C++类成员存储大小
    内联函数
    C++接口的概念
    C++深拷贝和浅拷贝
    C++构造函数以及何时被调用
  • 原文地址:https://www.cnblogs.com/cy0628/p/14125487.html
Copyright © 2020-2023  润新知