【数据挖掘 | 数据预处理】缺失值处理 重复值处理 文本处理 确定不来看看?

在这里插入图片描述

🤵‍♂️ 个人主页: @AI_magician
📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。
👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!🐱‍🏍
🙋‍♂️声明:本人目前大学就读于大二,研究兴趣方向人工智能&硬件(虽然硬件还没开始玩,但一直很感兴趣!希望大佬带带)

在这里插入图片描述

【深度学习 | 核心概念】那些深度学习路上必经的核心概念,确定不来看看? (一)
作者: 计算机魔术师
版本: 1.0 ( 2023.8.27 )

摘要: 本系列旨在普及那些深度学习路上必经的核心概念,文章内容都是博主用心学习收集所写,欢迎大家三联支持!本系列会一直更新,核心概念系列会一直更新!欢迎大家订阅

该文章收录专栏
[✨— 《深入解析机器学习:从原理到应用的全面指南》 —✨]

数据预处理

处理缺失值

这些方法的选择取决于数据集的特点、缺失值的模式以及所使用的分析方法。在实际应用中,需要根据具体情况选择适当的方法,并进行验证和评估,以确保处理缺失值的有效性和合理性。

当数据存在空值时(除了看缺失值个数,建议看缺失值的比例, 更具有代表性),

# 自定义analysis函数,实现数据信息探索的描述性统计分析和缺失值分析
def analysis(data):
    print('描述性统计分析结果为:\n', data.describe())
    print('各属性缺失值占比为:\n', 100*(data.isnull().sum() / len(data)))
名称介绍优缺点
删除删除包含缺失值的数据行或列。优点:简单快捷,适用于缺失值较少的情况。缺点:可能会丢失有用的信息,特别是当缺失值的模式与其他变量相关时。如果缺失值占比较大,可能导致样本减少。
插补使用统计方法估计缺失值,并填充数据。常见的插补方法包括均值、中位数、众数、回归等。 或者根据数据实际场景填补, 比如电商手机数据同等系列其他数据可以补充优点:保留样本量,不会丢失数据。缺点:可能引入估计误差,可能改变数据的分布和关系。插补方法的选择和质量对结果影响较大。
标记使用特殊值(如NaN、-1)或标签(如"Unknown", “其他”)来标记缺失值。优点:简单直观,不会改变数据的分布和关系。缺点:在某些算法中可能会引入偏差。处理标记值的方式需要小心,以免引入错误。
分类将缺失值作为一个特殊的类别对待。优点:不会丢失信息,适用于缺失值有特别含义的情况。缺点:可能会使数据变得更复杂,某些算法可能需要额外的调整才能处理分类特征。
多重插补使用多个插补模型,通过迭代的方式进行插补优点:可以更准确地估计缺失值,并提供不确定性估计。缺点:计算复杂度较高,可能需要更长 的处理时间。需要小心处理迭代过程中的收敛性和稳定性。
模型预测使用机器学习模型来预测缺失值。可以使用其他特征作为输入,预测缺失值。优点:可以更准确地估计缺失值,考虑了特征之间的关系。缺点:计算复杂度较高,需要训练和调整模型。可能会引入模型预测误差。
插补法

对于时间序列的数据,以下几种插值方法比较常用和建议使用:

  1. 线性插值:线性插值是最简单和常用的插值方法之一。它假设数据在两个已知数据点之间是线性变化的,通过计算两个已知数据点之间的线性函数来填充空值。线性插值简单、快速,并且可以适用于大多数情况。

  2. 拉格朗日插值:拉格朗日插值是一种多项式插值方法,它通过计算一个多项式函数来逼近数据的变化。拉格朗日插值可以更准确地拟合数据的非线性变化,但对于大规模数据集和高阶多项式,计算量可能较大。

  3. 样条插值:样条插值是一种平滑的插值方法,通过拟合一条平滑的曲线来逼近数据的变化。样条插值可以处理数据的曲线和趋势变化,常用的样条插值方法包括线性样条插值、三次样条插值等。

  4. 时间序列模型插值:对于时间序列数据,可以使用时间序列模型来预测和填充空值。常用的时间序列模型包括ARIMA模型、指数平滑模型、神经网络模型等。这些模型可以根据时间的趋势、季节性等特征来预测未来的数值,并填充空值。

