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

数据预处理过程

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

  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,两组数据不存在线性相关(但并不是不相关)

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

posted @   Chen洋  阅读(358)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示