数据挖掘——数据预处理
数据挖掘——数据预处理
- 数据预处理
- 数据预处理 ——主要任务
- 数据清洗
- 如何处理丢失的数据
- 如何处理噪声数据
- 如何处理不一致数据
- 数据集成
- 相关分析
- 相关系数(也成为皮尔逊相关系数)
- 协方差
- 数据规约
- 降维法: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=(n−1)σpσq∑(p−pˉ)(q−qˉ)=(n−1)σ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((p−pˉ)(q−qˉ))=n∑i=1n(pi−pˉ)(qi−qˉ)rp,q=σpσqCov(p,q)
- 其中n是元组的数目,p和q是各自属性的具体值, σp和σ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 , q ) = 0 Cov(p,q) =0 Cov(p,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((A−Aˉ)(B−Bˉ))=n∑i=1n(ai−Aˉ)(bi−Bˉ)=E(AB)−AˉBˉ
数据规约
为什么数据规约(datareduction)?
由于数据仓库可以存储TB的数据,因此在一个完整的数据集上运行时,复杂的数据分析可能需要一个很长的时间。
数据规约三种方法:
- 降维
- 降数据
- 数据压缩
降维法: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′=maxA−minAv−minA(new_maxA−new−minA)+new−minA
v v v即需要规范的数据
z-分数规范化:
v ′ = v − 均值 A 标准 差 A v'=\frac{v-均值A}{标准差_A} v′=标准差Av−均值A
离散化方法
- 非监督离散化法
- 等宽法:根据属性的值域来划分,使每个区间的宽度相等
- 等频法:根据取值出现的频数来划分,将属性的值域划分成个小区间,并且要求落在每个区间的样本数目相等
- 聚类:利用聚类将数据划分到不同的离散类别
相关文章:

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

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

【RK3568笔记】Android修改开机动画
概述 Android 的开机动画是由一系列连续的 PNG 图片作为帧组成的动画形式,不是一张 GIF 图片。将各帧 PNG 图片以压缩方式进行保存(压缩方式要求是存储压缩),并将保存的文件名命名为 bootanimation.zip,这个 bootanim…...

嵌入式技术之Linux(Ubuntu) 一
一、Linux入门 1.硬件和操作系统以及用户的关系 一个传感器,获得数据后,需要向服务器发送数据。传感器传数据给上位机。 上位机需要一个程序来接收数据,那么这个上位机是什么机器? 我们的笔记本电脑就可以当成上位机。 两个手…...
代码随想录day39 动态规划7
打家劫舍 题目:198.打家劫舍 213.打家劫舍II 337.打家劫舍III 需要重做:全部 198.打家劫舍 思路:第i个房子偷与不偷,取决于第i-2个房子和第i-1个房子 注意:注意下标的一致性。现在的下标含义是房子的下标&#x…...
ESP32-S3模组上实现低功耗(5)
接前一篇文章:ESP32-S3模组上实现低功耗(4) 本文内容参考: 系统低功耗模式介绍 - ESP32-S3 - — ESP-IDF 编程指南 latest 文档 电源管理 - ESP32-S3 - — ESP-IDF 编程指南 latest 文档...
PDF转文本以及转图片:itextpdf
文章目录 🐒个人主页:信计2102罗铠威🏅JavaEE系列专栏📖前言:🎀 1. itextpdf1.1导入itextpdf的maven依赖1.2 提取文本代码1.3 pdf转换成图片代码(本地图片地址还是线上PDF的URL地址均支持&#…...

AnaConda下载PyTorch慢的解决办法
使用Conda下载比较慢,改为pip下载 复制下载链接到迅雷下载 激活虚拟环境,安装whl,即可安装成功 pip install D:\openai.wiki\ChatGLM2-6B\torch-2.4.1cu121-cp38-cp38-win_amd64.whl...

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

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 替换角色的骨骼网格体和动画蓝图
一开始动画蓝图,骨骼网格体都是用的女性角色 现在把它换成男性 编译 保存 运行 把动画类换成ABP_Manny 进入ABP_Manny中 进入到idle 找到这个拖进来 编译 就变成站着端枪 运行一下,没有问题...
el-cascader 树状选择-点击父级禁用子级
背景:项目上需要实现树状选择,点击父级禁用子级的功能,element组件本身没有该配置项说明:需要实现几个功能点:点击父级禁用子级;再次点击取消禁用;仅回填所选级;上下级不关联实现代码…...

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

PHP7和PHP8的最佳实践
php 7 和 php 8 的最佳实践包括:使用类型提示以避免运行时错误;利用命名空间组织代码并避免命名冲突;采用命名参数、联合类型等新特性增强可读性;用错误处理优雅地处理异常;关注性能优化,如避免全局变量和选…...
Debian、Ubuntu 22.04和ubuntu 24.04国内镜像源(包括 docker 源)
Debian 更换国内清华源 1、备份原文件mv /etc/apt/sources.list /etc/apt/sources.list.old 2、写入新源,以下是 Debian 11 的: cat > /etc/apt/sources.list << EOF deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib…...

点亮一个esp32 的led
最近入了一个ESP32 兄弟们,这玩意还可以,买来肯定是给它点亮啊对吧 我就是点灯侠🎇 😭千万不要不接天线啊,不然你会一直找不到你的wifi 1.点灯第一步你得有IDE Arduino 就是这个绿东西 可是怎么下载安装呢ÿ…...
C++ shared_ptr进一步认知,为什么引用计数>2退出作用域都可以调用析构
1.使用智能指针需要#include <memeroy> 2.上代码: #include <memory> #include <iostream> using namespace std; struct lifePeriod {lifePeriod():a(1){cout << "无参构造!" << endl;}virtual ~lifePeriod(…...
JavaScript代码片段二
见过不少人、经过不少事、也吃过不少苦,感悟世事无常、人心多变,靠着回忆将往事串珠成链,聊聊感情、谈谈发展,我慢慢写、你一点一点看...... JavaScript统计文字个数、特殊字符转义、动态插入js代码、身份证验证 统计文字个数 f…...

【计算机视觉】单目深度估计模型-Depth Anything-V2
概述 本篇将简单介绍Depth Anything V2单目深度估计模型,该模型旨在解决现有的深度估计模型在处理复杂场景、透明或反射物体时的性能限制。与前一代模型相比,V2版本通过采用合成图像训练、增加教师模型容量,并利用大规模伪标签现实数据进行学…...
Servlet 和 Spring MVC:区别与联系
前言 在 Java Web 开发中,Servlet 和 Spring MVC 是两个重要的技术。Servlet 是 Java Web 的基础组件,而 Spring MVC 是一个高级 Web 框架,建立在 Servlet 的基础之上,提供了强大的功能和易用性。这篇文章将从定义、原理、功能对…...

苏州SAP代理公司排名:工业园区企业推荐的服务商
目录 一、SAP实施商选择标准体系 1、行业经验维度 2、实施方法论维度 3、资质认证维度 4、团队实力维度 二、SAP苏州实施商工博科技 1、SAP双重认证,高等院校支持 2、以SAP ERP为核心,助力企业数字化转型 三、苏州使用SAP的企业 苏州是中国工业…...

汽配快车道:助力汽车零部件行业的产业重构与数字化出海
汽配快车道:助力汽车零部件行业的数字化升级与出海解决方案。 在当今快速发展的汽车零部件市场中,随着消费者对汽车性能、安全和舒适性的要求不断提高,汽车刹车助力系统作为汽车安全的关键部件之一,其市场需求也在持续增长。汽车…...
Github 2025-05-30Java开源项目日报Top10
根据Github Trendings的统计,今日(2025-05-30统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Java项目10C++项目1TypeScript项目1Keycloak: 现代应用程序和服务的开源身份和访问管理解决方案 创建周期:3846 天开发语言:Java协议类型:Ap…...
Spring AI MCP的几个小问题
测试时间:2025/05/29 测试版本:Spring AI 1.0.0 问题1:由于启动顺序问题,MCP的服务器端和客户端不能在一个应用里,不然客户端连不上服务器会报错退出。(实际项目应该没有这样用的) 问题2:现在如果配置了…...

HTTP 与 HTTPS 深度解析:原理、实践与大型项目应用
1. HTTP 与 HTTPS 基础概念 1.1 HTTP(超文本传输协议) 定义:应用层协议,基于 TCP/IP 通信,默认端口 80 特点: 无状态协议(需 Cookie/Session 维护状态) 明文传输(易被…...

每日刷题c++
快速幂 #include <iostream> using namespace std; #define int long long int power(int a, int b, int p) {int ans 1;while (b){if (b % 2){ans * a;ans % p; // 随时取模}a * a;a % p; // 随时取模b / 2;}return ans; } signed main() {int a, b, p;cin >> a …...
HOW - 简历和求职面试宝典(六)
文章目录 1. 如何更好地认识自己?一、认清自己的实力二、明确求职方向三、认识求职岗位与自己的匹配度2. 如何判断公司是否合适自己?一、网站平台二、内部人员三、通过面试官1. 如何更好地认识自己? 一、认清自己的实力 我们经常会听到这样的话:我现在的工作做的好不开心…...

Taro on Harmony C-API 版本正式开源
Taro 是由京东发起并维护的开放式跨端跨框架解决方案,支持以 Web 的开发范式来实现小程序、H5、原生 APP 的跨端统一开发,从 18 年开源至今,在 GitHub 已累计获得 36,000 Stars。 Taro x 纯血鸿蒙 在过去的一年中,Taro 经历了显…...
Python的分布式网络爬虫系统实现
1. 系统架构概述 一个典型的分布式网络爬虫系统通常包含以下几个核心组件: 1.主节点(Master Node): 任务调度:负责将抓取任务分配给各个工作节点。URL 管理:维护待抓取的 URL 队列和已抓取的 URL 集合&a…...

hbuilder中h5转为小程序提交发布审核
【注意】 [HBuilder] 11:59:15.179 此应用 DCloud appid 为 __UNI__9F9CC77 ,您不是这个应用的项目成员。1、联系这个应用的所有者,请求加入项目成员(https://dev.dcloud.net.cn "成员管理"-"添加项目成员")…...