选择插值方法时,应根据时间序列数据的性质和特征选择最适合的方法。对于平稳的时间序列,线性插值或拉格朗日插值可能足够;对于非线性或具有季节性的时间序列,样条插值或时间序列模型插值可能更合适。

此外,还可以根据数据的连续性和周期性来选择插值方法。例如,对于缺失的周期性数据,可以使用周期性插值方法,如周期移动平均或周期性线性插值。

处理重复值

方法名称方法介绍优缺点
删除重复值从数据集中删除所有重复的观测值或行。优点:简单快捷;缺点:可能会导致数据丢失,特别是在其他列的值也存在差异的情况下。
唯一化保留数据集中的唯一值,并删除重复的观测值或行。优点:保留了数据集中的唯一信息;缺点:可能会导致数据丢失,特别是在其他列的值也存在差异的情况下。
标记重复值标记数据集中的重复值,以便后续分析中可以识别它们。优点:保留了数据集中的所有信息,并能够识别重复值;缺点:可能会增加数据集的大小,增加后续处理的复杂性。
聚合数据将重复值聚合成单个值,例如计算平均值或合并文本字符串。优点:保留了数据集中的所有信息,并提供了汇总的结果;缺点:根据具体情况,可能会引入汇总误差或信息丢失。
保留第一个/最后一个仅保留重复值中的第一个或最后一个观测值,删除其他重复值。优点:简单易行;缺点:可能会引入偏差,因为保留的观测值可能不代表整个重复值组的特征。

这些方法可以根据具体的数据集和分析需求选择和调整。在处理重复值之前,通常还需要对数据进行排序,以确保相邻观测值之间的一致性。此外,了解数据集中的重复值产生的原因也是很重要的,这有助于确定最适合的处理方法。

注意在使用pd.drop_duplicates() 选择subset某一列避免全部删除

文本处理

当涉及到自然语言处理(NLP)任务时,文本预处理是一个重要的步骤。它旨在将原始文本数据转换为机器学习算法可以理解和处理的格式。下面是几种常见的文本预处理算法,包括它们的介绍以及优缺点。

名称介绍优缺点
分词(Tokenization)将文本拆分为词(或标记)的过程。常见的方法是使用空格或标点符号来分隔词语。例如jieba库(等 )优点:简单快速,适用于大多数NLP任务。缺点:无法处理歧义和特殊情况(如缩写词和复合词)。
停用词去除(Stop Word Removal)停用词是在文本中频繁出现但通常不携带太多信息的单词(如“the”、“is”、“and”等)。该算法的目标是从文本中去除这些停用词。一般来说有现成的停用词, 实际还要根据实际问题去除额外不需要的文本优点:减少数据维度,提高后续步骤的效果。缺点:有时可能会去除一些重要的上下文信息。
规范化(Normalization)将文本中的单词转换为标准形式,以消除词形变化对分析的影响。例如,将单词的时态、数目和人称转换为统一形式。优点:减少词汇的多样性,提高模型的泛化能力。缺点:可能导致一些信息的丢失。
词干提取(Stemming)通过去除单词的后缀,将单词转换为它的词干形式。例如,将“running”、“runs”和“ran”转换为“run”。优点:简单快速,适用于一些信息检索任务。缺点:可能得到不是真正存在的词汇形式。
词形还原(Lemmatization)将单词还原为它的基本形式(称为词元),具有语义上的准确性。例如,将“am”、“are”和“is”还原为“be”。优点:提供更准确的词汇形式,适用于要求高精度的任务。缺点:计算成本较高,速度较慢。
清洗(Cleaning)去除文本中的噪声、表情、特殊字符和HTML标签或表情符号(一般是&字母;)等非文本数据。根据数据集去除对目标无用的数据,例如电商数据默认好评”您没有填写内容,默认好评“优点:提高文本质量,减少不相关的信息。缺点:可能会丢失一些有用的特征。
编码(Encoding)将文本转换为数字表示形式,以便机器学习算法能够处理。常见的编码方法包括独热编码、词袋模型和词嵌入。优点:方便算法处理,保留了一定的语义信息。缺点:可能无法捕捉词语之间的关系和上下文信息。

