当前位置: 首页 > news >正文

数据挖掘——数据预处理

数据挖掘——数据预处理

  • 数据预处理
    • 数据预处理 ——主要任务
    • 数据清洗
      • 如何处理丢失的数据
      • 如何处理噪声数据
      • 如何处理不一致数据
    • 数据集成
      • 相关分析
        • 相关系数(也成为皮尔逊相关系数)
        • 协方差
    • 数据规约
      • 降维法:PCA主成分分析
      • 降数据——抽样法
      • 数据压缩

数据预处理

数据预处理 ——主要任务

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

数据清洗

  • 属性值缺失:
    • 例如,职业=“ ”(丢失)
  • 噪音,错误或离群
    • 例如,工资=“-10”(错误)
  • 不一致的代码或不符的名称
    • 年龄=“42”生日=“03/07/1997”
    • 曾经评级“1,2,3”,现在评级“A,B,C”

如何处理丢失的数据

  • 忽略元组:当类标号缺少时通常这么做(监督式机器学习中训练集缺乏类标签)。当每个属性缺少值比例比较大时,效果比较差
  • 手动填写遗漏值:工作量大
  • 自动填写
    • 使用属性的平均值填充空缺值
    • 最有可能的值:基于诸如贝叶斯公式或决策树推理

如何处理噪声数据

箱线图检测离群数据:删除离群点
在这里插入图片描述

如何处理不一致数据

  • 不一致的代码或不符的名称
    • 年龄=“42”生日=“09/24/1998”
    • 曾经评级“1,2,3”,现在评级“A,B,C”
  • 方法
    • 计算推理、替换
    • 全局替换

数据集成

将来自多个数据源的数据组合成一个连贯的数据源
在这里插入图片描述

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

相关分析

相关系数(也成为皮尔逊相关系数)

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-\bar{p})(q-\bar{q})}{(n-1) \sigma_{p} \sigma_{q}}=\frac{\sum(p q)-n \overline{p q}}{(n-1) \sigma_{p} \sigma_{q}} rp,q=(n1)σpσq(ppˉ)(qqˉ)=(n1)σpσq(pq)npq
其中 n n n是元组的数目,而 p p p q q q是各属性的具体值, σ p σ_p σp σ q σ_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为高度线性相关。
协方差

Cov ⁡ ( p , q ) = E ( ( p − p ˉ ) ( q − q ˉ ) ) = ∑ i = 1 n ( p i − p ˉ ) ( q i − q ˉ ) n r p , q = Cov ⁡ ( p , q ) σ p σ q \begin{array}{c}\operatorname{Cov}(p, q)=E((p-\bar{p})(q-\bar{q}))=\frac{\sum_{i=1}^{n}\left(p_{i}-\bar{p}\right)\left(q_{i}-\bar{q}\right)}{n} \\r_{p, q}=\frac{\operatorname{Cov}(p, q)}{\sigma_{p} \sigma_{q}}\end{array} Cov(p,q)=E((ppˉ)(qqˉ))=ni=1n(pipˉ)(qiqˉ)rp,q=σpσqCov(p,q)

  • 其中n是元组的数目,p和q是各自属性的具体值, σp和σq是各自的标准差
    • 正相关: C o v ( p , q ) > 0 Cov(p,q)>0 Covp,q>0
    • 负相关: C o v ( p , q ) < 0 Cov(p,q) <0 Covp,q<0
    • 不相关: C o v ( p , q ) = 0 Cov(p,q) =0 Covp,q=0
  • 可具有某些对随机变量的协方差为0,但不是独立的。一些额外的假设(例如,数据是否服从多元正态分布)做了协方差为0意味着独立。

它可以简化计算:
C o v ( A , B ) = E ( ( A − A ˉ ) ( B − B ˉ ) ) = ∑ i = 1 n ( a i − A ˉ ) ( b i − B ˉ ) n = E ( A B ) − A ˉ B ˉ Cov(A,B)=E((A-\bar{A})(B-\bar{B}))=\frac{\sum_{i=1}^n(a_i-\bar{A})(b_i-\bar{B})}{n}=E(AB)-\bar{A}\bar{B} Cov(A,B)=E((AAˉ)(BBˉ))=ni=1n(aiAˉ)(biBˉ)=E(AB)AˉBˉ

数据规约

为什么数据规约(datareduction)
由于数据仓库可以存储TB的数据,因此在一个完整的数据集上运行时,复杂的数据分析可能需要一个很长的时间。

数据规约三种方法

  1. 降维
  2. 降数据
  3. 数据压缩

降维法:PCA主成分分析

在这里插入图片描述

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

降数据——抽样法

在这里插入图片描述

  • 简单随机抽样(SimpleRandomSampling)
    • 相等的概率选择
    • 不放回抽样(Samplingwithout replacement)
      • 一旦对象被选中,则将其删除
    • 有放回抽样(Samplingwithreplacement)
      • 选择对象不会被删除
  • 分组抽样
    • 每组抽相近个数
    • 用于偏斜数据

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

  • 从8000个点分别抽2000和500个点
    • 2000个点的样本保留了数据集的大部分结构
    • 500个点的样本丢失了许多结构
      在这里插入图片描述

