【数据挖掘】2、数据预处理

news2025/4/10 14:53:51

文章目录

  • 一、数据预处理的意义
    • 1.1 缺失数据
      • 1.1.1 原因
      • 1.1.2 方案
      • 1.1.3 离群点分析
    • 1.2 重复数据
      • 1.2.1 原因
      • 1.2.2 去重的方案
    • 1.3 数据转换
    • 1.4 数据描述
  • 二、数据预处理方法
    • 2.1 特征选择 Feature Selection
    • 2.2 特征提取 Feature Extraction
      • 2.2.1 PCA 主成分分析
      • 2.2.2 LDA 线性判别分析

数据预处理分为数据清洗、转换、描述、选择、提起五部分:

在这里插入图片描述

一、数据预处理的意义

数据预处理的意义:因为真实世界的问题,脏数据的预处理才是最大的挑战。脏数据主要包括如下方面:

  • 不完整:缺失
  • 噪声:错误的数据
  • 不一致
  • 冗余:我们只需真实有用的部分
  • 其他
    • 数据类型
      在这里插入图片描述

1.1 缺失数据

1.1.1 原因

可能有很多原因:

  • 设备故障
  • 并未提供数据(例如调查问卷的被访人)
  • 不适用、无意义(可能并无物理意义,比如一张宽表:既有学生、又有教师,那么学生并无收入(只有教师才有),则此表格设计的并不合理)
    在这里插入图片描述

1.1.2 方案

数据缺失的应对方案:其实是一门艺术

  • 忽略:
    • 不处理有问题的列或行(当然只有这部分数据较少才可以)
  • 填充:
    • 重新采集
    • 利用领域知识去猜:(比如一个人住了 18 年的房子,那推测为住房,而不是租房形式)
    • 用固定值 or 均值、众数等

在这里插入图片描述

可以在均值基础上,做高斯分布,来让填充的数据即具备随机性,又基于一个基点分布:

在这里插入图片描述

Outliers 异常值:是指数据明显出错了

在这里插入图片描述

在这里插入图片描述

而 Anomaly 指数据是正确的,只是它和众数有别:例如下图中的黄衣服人也是正常的样本,只是他没有和别人聚在一堆而已:

在这里插入图片描述

1.1.3 离群点分析

因为离群点是相对概念,所以不能只用绝对距离distance(A, B),而应用相对距离lrd(A)

在这里插入图片描述

那么 LOF(A) 则正比于 lrd(B) / lrd(A)

  • 其中lrd(A)指:待分析的A点,距离其近邻 B 的均值。
  • 其中lrd(B)指:待分析A点 的 近邻点 B,距离其近邻们的均值。
  • 若二者之商越大,则说明 A 越「相对」离群。

例如下图是离群点分析的结果:其红色圆圈越大(红圈内的数字即为 LOF 值)则说明越离群

在这里插入图片描述

1.2 重复数据

1.2.1 原因

不同数据源汇总时,都包含同一个人的信息,需要汇总。

  • 其中各数据源的数据格式不同:比如有的表叫 id,有的表叫 no。
  • 数据的内容不同,但可能表示的含义相同:比如快递地址写广东省深圳市某小区,和写深圳市某小区,的含义是相同的。
    在这里插入图片描述

1.2.2 去重的方案

因为大数据,不可能在所有数据范围内去重。因此一般采用局部去重。

  • 如果业务决定重复的数据通常相邻,则可用滑动窗口实现(在滑窗内去重):即在一定程度去重,又提升了计算性能。

在这里插入图片描述

可以根据领域知识,定义一种规则:来识别出原本相同,但被错记录的数据。比如若名字相同,姓不同,地址相同的人,认为是同一个人。

在这里插入图片描述

1.3 数据转换

在这里插入图片描述

在这里插入图片描述

数据的编码:影响数据问题的复杂度

在这里插入图片描述

可以用位来标识不同数据:

在这里插入图片描述

数据采样:通过采样频率,可以降低数据量
在这里插入图片描述

不平衡数据:当两类数据占比差别很大时,整体准确率并不能很好地度量,应用各自的准确率。(例如 99%人健康,1%的人生病,模型需要预测出生病的人)

在这里插入图片描述

G-mean 方法:

在这里插入图片描述