这些算法通常会根据具体任务和数据集的特点进行组合使用。选择适当的文本预处理步骤取决于任务的目标和数据的特点。

在这里插入图片描述

						  🤞到这里,如果还有什么疑问🤞
					🎩欢迎私信博主问题哦,博主会尽自己能力为你解答疑惑的!🎩
					 	 🥳如果对你有帮助,你的赞是对博主最大的支持!!🥳

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Ansible 安装部署及常用命令和17个模块详解

目录 Ansible 1 ansible 环境安装部署 1.1 管理端安装 ansible 1.2 ansible 目录结构 1.3 配置主机清单 1.4 配置密钥对验证 2 ansible 命令行模块 2.1 command 模块 2.2 shell 模块 2.3 cron 模块 2.4 user 模块 2.5 group 模块 2.6 copy 模块 2.7 file 模块 2.…

第65讲:MySQL存储过程之循环语法的核心概念与应用案例

文章目录 1.存储过程中循环的种类2.WHILE循环控制2.1.WHILE循环语法格式2.2.WHILE循环经典案例 3.REPEAT循环控制3.1.REPEAT循环语法结构3.2.REPEAT循环经典案例 4.LOOP循环控制4.1.LOOP循环语法结构4.2.LOOP循环经典案例一4.3.LOOP循环经典案例二 1.存储过程中循环的种类 在存…

九州未来入选“2023边缘计算产业图谱”三大细分领域

10月26日,边缘计算社区正式发布《2023边缘计算产业图谱》,九州未来凭借深厚的技术积累、优秀的产品服务、完善的产品解决方案体系以及开源贡献,实力入选图谱——边缘计算平台、边缘计算开源、边缘云服务提供商三大细分领域,充分彰…

安防监控项目---web点灯(网页发送命令控制A9的led)

文章目录 前言一、web点亮LED流程二、静态网页设计(html界面)三、 CGI和BOA在本项目中的使用总结 前言 书接上期,和大家分享的是web点灯,哈哈哈,谈论起点灯这个词,这么久以来我已然已经成长为一名合格的点…

JVM(Java Virtual Machine)G1收集器篇

