数据挖掘-数据预处理
来自🥬🐶程序员 Truraly | 田园 的博客,最新文章首发于:田园幻想乡 | 原文链接 | github (欢迎关注)
文章目录
- 3.3.1 数据的中心趋势
- 平均数和加权平均数
- 众数,中位数和均值
- 描述数据的离散程度 & 箱线图
- 其他描述数据的方法
- 3.4 数据清洗
- 3.4.1 缺失值
- 3.4.2 数据清洗
- 3.5 数据集成和转换
- 3.5.3 数据转换
- 3.6 数据规约和数据变换
- 3.6.2 数据离散化
数据类型:
- 名称型:区别性 比如:性别
- 顺序型:区别性,顺序性 比如:身高
- 间隔型:区别性,顺序性,可加减 比如:温度
- 比率型:区别性,顺序性,可加减,可乘除 比如:百分比
为什么要预处理数据:
- 数据不完整,比如缺失值
- 数据不一致,比如单位不一致
- 有噪声,比如错误数据
3.3.1 数据的中心趋势
平均数和加权平均数
首先这里有一组数据
1,,53,22,39,73,9,14
(算数)平均值:
x ‾ = 1 n ∑ i = 1 n x i \overline{x}=\frac{1}{n}\sum_{i=1}^{n}x_{i} x=n1∑i=1nxi
加权平均值:
x ‾ = ∑ i = 1 n w i x i ∑ i = 1 n w i \overline{x}=\frac{\sum_{i=1}^{n}w_{i}x_{i}}{\sum_{i=1}^{n}w_{i}} x=∑i=1nwi∑i=1nwixi
其中: w i 是权重 x i 是数据 其中: w_{i} 是权重 x_{i} 是数据 其中:wi是权重xi是数据
众数,中位数和均值
参考资料:偏态分布的左偏右偏如何理解?| 知乎
众数:出现次数最多的数
中位数:将数据从小到大排列,中间的数
均值:平均数

上图情况为左偏态,反之为右偏态,中间为正态
描述数据的离散程度 & 箱线图
参考资料:箱形图 | 百度
- 最小值(0 分位数)Q0
- 最大值(1 分位数)
- 中位数(0.5 分位数)Q2 (n+1)/2 位
- 四分位数(0.25 分位数,0.75 分位数)Q1 Q3 (n+1)/4 位 (3n+3)/4 位
中间四分位数极差:IQR = Q3 - Q1
上限:Q3 + k * IQR
下限:Q1 - k * IQR
k 为一个常数,经验值为 1.5,区间外的数据为离群点,可根据情况忽视或者删除