数据压缩

在这里插入图片描述

  • 函数映射:给定的属性值更换了一个新的表示方法,每个旧值与新的值可以被识别
  • 方法
    • 规范化:按比例缩放到一个具体区间
      • 最小 - 最大规范化
      • Z-得分正常化
      • 小数定标规范化
    • 离散化

最小-最大规范化
v ′ = v − min ⁡ A m a x A − min ⁡ A ( n e w _ m a x A − n e w − min ⁡ A ) + n e w − min ⁡ A v^{\prime}=\frac{v-\min A}{max A-\min A}\left(\right. \left.new\_max A-n e w_{-} \min A\right)+ new_{-} \min A v=maxAminAvminA(new_maxAnewminA)+newminA
v v v即需要规范的数据

z-分数规范化
v ′ = v − 均值 A 标准 差 A v'=\frac{v-均值A}{标准差_A} v=标准Av均值A

离散化方法

  • 非监督离散化法
    • 等宽法:根据属性的值域来划分,使每个区间的宽度相等
    • 等频法:根据取值出现的频数来划分,将属性的值域划分成个小区间,并且要求落在每个区间的样本数目相等
    • 聚类:利用聚类将数据划分到不同的离散类别

在这里插入图片描述

相关文章:

数据挖掘——数据预处理

数据挖掘——数据预处理 数据预处理数据预处理 ——主要任务数据清洗如何处理丢失的数据如何处理噪声数据如何处理不一致数据 数据集成相关分析相关系数(也成为皮尔逊相关系数)协方差 数据规约降维法&#xff1a;PCA主成分分析降数据——抽样法数据压缩 数据预处理 数据预处理…...

ECharts饼图下钻

背景&#xff1a;项目上需要对Echarts饼图进行功能定制&#xff0c;实现点击颜色块&#xff0c;下钻显示下一层级占比说明&#xff1a;饼图实现点击下钻/面包屑返回的功能 数据结构 [{name: a,value: 1,children: [...]},... ]点击下钻 // 为图表绑定点击事件&#xff08;需要…...

【RK3568笔记】Android修改开机动画

概述 Android 的开机动画是由一系列连续的 PNG 图片作为帧组成的动画形式&#xff0c;不是一张 GIF 图片。将各帧 PNG 图片以压缩方式进行保存&#xff08;压缩方式要求是存储压缩&#xff09;&#xff0c;并将保存的文件名命名为 bootanimation.zip&#xff0c;这个 bootanim…...

嵌入式技术之Linux(Ubuntu) 一

一、Linux入门 1.硬件和操作系统以及用户的关系 一个传感器&#xff0c;获得数据后&#xff0c;需要向服务器发送数据。传感器传数据给上位机。 上位机需要一个程序来接收数据&#xff0c;那么这个上位机是什么机器&#xff1f; 我们的笔记本电脑就可以当成上位机。 两个手…...

代码随想录day39 动态规划7

打家劫舍 题目&#xff1a;198.打家劫舍 213.打家劫舍II 337.打家劫舍III 需要重做&#xff1a;全部 198.打家劫舍 思路&#xff1a;第i个房子偷与不偷&#xff0c;取决于第i-2个房子和第i-1个房子 注意&#xff1a;注意下标的一致性。现在的下标含义是房子的下标&#x…...

ESP32-S3模组上实现低功耗(5)

接前一篇文章:ESP32-S3模组上实现低功耗(4) 本文内容参考: 系统低功耗模式介绍 - ESP32-S3 - — ESP-IDF 编程指南 latest 文档 电源管理 - ESP32-S3 - — ESP-IDF 编程指南 latest 文档...

PDF转文本以及转图片:itextpdf

文章目录 &#x1f412;个人主页&#xff1a;信计2102罗铠威&#x1f3c5;JavaEE系列专栏&#x1f4d6;前言&#xff1a;&#x1f380; 1. itextpdf1.1导入itextpdf的maven依赖1.2 提取文本代码1.3 pdf转换成图片代码&#xff08;本地图片地址还是线上PDF的URL地址均支持&#…...

AnaConda下载PyTorch慢的解决办法

使用Conda下载比较慢&#xff0c;改为pip下载 复制下载链接到迅雷下载 激活虚拟环境&#xff0c;安装whl&#xff0c;即可安装成功 pip install D:\openai.wiki\ChatGLM2-6B\torch-2.4.1cu121-cp38-cp38-win_amd64.whl...

移动端自动化测试Appium-java

一、Appium的简介 移动端的自动化测试框架 模拟人的操作进行功能自动化常用于功能测试、兼容性测试 跨平台的自动化测试 二、Appium的原理 核心是web服务器&#xff0c;接受客户端的连接&#xff0c;接收客户端的命令&#xff0c;在手机设备上执行命令&#xff0c;收集命令…...

