机器学习--数据预处理

目录

一、数据清洗:让数据纯净如新

1、缺失值处理:

2、异常值处理

3、重复值处理

二、数据变换:重塑数据的 “形状”

1、归一化

2、标准化

三、总结与展望


机器学习小白必看:数据预处理实战笔记

      最近投身于机器学习的学习海洋,今天在学习过程中接触到了数据预处理这个极为关键的板块。一开始,我对它的重要性认识不足,总觉得直接拿数据去训练模型就好。但深入学习后才惊觉,数据预处理简直是机器学习模型能否良好运行的基石。原始数据往往存在各种问题,就像一块未经雕琢的璞玉,充满瑕疵,而数据预处理就是那精细的雕琢过程,让数据变得干净、整齐且易于模型 “理解”。接下来就和大家分享下我今天的学习成果。

一、数据清洗:让数据纯净如新

      在实际的数据集中,缺失值、异常值和重复值就像隐藏在暗处的 “小麻烦”,随时可能影响模型的性能。

1、缺失值处理:

比如在一个记录乘客信息的数据集中,部分乘客的年龄数据缺失。我学到了几种处理方式:

      (1)删除法:如果缺失值所在的行或列包含的有效信息较少,删除这些数据对整体影响不大时,就可以采用删除法。但要是数据本来就不多,删除太多含缺失值的样本,可能会导致关键信息丢失,所以得谨慎使用。

      (2)填充法:这是我觉得很巧妙的方法。对于像年龄这样的数值型数据,如果有缺失,计算其他非缺失年龄的均值或中位数,然后用这个均值或中位数去填补缺失值。我用 Python 实现了均值填充,代码如下:

import pandas as pd
data = pd.read_csv('your_data.csv')
age_mean = data['Age'].mean()
data['Age'].fillna(age_mean, inplace=True)

      运行这段代码,就能把数据集中缺失的年龄值用计算出的均值填充上,让数据集在年龄这一特征上更加完整。

2、异常值处理

      异常值就像是数据集中的 “捣蛋鬼”,会干扰模型的正常学习。在分析商品价格数据时,发现有个别价格明显偏离正常范围。检测异常值可以用一些统计方法,比如计算 Z - score,它能衡量数据点偏离均值的程度。代码实现如下:

from scipy import stats
import pandas as pd
data = pd.read_csv('product_price_data.csv')
z = np.abs(stats.zscore(data['Price']))
threshold = 3
outliers = data[(z > threshold).any(axis = 1)]

      这里通过计算价格列的 Z - score,设置阈值为 3,把那些 Z - score 大于 3 的数据点识别为异常值。对于这些异常值,可以选择删除,或者用合理的值(比如中位数)进行替换。

3、重复值处理

      重复值的出现会增加计算量,还可能干扰模型对数据真实特征的学习。在处理用户订单数据时,发现有重复的订单记录。用 pandas 库可以轻松删除这些重复值:

import pandas as pd
data = pd.read_csv('order_data.csv')
data = data.drop_duplicates()

      这样就能确保数据集中的每一条订单记录都是唯一的,让数据更加简洁有效。

二、数据变换:重塑数据的 “形状”

      为了让数据更好地适配机器学习模型,需要对数据进行各种变换操作。

1、归一化

      归一化能把数据的取值范围缩放到一个特定区间,像 [0, 1] 或 [-1, 1]。在处理包含不同特征的数据时,比如既有年龄(范围可能是 0 - 100),又有收入(可能是几千到几十万),如果不进行归一化,收入这种较大范围的特征可能会在模型训练中占据主导地位,掩盖了年龄等其他特征的影响。用 Min - Max Scaler 实现归一化的代码如下:

from sklearn.preprocessing import MinMaxScaler
import pandas as pd
data = pd.read_csv('your_data.csv')
scaler = MinMaxScaler()
data[['Age', 'Income']] = scaler.fit_transform(data[['Age', 'Income']])

      这段代码把数据集中的年龄和收入特征进行了归一化处理,让它们在模型训练中能 “公平竞争”,发挥各自应有的作用。