EG:1 2 2 5 6 9 9
Q0 = 1
Q1 = 2
M = 5
Q3 = 91 2 2 5 6 7 8 9 9
Q0 = 1
Q1 = 第2.5位 = 2
M = 第5位 = 6
Q3 = 第7.5位 = 8*0.5+9*0.5 = 8.51 2 3 4 5 6 7 8
Q0 = 1
Q1 = 第2.25位 = 2*0.75+3*0.25 = 2.25
M = 第4.5位 = 4.5
Q3 = 第6.75位 = 6*0.25+7*0.75 = 6.75
其他描述数据的方法
直方图:横轴为数据,纵轴为频数
分位图:横轴为数据,纵轴为累计频数
Q-Q 图:横轴为理论分位数,纵轴为样本分位数
散点图:横轴为数据,纵轴为数据
3.4 数据清洗
3.4.1 缺失值
缺失值的处理:
- 整条数据删除
- 人工填写
- 填写统一值
- 使用均值或者中位数填写(减少数据的方差)
- 使用类似数据的均值或者中位数填写(进一步减少影响)
3.4.2 数据清洗
针对数据的噪声,比如错误数据,重复数据,不一致数据
使用分箱方法,将数据分为多个箱子,然后将箱子中的数据替换为箱子的均值,这样可以减少噪声的影响(数据平滑)
- 等宽分箱:将数据分为相同宽度的箱子,比如 0-10,10-20,20-30,依次将数据放入对应的箱子(箱子内数据不一致)。宽度一般为
w = m a x ( d a t a ) − m i n ( d a t a ) N w=\frac{max(data)-min(data)}{N} w=Nmax(data)−min(data)
- 等频分箱:将数据平等分为 n 份,每份数据个数相同
EG:
4 8 9 15 21 21 24 25 26 28 29 34
等宽分箱:
w = (34-4)/3 = 10
[4,14) | [14,24) | [24,34]
4 8 9 | 15 21 21 | 24 25 26 28 29 34等频分箱:
w = 12/3 = 4 箱
4 8 9 15 | 21 21 24 25 | 26 28 29 34
3.5 数据集成和转换
3.5.3 数据转换
数据规范化:
- 最大最小规范化:将数据转换到某一区间。比如[0,1],公式为:
X ∗ = X − X m i n X m a x − X m i n X^{*}=\frac{X-X_{min}}{X_{max}-X_{min}} X∗=Xmax−XminX−Xmin
- Z-Score 规范化:将数据转换为均值为 0,标准差为 1 的数据。公式为:
X ∗ = X − X ‾ S X^{*}=\frac{X-\overline{X}}{S} X∗=SX−X
其中:
X ‾ 为均值 \overline{X} 为均值 X为均值
S 为标准差
S = 1 n ∑ i = 1 n ( X i − X ‾ ) 2 S=\sqrt{\frac{1}{n}\sum_{i=1}^{n}(X_{i}-\overline{X})^{2}} S=n1∑i=1n(Xi−X)2
3.6 数据规约和数据变换
数据立方体聚合:将数据按照维度进行聚合,比如按照时间维度,地理维度,产品维度等
线性回归分析:使用线性方程拟合数据,然后使用方程代替数据
采样方法:对于类似的一个数据簇,可以使用其中一部分数据代替整个簇,要注意在整体中每个簇代替的数据比例要相同
3.6.2 数据离散化
数据离散化:将连续数据转换为离散数据,比如将年龄分为 0-10,10-20,20-30 等
数据离散化的方法:
- 基于信息增益的方法:使用熵来衡量数据的离散程度,熵越大,数据越离散,熵越小,数据越集中。使用信息增益来衡量数据的离散程度,信息增益越大,数据越离散,信息增益越小,数据越集中。信息增益的计算公式为:
I ( S , T ) = E n t r o p y ( S ) − ∑ v ∈ T ∣ S v ∣ ∣ S ∣ E n t r o p y ( S v ) I(S,T) = Entropy(S) - \sum_{v\in T}\frac{|S_{v}|}{|S|}Entropy(S_{v}) I(S,T)=Entropy(S)−∑v∈T∣S∣∣Sv∣Entropy(Sv)
其中:
E n t r o p y ( S ) = − ∑ i = 1 n p i l o g 2 p i Entropy(S) = -\sum_{i=1}^{n}p_{i}log_{2}p_{i} Entropy(S)=−∑i=1npilog2pi
S 为数据集, T 为数据集的一个属性, S v 为 T 的一个值, p i 为 S v 中第 i 个类别的概率 S 为数据集,T 为数据集的一个属性,S_{v} 为 T 的一个值,p_{i} 为 S_{v} 中第 i 个类别的概率 S为数据集,T为数据集的一个属性,Sv为T的一个值,pi为Sv中第i个类别的概率
这个东西后面 ID3 决策树会用到
- 基于卡方检验的方法:使用卡方检验来衡量数据的离散程度,卡方检验越大,数据越离散,卡方检验越小,数据越集中。卡方检验的计算公式为:
χ 2 = ∑ i = 1 n ( A i − E i ) 2 E i \chi^{2} = \sum_{i=1}^{n}\frac{(A_{i}-E_{i})^{2}}{E_{i}} χ2=∑i=1nEi(Ai−Ei)2
其中:
A i 为实际值, E i 为期望值 A_{i} 为实际值,E_{i} 为期望值 Ai为实际值,Ei为期望值
- 基于自然分区的方法:使用人工的方式将数据分为多个区间,比如年龄分为 0-10,10-20,20-30 等
————————————————
版权声明:本文为 田园幻想乡 的原创文章,遵循 CC 4.0 BY-NA-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:http://truraly.fun/课程笔记/数据挖掘/【3】数据预处理.html
相关文章:
数据挖掘-数据预处理
来自🥬🐶程序员 Truraly | 田园 的博客,最新文章首发于:田园幻想乡 | 原文链接 | github (欢迎关注) 文章目录 3.3.1 数据的中心趋势平均数和加权平均数众数,中位数和均值描述数据的离散程度 &a…...
【调试笔记-20240723-Linux-gitee 仓库同步 github 仓库,并保持所有访问链接调整为指向 gitee 仓库的 URL】
调试笔记-系列文章目录 调试笔记-20240723-Linux-gitee 仓库同步 github 仓库,并保持所有访问链接调整为指向 gitee 仓库的 URL 文章目录 调试笔记-系列文章目录调试笔记-20240723-Linux-gitee 仓库同步 github 仓库,并保持所有访问链接调整为指向 gite…...
《GPT-4o mini:开启开发与创新的新纪元》
在科技发展的快速进程中,OpenAI 推出的 GPT-4o mini 模型如同一阵春风,给开发者们带来了新的希望和机遇。它以其卓越的性能和极具吸引力的价格,成为了行业内热议的焦点。 当我首次听闻 GPT-4o mini 的消息时,内心充满了好奇与期待…...
生成树协议配置与分析
前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 一、相关知识 1、生成树协议简介 生成树协议(STP)是一种避免数据链路层逻辑环路的机制,它通过信息交互识别环路并…...
Golang | Leetcode Golang题解之第287题寻找重复数
题目: 题解: func findDuplicate(nums []int) int {slow, fast : 0, 0for slow, fast nums[slow], nums[nums[fast]]; slow ! fast; slow, fast nums[slow], nums[nums[fast]] { }slow 0for slow ! fast {slow nums[slow]fast nums[fast]}return s…...
【音视频SDL2入门】创建第一个窗口
文章目录 前言创建窗口的流程需要使用的函数1. 初始化 SDL 库2. 创建 SDL 窗口3. 获取与窗口关联的表面SDL_FillRect 函数介绍4. 更新窗口表面5. 延迟一定时间6. 销毁窗口并退出 SDL 库示例代码总结 前言 SDL2(Simple DirectMedia Layer)是一个跨平台的…...
《置身事内:中国政府与经济发展》生活过得好一点,比大多数宏伟更宏伟
《置身事内:中国政府与经济发展》生活过得好一点,比大多数宏伟更宏伟 兰小欢,复旦大学中国社会主义市场经济研究中心、经济学院副教授,上海国际金融与经济研究院研究员。美国弗吉尼亚大学经济学博士。 上海人民出版社 文章目录 《…...
MongoDB教程(十八):MongoDB MapReduce
💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 文章目录 引言一、MapRed…...
HTML前端面试题之<iframe>标签
面试题:iframe 标签的作用是什么?有哪些优缺点 ? 讲真,刷这道面试题之前我根本没有接触过iframe,网课没讲过,项目实战没用过,但却在面试题里出现了!好吧,我只能说:前端路漫漫&…...
Docker-Compose实现MySQL之主从复制
1. 主服务器(IP:192.168.186.77) 1.1 docker-compose.yml services:mysql-master:image: mysql:latest # 使用最新版本的 MySQL 镜像container_name: mysql-master # 容器的名称environment:MYSQL_ROOT_PASSWORD: 123456 # MySQL root 用户的密码MYSQL_DATABASE: masterd…...
jetson显卡没有加速,而是在用cpu推理?
jetson的库,特别是使用显卡的库,大多需要单独安装 大概率是重装了pytorch,可以使用jetson官网的pytorch! 下面是官网的链接 PyTorch for Jetson - Announcements - NVIDIA Developer Forums 安装完成之后先使用命令查看是否安…...
Linux下如何安装配置Fail2ban防护工具
Fail2ban是一款在Linux服务器上用于保护系统免受恶意攻击的防护工具。它通过监视系统日志,检测到多次失败的登录尝试或其他恶意行为后,会自动将攻击源的IP地址加入防火墙的黑名单,从而阻止攻击者进一步访问服务器。本文将介绍如何在Linux系统…...
js的深浅拷贝
深浅拷贝是编程中对数据复制的两种不同方式,它们在处理对象和数组等复合数据结构时尤为重要。下面将详细解释这两种拷贝方式。 浅拷贝(Shallow Copy) 浅拷贝创建了原始对象的一个新实例,但这个新实例的属性只是原始对象属性的引…...
实验八: 彩色图像处理
目录 一、实验目的 二、实验原理 1. 常见彩色图像格式 2. 伪彩色图像 3. 彩色图像滤波 三、实验内容 四、源程序和结果 (1) 主程序(matlab (2) 函数FalseRgbTransf (3) 函数hsi2rgb (4) 函数rgb2hsi (5) 函数GrayscaleFilter (6) 函数RgbFilter 五、结果分析 1. …...
Python酷库之旅-第三方库Pandas(048)
目录 一、用法精讲 171、pandas.Series.nlargest方法 171-1、语法 171-2、参数 171-3、功能 171-4、返回值 171-5、说明 171-6、用法 171-6-1、数据准备 171-6-2、代码示例 171-6-3、结果输出 172、pandas.Series.nsmallest方法 172-1、语法 172-2、参数 172-3、…...
springboot爱宠屋宠物商店管理系统-计算机毕业设计源码52726
目录 摘要 1 绪论 1.1 选题背景与意义 1.2国内外研究现状 1.3论文结构与章节安排 2系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1系统开发流程 2.2.2 用户登录流程 2.2.3 系统操作流程 2.2.4 添加信息流程 2.2.5 修改信息流程 2.2.6 删除信息流程 2.3 系统功能…...
自训练和增量训练word2vec模型
1、自己准备训练语料文件 根据自己的业务场景准备训练数据,比如用户在商城上的同购行为序列或同浏览行为序列。 我们希望通过自己训练业务相关的语料word2vec模型来获得词嵌入、词相关性查询等。 1.1 准备语料库文件 # 示例:准备自己的一个大规模的语…...
华三路由器开启web访问
配置路由器: # 配置Web用户名为admin,认证密码为admin,服务类型为http,用户角色为network-admin。 [Sysname] local-user admin [Sysname-luser-manage-admin] service-type http [Sysname-luser-manage-admin] authorization…...
C++软件开发值得推荐的十大高效软件分析工具
目录 1、概述 2、高效软件工具介绍 2.1、窗口查看工具SPY 2.2、Dependency Walker 2.3、剪切板查看工具Clipbrd 2.4、GDI对象查看工具GDIView 2.5、Process Explorer 2.6、Prcoess Monitor 2.7、API Monitor 2.8、调试器Windbg 2.9、反汇编工具IDA 2.10、抓包工具…...
vue2老项目中node-sass更换dart-sass
更换原因:node-sass经常会出现node版本问题,就很麻烦 卸载项目中的node-sass sass-loader npm uninstall sass-loader sass 安装dart-sas sass-loader 推荐安装sass1.26.2 sass-loader7.3.1 npm install sass-loader7.3.1 sass1.26.2 从新配置vue.…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...
基于Java+MySQL实现(GUI)客户管理系统
客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...
C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...
LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用
中达瑞和自2005年成立以来,一直在光谱成像领域深度钻研和发展,始终致力于研发高性能、高可靠性的光谱成像相机,为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...
6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础
第三周 Day 3 🎯 今日目标 理解类(class)和对象(object)的关系学会定义类的属性、方法和构造函数(init)掌握对象的创建与使用初识封装、继承和多态的基本概念(预告) &a…...