采样不均衡:可以有针对性的,对数据量少的类(如下图的蓝色点),多采样。
在这里插入图片描述

边缘采样:边缘点的价值更大

在这里插入图片描述

归一化:

在这里插入图片描述

1.4 数据描述

在这里插入图片描述

相关性可用「皮尔森相关系数」衡量,其分子为 「A 与 B 的协方差」,分母为「A的方差 乘以 B的方差」

  • ra,b > 0:正相关:即 a 越大则 b 越大,即 a 与 b 的协方差为正
  • ra,b = 0:没有「线性」相关性
  • ra,b > 0:负相关:即 a 越大则 b 越小,即 a 与 b 的协方差为负
    在这里插入图片描述

要理解 Pearson 相关系数,首先要理解协方差(Covariance)。协方差表示两个变量 X,Y 间相互关系的数字特征,其计算公式为:

协方差公式如下:
C o v ( X , Y ) = 1 n − 1 Σ 1 n   ( X i − X ‾ ) ( Y i − Y ‾ ) Cov(X,Y)=\frac{1}{n-1}\Sigma_1^n \ (X_i-\overline X)(Y_i-\overline Y) Cov(X,Y)=n11Σ1n (XiX)(YiY)

当 Y = X 时,即与方差相同。当变量 X,Y 的变化趋势一致时,Pearson 相关系数为正数。当变量 X,Y 的变化趋势相反时,Pearson 相关系数为负数。

Pearson 相关系数如下:
C O R ( X , Y ) = Σ 1 n ( X i − X ‾ ) ( Y i − Y ‾ ) Σ 1 n ( X i − X ‾ ) 2 Σ 1 n ( Y i − Y ‾ ) 2 COR(X, Y) = \frac{\Sigma_1^n(X_i-\overline X)(Y_i-\overline Y)}{\sqrt{\Sigma_1^n(X_i-\overline X)^2\Sigma_1^n(Y_i-\overline Y)^2}} COR(X,Y)=Σ1n(XiX)2Σ1n(YiY)2 Σ1n(XiX)(YiY)

由公式可知,Pearson 相关系数是用协方差除以两个变量的标准差得到的,虽然协方差能反映两个随机变量的相关程度(协方差大于0的时候表示两者正相关,小于0的时候表示两者负相关),但其数值上受量纲的影响很大,不能简单地从协方差的数值大小给出变量相关程度的判断。为了消除这种量纲的影响,于是就有了相关系数的概念。

当两个变量的方差都不为零时,相关系数才有意义,相关系数的取值范围为[-1,1]。

在这里插入图片描述
计算方式为cor = corr(Matrix,'type','Pearson'),其中Matrix 参数即为需要计算的矩阵。

数据相关性描述:Person 卡方检定,其值越大则相关性越大(如下图为 507.93 较大,说明有较大相关性)

在这里插入图片描述

数据可视化:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

高维数据:各维度的分布

在这里插入图片描述

高维数据:各位数据的关系

在这里插入图片描述

CiteSpace 是文献可视化的软件:下图为文章的引用次数

在这里插入图片描述

Gephi 软件可以可视化各维度数据,是开源的:

在这里插入图片描述

二、数据预处理方法

2.1 特征选择 Feature Selection

收集到大量的特征,需要选择好的、有代表性的特征,这个过程称为特征选择。

下图是指:身高的分布,其中 Class A 是女生身高分布曲线,Class B 是男生身高分布曲线:

在这里插入图片描述
下图是抽烟的数据集:其中 60% 不抽烟,40% 抽烟。不抽烟的人由 60% 女 + 40% 男构成。抽烟的人由 5% 女 + 95% 男构成。

在这里插入图片描述

熵:可以量化属性的区分度

  • 1 就是最大的熵,表示最不确定。
  • 属性整体的效能是 0.5477
  • 此属性的信息增益(Information Gain)是 1 - 0.5477 = 0.4523,表示此属性的价值。此值越大,说明此属性的效力越高(因为将原来最不确定性的熵降低的幅度最大)。
    在这里插入图片描述

利用熵,在各种属性里搜索,最好的属性。

  • 利用 Branch and Bound 可以剪枝

在这里插入图片描述

在这里插入图片描述

2.2 特征提取 Feature Extraction