2、标准化

      标准化则是让数据符合均值为 0,标准差为 1 的正态分布。对于很多机器学习算法来说,这种分布的数据能让模型更快收敛,提高训练效率。用 StandardScaler 实现标准化:

from sklearn.preprocessing import StandardScaler
import pandas as pd
data = pd.read_csv('your_data.csv')
scaler = StandardScaler()
data[['Feature1', 'Feature2']] = scaler.fit_transform(data[['Feature1', 'Feature2']])

      通过标准化,数据的分布更加规整,模型在学习数据特征时会更加高效。

三、总结与展望

      今天学习的这些数据预处理知识,看似简单,实则是机器学习中不可或缺的重要环节。经过数据清洗和变换,数据变得更加 “优质”,为后续模型的训练打下了坚实基础。通过自己的实践和代码复现,我对这些方法有了更深刻的理解。在未来的学习中,我还会继续深入探索数据预处理的其他方法,比如数据集成、特征选择等,不断提升自己对数据的处理能力,期待能在机器学习这条道路上越走越远,用数据挖掘出更多有价值的信息。希望我的这些学习分享能给同样在机器学习领域摸索的小伙伴们一些启发,大家一起加油!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 数据可视化:Matplotlib 与 Seaborn 实战

Python 数据可视化:Matplotlib 与 Seaborn 实战​​​​在当今数据驱动的时代,数据可视化成为了理解和传达数据信息的关键手段。Python 作为一门强大的编程语言,拥有丰富的数据可视化库,其中 Matplotlib 和 Seaborn 尤为突出。本文…

计算机网络技术学习-day4《路由器配置》

