大数据中的数据预处理:脏数据不清,算法徒劳!
大数据中的数据预处理:脏数据不清,算法徒劳!
在大数据世界里,数据预处理是个让人又爱又恨的环节。爱它,是因为数据预处理做好了,后续的模型跑起来又快又准,仿佛给AI装上了火箭助推器;恨它,是因为数据质量堪忧,脏数据满天飞,预处理过程仿佛在泥潭里行走,一不小心就摔个大跟头。
今天,我们就来聊聊大数据中的数据预处理——如何在茫茫数据海洋中洗净铅华,让你的数据更有“价值感”!
一、数据预处理到底干嘛的?
通俗点说,数据预处理就是给数据洗澡、梳头、化妆,让它能以最佳状态迎接机器学习、数据分析或者存储。主要包括以下几个方面:
- 数据清洗:处理缺失值、去重、格式统一化。
- 数据转换:数据标准化、归一化、类别编码等。
- 数据集成:多源数据的整合,避免数据冲突。
- 数据规约:降维、特征选择、数据采样,减少数据冗余。
- 数据增强:生成合成数据,解决数据不平衡问题。
二、数据清洗:不干不净,模型报病!
1. 处理缺失值
数据缺失是大数据处理中最常见的问题,比如用户注册时部分字段未填、设备采集数据丢失等。常见处理方式包括:
- 删除缺失数据:适用于少量缺失值。
- 均值填充:用均值、中位数或众数填充缺失值。
- 插值法:利用线性回归或时间序列预测填充缺失数据。
- 建模填充:使用机器学习模型预测缺失值。
示例代码(Pandas 处理缺失值):
import pandas as pd
import numpy as np# 创建模拟数据
data = pd.DataFrame({'user_id': [1, 2, 3, 4, 5],'age': [25, np.nan, 30, np.nan, 40],'income': [5000, 7000, np.nan, 10000, 12000]
})# 使用均值填充缺失值
data.fillna(data.mean(), inplace=True)
print(data)
2. 处理重复数据
大数据常常伴随数据重复的问题,比如日志数据去重、电商订单数据去重等。
# 删除重复行
data.drop_duplicates(inplace=True)
三、数据转换:让模型看得懂!
1. 归一化与标准化
当数据指标之间的量纲不同,可能会影响算法的效果。例如工资(几千到几万)和评分(0-5)放在一起,工资的数值明显更大,可能会主导模型。
- 归一化(Min-Max Scaling):把数据缩放到 [0,1] 之间。
- 标准化(Z-score Scaling):让数据服从标准正态分布(均值0,方差1)。
示例代码:
from sklearn.preprocessing import MinMaxScaler, StandardScalerscaler = MinMaxScaler()
data[['income']] = scaler.fit_transform(data[['income']])scaler = StandardScaler()
data[['age']] = scaler.fit_transform(data[['age']])
2. 类别编码
机器学习模型一般不直接处理字符串类别数据,需要转换成数值。
- Label Encoding(标签编码):适用于有序类别数据。
- One-Hot Encoding(独热编码):适用于无序类别数据。
示例代码:
from sklearn.preprocessing import LabelEncoder, OneHotEncoder# 假设有一个类别特征 'city'
data['city'] = ['Beijing', 'Shanghai', 'Guangzhou', 'Beijing', 'Shanghai']# 标签编码
le = LabelEncoder()
data['city_label'] = le.fit_transform(data['city'])# One-Hot 编码
ohe = OneHotEncoder(sparse=False)
encoded_city = ohe.fit_transform(data[['city']])
四、数据集成:东拼西凑,能用就凑?
大数据系统通常需要合并多个数据源,比如用户行为日志、CRM系统数据、社交媒体数据等。不同数据源可能字段格式不一样,合并时需要标准化。
# 通过 user_id 进行数据合并
data1 = pd.DataFrame({'user_id': [1, 2, 3], 'score': [80, 90, 85]})
data2 = pd.DataFrame({'user_id': [1, 2, 4], 'purchase': [200, 500, 150]})merged_data = pd.merge(data1, data2, on='user_id', how='outer')
五、数据规约:大象瘦身,性能飞升!
当数据量过大时,需要降维或采样来提高计算效率。
- PCA(主成分分析):用于降维,保留最重要的信息。
- 特征选择:去掉低相关特征。
- 数据采样:用于处理不均衡数据集,如欠采样和过采样。
示例代码(PCA 降维):
from sklearn.decomposition import PCApca = PCA(n_components=2)
reduced_data = pca.fit_transform(data[['age', 'income']])
六、数据增强:样本不够,自己造!
如果数据集样本不足或类别不均衡,可以使用数据增强技术,比如 SMOTE(Synthetic Minority Over-sampling Technique)。
from imblearn.over_sampling import SMOTE
smote = SMOTE()
x_resampled, y_resampled = smote.fit_resample(x_train, y_train)
结语
数据预处理虽然枯燥,但它是影响大数据项目成败的关键环节。如果数据质量不过关,后续的数据分析、机器学习、AI 训练都可能成为“笑话”。
所以,请记住这句话:“脏数据不清,算法徒劳!”
相关文章:
大数据中的数据预处理:脏数据不清,算法徒劳!
大数据中的数据预处理:脏数据不清,算法徒劳! 在大数据世界里,数据预处理是个让人又爱又恨的环节。爱它,是因为数据预处理做好了,后续的模型跑起来又快又准,仿佛给AI装上了火箭助推器࿱…...
17153 班级活动
17153 班级活动 ⭐️难度:简单 🌟考点:2023、思维、国赛 📖 📚 import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner;public class Main {static int N 10…...
算力100问☞第93问:算力资源为何更分散了?
目录 1、政策驱动与地方投资的盲目性 2、美国芯片断供与国产替代的阵痛 3、政企市场对私有云的偏好 4、技术标准与供需结构的失衡 5、产业生态与市场机制的滞后 6、破局路径与未来展望 在大模型和人工智能技术快速发展的背景下,算力资源已成为数字经济时代的核心基础设施…...
记录 macOS 上使用 Homebrew 安装的软件
Homebrew 是 macOS 上最受欢迎的软件包管理器之一,能够轻松安装各种命令行工具和 GUI 应用。本文记录了我通过 Homebrew 安装的各种软件,并对它们的用途和基本使用方法进行介绍。 🍺 Homebrew 介绍 Homebrew 是一个开源的包管理器ÿ…...
Java 安装开发环境(Mac Apple M1 Pro)
下载 Java Downloads 查看本地安装的 JDK 所在位置以及 JAVA 版本 系统默认的安装处 /Library/Java/JavaVirtualMachines配置Java 添加环境变量 vim ~/.bash_profileAdd # 安装位置 export JAVA_11_HOME"/Library/Java/JavaVirtualMachines/zulu-11.jdk…...
微前端框架的实战demo
以下是基于主流微前端框架的实战 Demo 开发指南,综合多个开源项目与实践案例整理而成: 一、qiankun 框架实战 1. 核心架构 主应用:负责路由分发、子应用注册与生命周期管理子应用:独立开发部署,支持不同技术栈&#…...
win32汇编环境,网络编程入门之九
;在上一教程里,我们学习了在连接成功网站后,应该发送什么数据给网站 ;在前面的几个教程里,简单地运行了套接字机制连接网站的方式,这是字节级的网络连接,扩展几乎是无限的。 ;想了想,这个开个头就行了&…...
OceanBase 4.3.3 AP 解析:应用 RoaringBitmaps 类型处理海量数据的判重和基数统计
对于大数据开发人员而言,处理海量数据的判重操作和基数统计是常见需求,而 RoaringBitmap类型及其相关函数是当前非常高效的一种解决方案,许多大数据库产品已支持RoaringBitmap类型。OceanBase 4.3.3版本,作为专为OLAP场景设计的正…...
点亮STM32最小系统板LED灯
对于如何点亮板载LED灯只需要掌握如何初始化GPIO引脚,并改变GPIO引脚的电平即可实现点亮或者熄灭LED。 Led_INFO led_info {0}; led_info 是一个结构体变量,类型为 Led_INFO,用于存储LED的状态信息。这里初始化为 {0},表示所有成…...
分区表的应用场景与优化实践
当表的数据量非常大,达到几千万甚至上亿行时,全表扫描会很慢,这时候分区可以帮助缩小扫描范围。比如,在一个电商系统中,订单表可能按月份分区,这样查询某个月的订单时,只需要扫描对应的分区,而不是整个表。或者在日志系统中,按天分区,方便归档和删除旧日志。 另外,如…...
如何高效参与 GitHub 知名项目开发并成为核心贡献者
参与知名 GitHub 项目开发不仅能提升你的编程能力,还能积累开源贡献经验,甚至为求职加分。以下是详细步骤: 1. 选择合适的 GitHub 项目 (1) 确定兴趣方向 后端开发:Spring、Spring Boot、Netty前端开发:React、Vue、…...
AIGC 新势力:探秘海螺 AI 与蓝耘 MaaS 平台的协同创新之旅
探秘海螺AI:多模态架构下的认知智能新引擎 在人工智能持续进阶的进程中,海螺AI作为一款前沿的多功能AI工具,正凭借其独特的多模态架构崭露头角。它由上海稀宇科技有限公司(MiniMax)精心打造,依托自研的万亿…...
银河麒麟桌面版包管理器(三)
以下内容摘自《银河麒麟操作系统进阶应用》一书 麒麟系统软件源配置 使用官方内置源时,无须任何操作。仅在使用其他镜像源(Mirror)时,需要修改/etc/apt/sources.list文件,根据不同版本,将原始sources.lis…...
在 .NET 9.0 Web API 中实现 Scalar 接口文档及JWT集成
示例代码:https://download.csdn.net/download/hefeng_aspnet/90408075 介绍 随着 .NET 9 的发布,微软宣布他们将不再为任何 .NET API 项目提供默认的 Swagger gen UI。以前,当我们创建 .NET API 项目时,微软会自动添加 Swagger…...
XSS跨站脚本攻击漏洞(Cross Site Scripting)
前提概要 本文章主要用于分享XSS跨站脚本攻击漏洞基础学习,以下是对XSS跨站脚本攻击漏洞的一些个人解析,请大家结合参考其他文章中的相关信息进行归纳和补充。 XSS跨站脚本攻击漏洞描述 跨站脚本攻击(XSS)漏洞是一种常见且危害较…...
Android:蓝牙设置配套设备配对
一、概述 在搭载 Android 8.0(API 级别 26)及更高版本的设备上,配套设备配对会代表您的应用对附近的设备执行蓝牙或 Wi-Fi 扫描,而不需要 ACCESS_FINE_LOCATION 权限。这有助于最大限度地保护用户隐私。使用此方法执行配套设备&am…...
MFC中CString类型是如何怎么转std::string的
文章目录 一、转换方法总结二、详细步骤1. Unicode 项目(CStringW → std::string)2. 多字节项目(CStringA → std::string) 三、注意事项四、总结更多信息(知识点存在重复,可跳过)方法 1:项目使用 Unicode…...
使用vscode搭建pywebview集成vue项目示例
文章目录 前言环境准备项目源码下载一、项目说明1 目录结构2 前端项目3 后端项目获取python安装包(选择对应版本及系统) 三、调试与生成可执行文件1 本地调试2 打包应用 四、核心代码说明1、package.json2、vite.config.ts设置3、main.py后端入口文件说明 参考文档 前言 本节我…...
JAVASCRIPT 基础 DOM元素,MAP方法,获取输入值
从输入框获取数据的一般写法是: javascript const w parseFloat(document.getElementById("weight").value); const h parseFloat(document.getElementById("height").value); 而从弹窗获取数据一般写法是: javascript const w …...
VLAN间通信
目录 第一步:配vlan 第二步:配置核心vlanif,MAC地址信息。 第三步:ospf协议 三层交换机(汇聚层): 对于交换机、路由器、防火墙等网络设备而言,接口类型一般存在两种:二层接口,三…...
MySQL颠覆版系列————MySQL新特性(开启数据库的新纪元)上篇
文章目录 前言一、窗口函数(Window Functions)1.1 窗口函数概念1.2 常见的窗口函数 二、公用表表达式(Common Table Expressions, CTEs)2.1 公用表表达式的概念2.2 常见的公用表表达式 三、JSON增强3.1 JSON增强的概念3.2 常见的J…...
5.安全相关(双手启动、安全触边传感器)
一、关于双手启动按钮的使用规范 本文介绍双手启动按钮的使用。概括来讲: 双手按下之间的时间差间隔应该在0.5-2秒之间。一旦释放任何一个按钮,启动信号输出结束。只有两个按钮都被释放之后,才能再次触发双手启动信号。如果某按钮被按下超过…...
国产达梦(DM)数据库的安装(Linux系统)
目录 一、安装前的准备工作 1.1 导包 1.2 创建用户和组 1.3 修改文件打开最大数 1.4 目录规划 1.5 修改目录权限 二、安装DM8 2.1 挂载镜像 2.2 命令行安装 2.3 配置环境变量 2.4 启动图形化界面 三、配置实例 四、注册服务 五、启动 停止 查看状态 六、数据库客…...
mapper.xml中 “http://mybatis.org/dtd/mybatis-3-mapper.dtd“> 报错的解决方法
我用mybatisx自动生成代码,但是mapepr.xml中的 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">报错,如下图,圈起来的部分是之前的报错,现在已经解决,所以没有爆红: 解决方法:…...
01_JavaScript
目录 一、js介绍、能做什么 --了解 二、JavaScript的组成-重点 三、JavaScript代码的书写位置 行内JS 内嵌 JS 外链 JS 四、JS 中的注释 单行 多行 五、变量(重点) 定义变量及赋值 变量的命名规则和命名规范 六、数据类型(重…...
数组作为哈希表的妙用:寻找缺失的第一个正数
数组作为哈希表的妙用:寻找缺失的第一个正数 大家好,我是Echo_Wish,今天我们来探讨一个经典的算法问题——“缺失的第一个正数”。听起来可能有点简单,但它实际上是一个非常有意思且富有挑战性的题目,在面试中常常会碰…...
JAVA学习*Object类
Object类 Object类是所有类的父类 类中有一些方法(都需要掌握) toString()方法 在学习类的对象的时候有介绍过了,当我们重新给此方法就会打印类与对象的信息 equals()方法 在Java中的比较, 如果左右两侧是基本类型变量&#…...
《论语别裁》第02章 为政(03)星辰知多少
第二个问题说到“北辰”。我们中国文化发达得最早的是天文。过去我们把天体分成二十八宿和三垣——紫微、少微、太微,类似于我们现在讲天文的经纬度。经纬度是西方的划分法。曾经有位天文学家主张,我们自己重新划过,不照西方的度数划…...
git_version_control_proper_practice
git_version_control_proper_practice version control,版本控制的方法之一就是打tag 因为多人协作的项目团队,commit很多,所以需要给重要的commit打tag,方便checkout,检出这个tag 参考行业的实践方式。如图git、linux…...
playwright-go实战:自动化登录测试
1.新建项目 打开Goland新建项目playwright-go-demo 项目初始化完成后打开终端输入命令: #安装项目依赖 go get -u github.com/playwright-community/playwright-go #安装浏览器 go run github.com/playwright-community/playwright-go/cmd/playwrightlatest insta…...
手机扫描仪 含PDF转word功能+OCR识别110种语言
TapScanner Premium 是一款功能强大的手机扫描仪应用,支持 PDF 合并、分割以及转换为 Word 文档格式,还具备 OCR 识别功能,可识别 110 种语言。汉化中文且已激活全部功能,可免费使用。 该应用操作简洁,扫描文档、收据…...
数据可视化在商业智能中的应用:从数据到洞察的桥梁
数据可视化在商业智能中的应用:从数据到洞察的桥梁 大家好,我是Echo_Wish。今天,我们来探讨一个数据领域的热门话题——数据可视化在商业智能中的应用。在数据驱动的时代,如何从海量的数字和信息中提炼出有价值的洞察,成为了企业决策的关键。而数据可视化,正是将枯燥的数…...
【HarmonyOS Next的奇幻大冒险】DevEco Studio的AI助手CodeGenie挺好用
遇到些问题在官网搜不出答案,CodeGenie都给解决了! 不过我的问题可能比较初级,往后再看看它的能力怎么样 下面的截图是关于其中一个问题的对话。可见CodeGenie干脆利索,并且给出了相关知识点在官网上的参考信息链接,大…...
替代-UX设计师
初创公司如何在没有设计师的情况下 打造实用的用户体验 一个常见的捷径是使用预构建的组件库,如谷歌的 Material UI它们为你提供了构建块,但它们并没有为你考虑整个用户流程你仍然需要弄清楚所有这些是如何组合在一起的但是,很多时候&#x…...
ISIS-1 ISIS概述
前面几章我们介绍了OSPF的基础工作原理以及怎样交互LSA形成LSDB链路状态数据库的 这一章我们来介绍另一个链路状态路由协议,ISIS路由协议 一、概述 ISIS(Intermediate System to Intermediate System,中间系统到中间系统)是由ISO(International Organization for Standardiza…...
电脑上不了网普通用户排除方法
1:首先通过电脑的运行/CMD/ipconfig /all 命令查看电脑的ip地址是否正常如图: 2:在命令行中运行:ping 127.0.0.1 如图则正常,否则要重新安装网卡驱动 程序。 3:用ping命令,ping一下同网段的电…...
Qt 控件概述 QLCDNumber 和 Progressbar
目录 QLCDNumber 进度条 定时器进度条的实现 通过stylesheet来改变进度条颜色 QLCDNumber LCD数字显示器 实现一个定时器 QLCDNumber 进度条 定时器进度条的实现 为什在Widget.h种头文件并没有包含QTimer这个头文件,却还可以申明一个TImer指针呢?…...
2025.03.21首板涨停股票分析
目录 1 涨停原因分析2 交易建议 1 涨停原因分析 2 交易建议...
数据库的DDL操作
目录 一、创建数据库 (1)字符集和校验集 二、操作数据库 (1)查看数据库 (2)显示创建语句 (3)修改数据库 (4)删除数据库 三、数据库的备份与恢复 四、…...
Docker 部署 Graylog 日志管理系统
Docker 部署 Graylog 日志管理系统 前言一、准备工作二、Docker Compose 配置三、启动 Graylog 服务四、访问 Graylog Web 界面总结 前言 Graylog 是一个开源的日志管理平台,专为实时日志收集、分析和可视化设计。它支持强大的搜索功能,并且与 Elastics…...
特征工程自动化(FeatureTools实战)
目录 特征工程自动化(FeatureTools实战)1. 引言2. 项目背景与意义2.1 特征工程的重要性2.2 自动化特征工程的优势2.3 工业级数据处理需求3. 数据集生成与介绍3.1 数据集构成3.2 数据生成方法4. 自动化特征工程理论基础4.1 特征工程的基本概念4.2 FeatureTools库简介4.3 关键公…...
Linux:xxx is not in the sudoers file. This incident will be reported.
报错 xxx is not in the sudoers file. This incident will be reported.解决方式 切换到root用户下操作 # 1、修改/etc/sudoers文件为可修改,默认是只读的 ls -lh /etc/sudoers -r--r----- 1 root root 4.3K Dec 1 01:45 /etc/sudoerschmod uw /etc/sudoersls…...
fastapi+playwright爬取google搜索1-3页的关键词返回json
1,playwright无头 2,代理池随机获取代理ip 3,随机浏览行为,随机页面滚动 4,启用stealth模式 5,随机延时搜索 from fastapi import FastAPI, HTTPException from fastapi.responses import JSONResponse import asyncio from concurrent.futures import ThreadPool…...
论文阅读笔记:Denoising Diffusion Probabilistic Models (3)
论文阅读笔记:Denoising Diffusion Probabilistic Models (1) 论文阅读笔记:Denoising Diffusion Probabilistic Models (2) 论文阅读笔记:Denoising Diffusion Probabilistic Models (3) 4、损失函数逐项分析 可以看出 L L L总共分为了3项…...
FlauBERT:面向法语的无监督语言模型预训练
摘要 语言模型已成为在许多不同自然语言处理(NLP)任务中取得最先进成果的关键步骤。利用当今可用的大量未标注文本,它们提供了一种有效的方式来预训练连续词表示,这些表示可以在下游任务中进行微调,并在句子级别上进行…...
JavaScript严格模式
文章主要介绍JavaScript严格模式,包括启用原因、方式以及需避开的常见陷阱,助力开发者写出更健壮代码。 1. 启用原因:将普通JavaScript中的“静默错误”变为抛出错误,有助于编写健壮代码;修复阻碍JavaScript引擎优化的…...
文件上传的小点总结(1)
2.文件类型绕过 问题插入:BP无法拦截本地流量 ①插件限制 不代理的地址列表通常写有localhost和127.0.0.1,把本地的全都删掉,然后应用保存。 ②浏览器限制 Firefox浏览器设置:检查浏览器代理配置和proxy listeners都没问题后&…...
2024年数维杯数学建模B题生物质和煤共热解问题的研究解题全过程论文及程序
2024年数维杯数学建模 B题 生物质和煤共热解问题的研究 原题再现: 随着全球能源需求的不断增长和对可再生能源的追求,生物质和煤共热解作为一种潜在的能源转化技术备受关注。生物质是指可再生能源,源自植物和动物的有机物质,而煤…...
@maptalks/gl-layers中的VectorTileLayer的Symbol样式文档
maptalks/gl-layers中的VectorTileLayer的Symbol样式文档 矢量的Symbol样式分为以下几个大类: marker样式属性,定义了图标相关样式属性 text样式属性,定义了文字相关样式属性 line样式属性,定义了线相关的样式属性 polygon样式属…...
OpenCV旋转估计(3)帮助构建一个最大生成树(Maximum Spanning Tree)函数findMaxSpanningTree()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::detail::findMaxSpanningTree 是 OpenCV 中用于图像拼接工作流的一个函数,它帮助构建一个最大生成树(Maximum Spanni…...