特征提取:是指对特征做一定转换,如下图将像素点转变为像素点的差值,来分割边缘。
在这里插入图片描述

2.2.1 PCA 主成分分析

事物从不同角度看,不同的映射方法,信息损失程度不同:

在这里插入图片描述

如果某属性区分度越大,则此属性越重要。

在这里插入图片描述

可以经过变换来消除 correlation,使更容易选特征:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.2.2 LDA 线性判别分析

PCA 虽然计算量不大,但如果投影方向选错,会丢失类别信息,使得无法区分主成分:

  • 如下图如果延着长的红色箭头投影,则蓝黄两类在投影线上无法区分
  • 如下图如果延着短的红色箭头投影,则蓝黄两类在投影线上可以区分

在这里插入图片描述

在这里插入图片描述

LDA 的目的就是,在维度收缩时,尽量保留「类间区分度」信息,如下图,x 为原始数据, w 即为方向,降为数据 y,左图区分度小,而右图区分度大即效果好。

在这里插入图片描述

类间距离大,而类内距离小:

在这里插入图片描述

投影评价的准则是 J J J最大化: J = ∣ μ 1 − μ 2 ∣ 2 S 1 2 + S 2 2 J=\frac{\left|\mu_1-\mu_2\right|^2}{S_1^2+S_2^2} J=S12+S22μ1μ22

其中分子是「类间距离」越大越好,分母是「类内距离」越小越好:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

多类分类问题:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/379391.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

四维地球2.0上线,中国四维遥感云平台布局初见端倪

‍数据智能产业创新服务媒体——聚焦数智 改变商业近日,土耳其大地震一直备受全球各国人民的关注,为了在黄金72小时内帮助解救受困人员,包括中国在内的不少国家纷纷向土耳其政府和人民伸出援手,除了派出专业的救援队伍之外&#…

数据结构前提知识

数据结构数据结构 个体的存储个体关系的存储算法对存储数据的操作程序数据结构算法衡量算法的标准时间复杂度:注意不是程序执行的时间,因为一个程序执行的时间取决于软硬件环境,不同的机器,执行的速度不一样,配置好的…

【Unity】P2 基础操作

Unity基础操作移动、旋转与缩放移动方法一:xyz移动方法二:平面移动方法三:直接调整xyz的position三值进行调整旋转方法一:选择旋转按键并旋转方法二:按住CTRL再进行旋转操作,每次15度方法三:通过…

工作中单例模式用法及其使用场景?

前言 最近工作中有这么一个需求,我们系统出单后,需要同步数据到合作方,合作方对数据接收并解析反馈结果文件给我们,根据结果文件状态判断合作方系统是否解析成功,对于失败的单子,需要邮件通知相关负责人。…

微服务实战02-EurekaServer注册中心

EurekaServer ,它扮演的角色是注册中心,用于注册各种微服务,以便于其他微服务找到和访问。 1、Eureka是什么 Eureka是Netflix的一个子模块,也是核心模块之一。Eureka是一个基于REST的服务,用于定位服务,以…

AUTOSAR为啥要开发新的社区商业模式?

总目录链接>> AutoSAR入门和实战系列总目录 文章目录1 自适应平台架构中的集群更新1.1 ara::diag 服务(诊断)更新1.2 信号到服务映射和自动驾驶接口让我们讨论一下信号到服务映射服务:Automated Driving Interface:2 车载应用商店概念本文介绍Re…

【RabbitMQ笔记09】消息队列RabbitMQ之常见方法的使用

这篇文章,主要介绍消息队列RabbitMQ之常见方法的使用。 目录 一、消息队列常见方法 1.1、连接工厂ConnectionFactory 1.2、连接Connection 1.3、通道Channel 1.4、交换机相关方法 (1)exchangeDeclare()声明交换机 1.5、队列相关方法 …

算法训练营 day58 动态规划 判断子序列 不同的子序列

算法训练营 day58 动态规划 判断子序列 不同的子序列 判断子序列 392. 判断子序列 - 力扣(LeetCode) 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而…

03、SVN 建立版本库