目录 一、路由器基础认知 1. 路由器的核心功能 2. 路由器与交换机的区别 二、路由器配置基础操作 1. CLI(命令行界面)模式体系 2. 基础配置命令示例 (1)基础信息配置 (2)接口IP地址配置(…

IDEA(十四) IntelliJ Idea 常用快捷键(Mac)

目录准备:Mac键盘符号和修饰键说明一、编辑类快捷键二、Search/Replace(查询/替换)三、编译、运行四、debug 调试五、Navigation(导航)六、Refactoring(重构)七、VCS/Local History八、Live Tem…

八月月报丨MaxKB在教育及教学科研领域的应用进展

在2025年5月的“MaxKB用户应用月度报告”中,我们对MaxKB开源智能体平台在教育行业的典型应用场景进行了总结。MaxKB在教育行业的应用主要集中在教学辅助、学术研究、校园服务、行政办公、财务管理、招生等场景。 目前,“DeepSeekMaxKB”的组合正在被包括…

一周学会Matplotlib3 Python 数据可视化-绘制自相关图

锋哥原创的Matplotlib3 Python数据可视化视频教程: 2026版 Matplotlib3 Python 数据可视化 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 课程介绍 本课程讲解利用python进行数据可视化 科研绘图-Matplotlib,学习Matplotlib图形参数基本设置&…

第三十三天(信号量)

非常非常非常.....的重要在共享内存的代码里面p1.c实质是有问题lt._flag 1;//这里先置1if(c Q)sprintf(lt._buf,"quit");elsesprintf(lt._buf,"大家好,%d 我系渣渣辉. %d 是兄弟就来砍我吧!!! %d",i,i1,i2);while(*((int *)shmptr));//如果别…

Scikit-learn通关秘籍:从鸢尾花分类到房价预测

点击 “AladdinEdu,同学们用得起的【H卡】算力平台”,H卡级别算力,按量计费,灵活弹性,顶级配置,学生专属优惠。 决策树/SVM/KNN算法对比 模型评估指标解析 读者收获:掌握经典机器学习全流程 …

rsync + inotify 数据实时同步

rsync inotify 数据实时同步 一、rsync简介 rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步, 支持本地复制,或者与其他SSH、rsync主机同步 二、rsync三种命令 Rsync的命令格式常用的有以下三种:&#…

Linux基础介绍-3——第一阶段

文章目录一、进程管理1.1 进程的基本概念1.2 常见管理命令1.3 进程优先级调整:nice 与 renice二、软件包管理三、防火墙管理四、shell脚本五、xshell链接kali一、进程管理 1.1 进程的基本概念 进程是程序的动态执行实例,每个进程都有唯一的 PID&#x…

python 可迭代对象相关知识点

1. 什么是可迭代对象 (Iterable) 在 Python 里,可迭代对象指的是: 👉 能够一次返回一个元素的对象,可以被 for 循环遍历。 常见的可迭代对象有: 序列类型:list、tuple、str集合类型:set、dict&a…

ijkplayer Android 编译

一、下载编译库文件1.1 编译库文件环境:ubuntu 20.04 版本liangtao:ffmpeg$lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.6 LTS Release: 20.04 Codename: focal1.2 项目源码下载使用 git 下载 ijkplayer&#…

snn前向推理时间计算(处理器实现)

公式 Tinf(1−sparsity)number of synapsesnumber of sub-processorsSIMD ways T_{\text{inf}} \frac{(1-\text{sparsity})\times \text{number of synapses}} {\text{number of sub-processors}\times \text{SIMD ways}} Tinf​number of sub-processorsSIMD ways(1−sparsity…

Linux------《操作系统全景速览:Windows·macOS·Linux·Unix 对比及 Linux 发行版实战指南》

(一)常见操作系统(system)电脑:Windows,Macos,Linux,UnixWindows:微软公司开发的一款桌面操作系统(闭源系统)。版本有dos,win98,win NT,win XP , …

Three.js 初级教程大全

本文档旨在为初学者提供一个全面的 Three.js 入门指南。我们将从 Three.js 的基本概念开始,逐步介绍如何创建场景、添加物体、设置材质、使用光照和相机,以及如何实现简单的动画和交互。通过本教程,你将能够掌握 Three.js 的核心知识&#xf…

遥感领域解决方案丨高光谱、无人机多光谱、空天地数据识别与计算

一:AI智慧高光谱遥感实战:手撕99个案例项目、全覆盖技术链与应用场景一站式提升方案在遥感技术飞速发展的今天,高光谱数据以其独特的光谱分辨率成为环境监测、精准农业、地质勘探等领域的核心数据源。然而,海量的波段数据、复杂的…

(LeetCode 面试经典 150 题) 114. 二叉树展开为链表 (深度优先搜索dfs+链表)

题目:114. 二叉树展开为链表 思路:深度优先搜索dfs链表,时间复杂度0(n)。 C版本: /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : …

《线程状态转换深度解析:从阻塞到就绪的底层原理》

目录 一、线程的五种基本状态 二、线程从 RUNNABLE 进入阻塞 / 等待状态的三种典型场景 1. 调用sleep(long millis):进入 TIMED_WAITING 状态 2. 调用wait():进入 WAITING/TIMED_WAITING 状态 3. 等待 I/O 资源或获取锁失败:进入 BLOCKE…

面经整理-猿辅导-内容服务后端-java实习

部门管理系统设计 题目要求 设计部门 MySQL 数据表实现接口:根据中间部门 ID 获取其下属叶子部门 ID设计包含子节点列表的 Java 数据对象,并实现批量获取功能 一、MySQL 部门表设计 表结构 CREATE TABLE department (id BIGINT PRIMARY KEY AUTO_INCREME…

Openharmony之window_manager子系统源码、需求定制详解

1. 模块概述 Window Manager 模块是 OpenHarmony 操作系统的核心窗口管理系统,负责窗口的创建、销毁、布局、焦点管理、动画效果以及与硬件显示的交互。该模块采用客户端-服务端架构,提供完整的窗口生命周期管理和用户界面交互支持。 1.1架构总览 Window Manager Client 应…

《CDN加速的安全隐患与解决办法:如何构建更安全的网络加速体系》

CDN(内容分发网络)作为提升网站访问速度的关键技术,被广泛应用于各类互联网服务中。然而,在享受加速优势的同时,CDN也面临诸多安全隐患。本文将解析常见的CDN安全问题,并提供实用的解决办法,帮助…