IO: 作业:Day1

思维导图 main.c #include"student.h" int main(int argc, const char *argv[]) { stuPtr hcreat(); int n0; add_node(h); add_node(h); add_node(h); show(h); save(h,"student.txt"); stuPtr ptrc…...

ue5 替换角色的骨骼网格体和动画蓝图

一开始动画蓝图&#xff0c;骨骼网格体都是用的女性角色 现在把它换成男性 编译 保存 运行 把动画类换成ABP_Manny 进入ABP_Manny中 进入到idle 找到这个拖进来 编译 就变成站着端枪 运行一下&#xff0c;没有问题...

el-cascader 树状选择-点击父级禁用子级

背景&#xff1a;项目上需要实现树状选择&#xff0c;点击父级禁用子级的功能&#xff0c;element组件本身没有该配置项说明&#xff1a;需要实现几个功能点&#xff1a;点击父级禁用子级&#xff1b;再次点击取消禁用&#xff1b;仅回填所选级&#xff1b;上下级不关联实现代码…...

AWS re:Invent 的创新技术

本月早些时候&#xff0c;Amazon 于 12 月 1 日至 5 日在内华达州拉斯维加斯举行了为期 5 天的 re&#xff1a;Invent 大会。如果您从未参加过 re&#xff1a;Invent 会议&#xff0c;那么最能描述它的词是“巨大”——不仅从与会者人数&#xff08;60,000 人&#xff09;来看&…...

PHP7和PHP8的最佳实践

php 7 和 php 8 的最佳实践包括&#xff1a;使用类型提示以避免运行时错误&#xff1b;利用命名空间组织代码并避免命名冲突&#xff1b;采用命名参数、联合类型等新特性增强可读性&#xff1b;用错误处理优雅地处理异常&#xff1b;关注性能优化&#xff0c;如避免全局变量和选…...

Debian、Ubuntu 22.04和ubuntu 24.04国内镜像源(包括 docker 源)

Debian 更换国内清华源 1、备份原文件mv /etc/apt/sources.list /etc/apt/sources.list.old 2、写入新源&#xff0c;以下是 Debian 11 的&#xff1a; cat > /etc/apt/sources.list << EOF deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib…...

点亮一个esp32 的led

最近入了一个ESP32 兄弟们&#xff0c;这玩意还可以&#xff0c;买来肯定是给它点亮啊对吧 我就是点灯侠&#x1f387; &#x1f62d;千万不要不接天线啊&#xff0c;不然你会一直找不到你的wifi 1.点灯第一步你得有IDE Arduino 就是这个绿东西 可是怎么下载安装呢&#xff…...

C++ shared_ptr进一步认知,为什么引用计数>2退出作用域都可以调用析构

1.使用智能指针需要#include <memeroy> 2.上代码&#xff1a; #include <memory> #include <iostream> using namespace std; struct lifePeriod {lifePeriod():a(1){cout << "无参构造&#xff01;" << endl;}virtual ~lifePeriod(…...

JavaScript代码片段二

见过不少人、经过不少事、也吃过不少苦&#xff0c;感悟世事无常、人心多变&#xff0c;靠着回忆将往事串珠成链&#xff0c;聊聊感情、谈谈发展&#xff0c;我慢慢写、你一点一点看...... JavaScript统计文字个数、特殊字符转义、动态插入js代码、身份证验证 统计文字个数 f…...

【计算机视觉】单目深度估计模型-Depth Anything-V2

概述 本篇将简单介绍Depth Anything V2单目深度估计模型&#xff0c;该模型旨在解决现有的深度估计模型在处理复杂场景、透明或反射物体时的性能限制。与前一代模型相比&#xff0c;V2版本通过采用合成图像训练、增加教师模型容量&#xff0c;并利用大规模伪标签现实数据进行学…...

Servlet 和 Spring MVC:区别与联系

前言 在 Java Web 开发中&#xff0c;Servlet 和 Spring MVC 是两个重要的技术。Servlet 是 Java Web 的基础组件&#xff0c;而 Spring MVC 是一个高级 Web 框架&#xff0c;建立在 Servlet 的基础之上&#xff0c;提供了强大的功能和易用性。这篇文章将从定义、原理、功能对…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享

文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的&#xff0c;根据Excel列的需求预估的工时直接打骨折&#xff0c;不要问我为什么&#xff0c;主要…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)

Aspose.PDF 限制绕过方案&#xff1a;Java 字节码技术实战分享&#xff08;仅供学习&#xff09; 一、Aspose.PDF 简介二、说明&#xff08;⚠️仅供学习与研究使用&#xff09;三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...

在Ubuntu24上采用Wine打开SourceInsight

1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析&#xff08;Parser&#xff09; 2.4、执行sql 1. 预处理&#xff08;Preprocessor&#xff09; 2. 查询优化器&#xff08;Optimizer&#xff09; 3. 执行器…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)

目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 &#xff08;1&#xff09;输入单引号 &#xff08;2&#xff09;万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...