前言 本文参考《深入理解Java虚拟机》,本文主要介绍G1收集器的收集思想和具体过程(填上一篇文章留下的坑) 本系列其他文章链接: JVM(Java Virtual Machine)内存模型篇 JVM(Java Virtual Machi…

网络安全中常见的问题和隐患

网络安全是当今数字化世界中的一个重要问题,各种隐患和威胁不断涌现。其中,IP地址与网络安全之间有着密切的联系。本文将讨论网络安全中常见的问题和隐患,以及如何通过查询IP地址来解决一些与之相关的问题。 常见网络安全问题和隐患 1. 黑客…

ceph高可用

配置基础环境 # 关闭防火墙 systemctl stop firewalld systemctl disable firewalld# 关闭selinux setenforce 0 sed -i s/^SELINUX.*/SELINUXdisabled/ /etc/selinux/config 安装基础环境 然后安装ceph的密钥,centos7和8都要执行,下面不特别说明都是c…

C#,数值计算——分类与推理Svmpolykernel的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { public class Svmpolykernel : Svmgenkernel { public int n { get; set; } public double a { get; set; } public double b { get; set; } public double d { get; set; …

CPU架构之x86解读

一.什么是x86架构 X86架构:是微处理器执行的计算机语言指令集,指一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集。 二、x86架构的优势 技术成熟:x86架构的芯片经过多年的发展,已经…

目标检测 YOLOv5 预训练模型下载方法

目标检测 YOLOv5 预训练模型下载方法 flyfish https://github.com/ultralytics/yolov5 https://github.com/ultralytics/yolov5/releases 可以选择自己需要的版本和不同任务类型的模型 后缀名是pt

AR眼镜安卓主板,智能眼镜光机方案定制

AR智能眼镜是一项涉及广泛技术的创新产品,它需要考虑到光学、显示、功耗、散热、延迟、重量以及佩戴人体工学等多个方面的因素,每一个项目都是技术进步所需攻克的难题。 在本文中,我们将重点讨论AR眼镜的主板和光学方案。 首先是AR智能眼镜的…

优化改进YOLOv5算法:加入SPD-Conv模块,让小目标无处遁形——(超详细)

1 SPD-Conv模块 论文:https://arxiv.org/pdf/2208.03641v1.pdf 摘要:卷积神经网络(CNNs)在计算即使觉任务中如图像分类和目标检测等取得了显著的成功。然而,当图像分辨率较低或物体较小时,它们的性能会灾难性下降。这是由于现有CNN常见的设计体系结构中有缺陷,即使用卷积…

【Go入门】GO流程与函数介绍(代码运行逻辑控制)

流程和函数 这小节我们要介绍Go里面的流程控制以及函数操作。 流程控制 流程控制在编程语言中是最伟大的发明了,因为有了它,你可以通过很简单的流程描述来表达很复杂的逻辑。Go中流程控制分三大类:条件判断,循环控制和无条件跳…

【教3妹学编辑-算法题】H 指数 II

3妹:2哥早啊, 新的一周开始了,奥利给!!! 2哥 :3妹,今天起的很早嘛,精神也很饱满。 3妹:昨天睡的早,早睡早起好身体! 2哥:既然离时间还…

云服务器的先驱,亚马逊云科技海外云服务器领军者

随着第三次工业革命的发展,移动互联网技术带来的信息技术革命为我们的生活带来了极大的便捷。其中,不少优秀的云服务器产品发挥了不可低估的作用,你或许听说过亚马逊云科技、谷歌GCP、IBM Cloud等优秀的海外云服务器。那么云服务器有哪些&…

Xcode15 模拟器 Rosetta 模式

打开Xcode15的方式其实没有Rosetta 选项了,但是可以跑Xcode默认Rosetta 模拟器。在xcode中如下方式打开: Product -> Destination -> Destination Architectures -> 打开Show Rosetta Destinations 然后用这些带Rosetta的模拟器运行&#xff1…

【SVN内网穿透】实现远程访问Linux SVN服务

文章目录 前言1. Ubuntu安装SVN服务2. 修改配置文件2.1 修改svnserve.conf文件2.2 修改passwd文件2.3 修改authz文件 3. 启动svn服务4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射本地端口 5. 测试公网访问6. 配置固定公网TCP端口地址6.1 保留一个固定的公网TCP端口地址6…

C++ 指针

*放在哪里? 如果声明一个变量:int* b; 如果声明多个变量:int a,*b,*c; nullptr c11中NULL的变形,是一个特殊值,可以赋给任意类型的指针,代表该指针指向为空。 this指针 this指针不是一个const Test*(…

深度学习(生成式模型)——DDIM:Denoising Diffusion Implicit Models

文章目录 前言为什么DDPM的反向过程与前向过程步数绑定DDIM如何减少DDPM反向过程步数DDIM的优化目标DDIM的训练与测试 前言 上一篇博文介绍了DDIM的前身DDPM。DDPM的反向过程与前向过程步数一一对应,例如前向过程有1000步,那么反向过程也需要有1000步&a…

算法通关村第四关-黄金挑战栈的经典问题

括号匹配问题 描述 : 给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有…