SVN 建立版本库1 版本库2 版本库的建立步骤2.1 创建版本库的根目录2.2 创建子目录2.3 通过命令创建版本库2.4 生成目的介绍1 版本库 Subversion 是将文件数据信息保存到版本库中进行管理的Subversion 允许用户对版本库目录进行定制 2 版本库的建立步骤 2.1 创建版本库的根目…

引用数据类型和基本数据类型

1.基本数据类型: byte:字节类型,Java中最小的数据类型,1个字节,取值范围-128~127,默认值0 char:字符型,用于存储单个字符,2个字节,取值范围0~65535&#xf…

Redis使用,AOF、RDB

前言 如果有人问你:"你会把 Redis 用在什么业务场景下?" 我想你大概率会说:"我会把它当作缓存使用,因为它把后端数据库中的数据存储在内存中,然后直接从内存中读取数据,响应速度会非常快。…

“速通“ 老生常谈的HashMap [实现原理源码解读]

👳我亲爱的各位大佬们好😘😘😘 ♨️本篇文章记录的为 HashMap 实现原理&&源码解读 相关内容,适合在学Java的小白,帮助新手快速上手,也适合复习中,面试中的大佬🙉🙉&#x1f…

RocketMQ动态增加NameServer

前言 通过HTTP服务来设置NameServer地址,是唯一支持动态增加NameServer的方式,无需重启其它组件 网上搜了下没看到有兄弟们演示这块,所以刚才自己试了试,做个笔记 本文有详细的演示过程 都知道NameServer有4种配置方式&#xff0…

simulink入门指南

系列文章目录 文章目录系列文章目录常用操作技巧项目练习 - 动态系统二阶系统建模比例积分控制燕子俯冲系统建模滤波位操作总结常用操作技巧 画面缩放 空格键 鼠标左键: 拖拽空格键: fit屏幕 信号操作 双击signal可添加标签, 鼠标右键拖拽可给信号添加分支同一分支上的sig…

【并发基础】线程,进程,协程的详细解释

目录 一、什么是进程和线程 1.1 进程是什么呢? 1.2 线程又是什么呢? 1.3 线程和进程之间的关系 操作系统、进程、线程之间的关系图: 进程与线程的模型图: 下面来思考这样一个问题:为什么程序计数器、虚拟机栈和本地方法…

QNX7.1 交叉编译开源库

1.下载QNX7.1 SDK并解压 ITL:~/work/tiqnx710$ ls -l 总用量 16 drwxrwxr-x 4 xxx4096 1月 28 13:38 host -rwxrwxr-x 1 xxx 972 1月 28 13:38 qnxsdp-env.bat -rwxrwxr-x 1 xxx 1676 1月 28 13:38 qnxsdp-env.sh drwxrwxr-x 3 xxx 4096 1月 28 13:38 target xxxITL:~/work/ti…

NetApp SnapCenter 备份管理 ——借助应用程序一致的数据备份管理,简化混合云操作

NetApp SnapCenter 简单、可扩展、赋权:跨 Data Fabric 的企业级数据保护和克隆管理 主要优势 • 利用与应用程序集成的工作流和预定义策略简化备份、恢复和克隆管理。 • 借助基于存储的数据管理功能提高性能和可用性,并缩短测试和开发用时。 • 提供基…

干货 | 浅谈机器人强化学习--从仿真到真机迁移

“对于机器人的运动控制,强化学习是广受关注的方法。本期技术干货,我们邀请到了小米工程师——刘天林,为大家介绍机器人(以足式机器人为主)强化学习中的sim-to-real问题及一些主流方法。”一、前言设计并制造可以灵活运…

【靶机】vulnhub靶机cybox1

Vulnhub靶机Cybox下载地址 Cybox: 1.1 ~ VulnHub 信息搜集 首先进行靶机ip的发现。 sudo arp-scan -l 接着使用nmap扫描开放的端口,这里使用扫描全部端口和详细信息太慢了,分开检测 命令:nmap -p 21,25,80,110,143,443 -sV -A 192.168.174…

CentOS救援模式(Rescue Mode)及紧急模式(Emergency Mode)

当CentOS操作系统崩溃,无法正常启动时,可以通过救援模式或者紧急模式进行系统登录。启动CentOS, 当出现下面界面时,按e进入编辑界面。在编辑界面里,加入参数:systemd.unitrescue.target ,然后Ctrl-X启动进入…