当前位置: 首页 > article >正文

Python 实战:数据归一化 4 种核心方法对比 + 代码实现(机器学习必看)

在机器学习、深度学习的数据预处理中数据归一化是绕不开的关键步骤。不同特征往往量纲不同比如年龄 18-60、收入 1000-100000直接训练模型会导致梯度下降收敛慢、难以最优解距离类算法KNN、K-Means、SVM精度暴跌神经网络权重更新失衡本文整理Python 中最常用的 4 种数据归一化 / 标准化方法从原理、适用场景、代码实现、优缺点全方位对比新手也能直接套用一、核心概念区分归一化 vs 标准化先理清两个易混淆的概念避免用错方法归一化Normalization将数据压缩到 **[0,1]或[-1,1]** 区间消除量纲影响标准化Standardization将数据转换为均值为 0方差为 1的标准正态分布不严格限制区间。两者核心区别归一化依赖数据最大 / 最小值对异常值敏感标准化依赖数据均值 / 标准差对异常值鲁棒性更强。二、4 种常用归一化 / 标准化方法详解本文使用numpy手动实现 sklearn封装调用两种方式兼顾原理理解和工程落地。测试数据准备先创建一组包含异常值的测试数据方便对比效果python运行import numpy as np import pandas as pd from sklearn.preprocessing import MinMaxScaler, StandardScaler, MaxAbsScaler, RobustScaler # 生成测试数据包含异常值1000 data np.array([[10, 200, 30], [20, 300, 40], [30, 400, 50], [40, 500, 60], [50, 1000, 70]]) # 第二列最后一个值为异常值 df pd.DataFrame(data, columns[特征1, 特征2, 特征3]) print(原始数据) print(df)方法 1最小 - 最大归一化Min-Max Scaling→ [0,1]原理最基础的线性归一化方法公式Xnorm​Xmax​−Xmin​X−Xmin​​代码实现python运行# 1. 手动实现 def min_max_scaler(x): return (x - np.min(x)) / (np.max(x) - np.min(x)) data_minmax min_max_scaler(data) # 2. sklearn封装推荐工程使用 scaler_minmax MinMaxScaler() data_minmax_sk scaler_minmax.fit_transform(data) print(\nMin-Max归一化([0,1])) print(pd.DataFrame(data_minmax_sk, columnsdf.columns))核心特点✅ 优点简单直观适合数据分布均匀、无明显异常值的场景❌ 缺点对异常值极其敏感最大值会被异常值拉高导致大部分数据被压缩 适用场景图像处理、固定范围的数值特征、神经网络输入层。方法 2绝对值最大归一化Max-Abs Scaling→ [-1,1]原理基于数据绝对值的最大值缩放适合数据包含正负值的场景公式Xnorm​∣Xmax​∣X​代码实现python运行# sklearn实现 scaler_maxabs MaxAbsScaler() data_maxabs scaler_maxabs.fit_transform(data) print(\nMax-Abs归一化([-1,1])) print(pd.DataFrame(data_maxabs, columnsdf.columns))核心特点✅ 优点不破坏稀疏数据结构计算高效❌ 缺点同样对异常值敏感 适用场景稀疏矩阵、文本分类、数据已中心化的场景。方法 3Z-Score 标准化Standard Scaling→ 均值 0 方差 1原理最常用的标准化方法将数据转换为标准正态分布公式Xstd​σX−μ​μ均值σ标准差代码实现python运行# 1. 手动实现 def standard_scaler(x): return (x - np.mean(x)) / np.std(x) data_standard standard_scaler(data) # 2. sklearn实现机器学习首选 scaler_std StandardScaler() data_std_sk scaler_std.fit_transform(data) print(\nZ-Score标准化(均值0,方差1)) print(pd.DataFrame(data_std_sk, columnsdf.columns))核心特点✅ 优点对异常值鲁棒性强不依赖极值适合大部分机器学习算法✅ 适用算法逻辑回归、SVM、线性回归、PCA、神经网络❌ 缺点数据会偏离原始区间不适合需要固定范围的场景 适用场景绝大多数机器学习模型默认首选。方法 4鲁棒归一化Robust Scaling→ 抗异常值神器原理针对包含大量异常值的数据设计使用中位数Q2和四分位数Q1/Q3替代均值和极值公式Xrobust​Q3−Q1X−Q2​代码实现python运行# sklearn实现 scaler_robust RobustScaler() data_robust scaler_robust.fit_transform(data) print(\nRobust鲁棒归一化(抗异常值)) print(pd.DataFrame(data_robust, columnsdf.columns))核心特点✅ 优点完全不受异常值影响是异常值数据的最优解✅ 优点保留数据的离散程度鲁棒性拉满❌ 缺点计算稍复杂依赖四分位数 适用场景数据包含异常值、数据分布倾斜非正态、实际业务数据。三、4 种方法全方位对比表表格方法公式核心输出区间对异常值敏感性适用场景推荐算法Min-Max最值缩放[0,1]极高无异常值、均匀分布神经网络、图像处理Max-Abs绝对值缩放[-1,1]高稀疏矩阵、正负数据文本分类、稀疏特征Z-Score均值标准差无固定区间低正态分布、通用场景90% 机器学习模型Robust四分位数缩放无固定区间极低含异常值、倾斜分布实际业务数据、KNN、K-Means四、关键结论怎么选新手直接抄作业数据无异常值、需要固定范围→ 选Min-Max 归一化数据是稀疏矩阵、包含正负值→ 选Max-Abs 归一化通用机器学习、数据正态分布→ 选Z-Score 标准化默认首选数据有异常值、实际业务数据→ 选Robust 鲁棒归一化。五、避坑指南工程必备先拆分训练集 / 测试集再归一化绝对不能用测试集的极值 / 均值做归一化会导致数据泄露模型上线必崩python运行# 正确写法 from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test train_test_split(data, [0,1,0,1,0], test_size0.2) scaler StandardScaler() X_train_std scaler.fit_transform(X_train) # 仅用训练集拟合 X_test_std scaler.transform(X_test) # 测试集直接用训练集的参数树模型不需要归一化决策树、随机森林、XGBoost 等基于规则的模型对量纲不敏感无需归一化。归一化不改变数据分布只是缩放数据不会把非正态分布转为正态分布。总结数据归一化没有绝对的「最优解」只有最适合数据场景的方法新手入门优先用Z-Score 标准化适配绝大多数模型实际业务数据必选Robust 归一化解决异常值痛点固定范围需求用Min-Max稀疏数据用Max-Abs。本文从原理到代码、从场景到避坑全覆盖建议收藏备用下次做数据预处理直接对照选择即可。

相关文章:

Python 实战:数据归一化 4 种核心方法对比 + 代码实现(机器学习必看)

在机器学习、深度学习的数据预处理中,数据归一化是绕不开的关键步骤。不同特征往往量纲不同(比如年龄 18-60、收入 1000-100000),直接训练模型会导致:梯度下降收敛慢、难以最优解距离类算法(KNN、K-Means、…...

当多智能体遇上频域干扰:一场代码与策略的华尔兹

[1]2024IEEE《基于分层多智能体强化学习的协同干扰智能策略决策方法》(代码文献) MATLAB 多智能体 协同 学习资料 [2]使用PettingZoo和Gymnasium创建的用于干扰任务的多智能体ParallelEnv。 [3]单一转换的优先体验重放的代码,以及转换序列的序…...

Python数据可视化入门:从零开始掌握三大核心库

在数据科学领域,数据可视化是连接数据与洞见的关键桥梁。通过图表和图形,我们能够直观地理解数据模式、发现异常值、并向他人清晰传达分析结果。Python作为数据分析的主流语言,提供了丰富强大的可视化工具库。本文将带你从零开始,…...

基于MPC的四旋翼高度动力学及X-Y平面位置控制设计的实践与仿真

基于MPC的四旋翼高度动力学以及x-y平面位置控制设计 简介:本项目侧重于MPC控制器设计,用于控制四旋翼的高度动力学以及x-y平面位置 就方向动力学而言,使用了定制的离散PID(DPID)控制器 该项目在MATLAB 2022b中进行了完全编码和仿真 此外&…...

从零开始掌握小红书数据采集:xhs库的5大实战应用场景

从零开始掌握小红书数据采集:xhs库的5大实战应用场景 【免费下载链接】xhs 基于小红书 Web 端进行的请求封装。https://reajason.github.io/xhs/ 项目地址: https://gitcode.com/gh_mirrors/xh/xhs 你是否曾经想过如何批量获取小红书上的热门内容&#xff1f…...

Autovisor:智能优化在线课程学习效率的自动化解决方案

Autovisor:智能优化在线课程学习效率的自动化解决方案 【免费下载链接】Autovisor 2025智慧树刷课脚本 基于Python Playwright的自动化程序 [有免安装版] 项目地址: https://gitcode.com/gh_mirrors/au/Autovisor 在数字化学习日益普及的今天,在线…...

编译系统概述

前置知识:硬件-操作系统-用户操作系统是什么?往下描述,操作系统是对硬件控制的封装,往上描述,是管理程序的软件。操作系统主要有这几大部分组成:1.操作系统如何管理CPU:进程、线程、调度和同步机…...

Javase(三)三大特性之封装

封装现实生活中,比如鼠标,我们知道它是全部装在一个装置里面,只暴露出一个接口能够我们充电或连接电脑,里面的设计、电路等都不暴露给我们这些使用者看,这样子能很好的保护里面的东西不被破坏。在Java中也是如此&#…...

跨境人都在用的TT跨境出海矩阵软件哪个靠谱?

你有没有过这种经历?拍十几条TT营销视频花了整整一周,上线后播放量却寥寥无几,账号矩阵的日更计划完全跟不上?做跨境TT矩阵,核心痛点从来不是多账号登录,而是内容量产、成本控制和合规风险的三重夹击。到底…...

互联网大厂Java求职面试:三轮技术问答与详细解析(涵盖Spring Boot、微服务、数据库ORM等)

互联网大厂Java求职面试:三轮技术问答与详细解析 文章标签 Java,Spring Boot,微服务,面试,Jakarta EE,JVM,Hibernate,JUnit,Maven,Redis,Kubernetes文章简述 本文以严肃的面试官与风趣的水货程序员谢飞机之间的对话形式,模拟互联网大厂Java求职面试的三轮…...

STM32智能垃圾桶开发实战:语音识别与自动分类

1. 项目概述这个智能垃圾桶项目是我去年为一个社区环保活动设计的硬件方案。当时社区正在推广垃圾分类,但居民反映传统分类垃圾桶使用不便,经常出现错投混投的情况。于是我就琢磨着用STM32做个能听懂人话、自动开盖的智能垃圾桶,让垃圾分类变…...

2026年必看:高端内存条品牌优选指南

随着电竞行业的快速发展,高性能内存条成为了越来越多玩家的刚需。然而,在众多品牌中选择一款性能可靠、性价比高的产品并不容易。本文将为你推荐一个值得信赖的品牌——Deseroyer毁灭者,并通过具体数据和案例支撑,帮助你做出明智的…...

论文AI率过高怎么降?实测有效方法+免费工具推荐

当前不少学生和科研人员在写论文时都遇到过AIGC率超标的问题,不用焦虑,只要找对方法,就能有效消除AI生成痕迹,顺利通过学校的AIGC检测。 一、AIGC检测的核心逻辑是什么? 很多人会疑惑:明明是自己逐字敲的论…...

单片机代码版本管理工具横向评测与应用

1. 单片机开发中的代码版本管理痛点作为一名在嵌入式领域摸爬滚打多年的工程师,我深知单片机项目开发中最让人头疼的场景之一:当你需要对比两个版本的程序差异时,面对密密麻麻的汇编和C代码,用肉眼逐行比对简直是场噩梦。特别是在…...

一种改进的鹈鹕优化算法(IPOA)用于函数寻优研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室🍊个人信条:格物致知,完整Matlab代码及仿真咨询…...

基于MPC模型预测的两轮差速移动机器人多种轨迹跟踪控制(带参考文献)

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…...

企业PTC软件正版化路径与长期价值分析

企业PTC软件正版化路径和长期价值分析我帮一家制造业客户处理软件正版化问题,提醒一句到他们的巨头供应商PTC的许可证使用率常年徘徊在30%左右,年均浪费成本超过800万,这事儿在行业内其实挺普遍的。如果说你正在为软件许可证管理头疼&#xf…...

eos低开视图查询,筛选空字符的数据,事件中的查询条件怎么写?

问题描述: eos低开视图查询,筛选空字符的数据,事件中的查询条件怎么写? 解决方案: 查询空字符串,可在查询条件中使op"empty",参考示例如下。 this.finalCondition.and.items.push({propertyName: "n…...

基于单片机的全自动咖啡机控制系统设计

一、摘要 全自动咖啡机控制系统控制系统对于现今的日常家居生活和商业模式售卖都有着重大的影响力,随着社会快节奏的发展,传统的人工冲泡模式效率远远满足不了人们的日常需求,并且在冲调多口味咖啡方面,也没有良好的原料精准配比。…...

Windows下OpenClaw安装详解:对接Kimi-VL-A3B-Thinking图文模型

Windows下OpenClaw安装详解:对接Kimi-VL-A3B-Thinking图文模型 1. 为什么选择OpenClaw与Kimi-VL-A3B-Thinking组合 去年我在处理大量图文资料归档时,发现手动整理效率极低。直到尝试将OpenClaw与Kimi-VL-A3B-Thinking模型对接后,才真正实现…...

3款高效开源工具实现抖音无水印视频解析与下载

3款高效开源工具实现抖音无水印视频解析与下载 【免费下载链接】DouYinBot 抖音无水印下载 项目地址: https://gitcode.com/gh_mirrors/do/DouYinBot 🎯 核心价值解析:技术赋能内容获取 在数字化内容爆炸的时代,抖音作为主流短视频平…...

多元化团队从多元化投资机构开始

初创企业往往口头上重视多元化,但在实际招聘实践中却行动缓慢。对于成长阶段的公司来说,从熟悉的硅谷人才渠道招聘是阻力最小的路径,但如果创始人想要一个多元化的团队,就必须从第一个员工开始将这一价值观付诸实践。Taskrabbit创…...

研究表明:员工不懂AI使用方法,企业难辞其咎

员工对AI工具使用方法缺乏了解,这与企业在试点项目、部署和许可证上投入多少资金无关,Forrester的最新研究显示了这一问题。Forrester使用人工智能商数(AIQ)来衡量员工对AI工具的理解程度,结果数据"令人震惊"…...

基于西门子S7-200 PLC与组态王技术的变频恒压供水控制系统设计与实物制作——软硬件设计详解

基于西门子S7-200 PLC和组态王小区变频恒压供水控制系统的设计,可制作对应实物,软硬件设计今天,我决定深入研究一个自动化控制领域中的典型项目:基于西门子S7-200 PLC和组态王软件的小区变频恒压供水控制系统。这个项目听起来有点…...

H5动态公共导航栏

CommonNavBar.vue&#xff1a; <template><divclass"common-nav-bar":style"navBarStyle"><!-- 状态栏占位&#xff0c;可以按项目需要删除或调整高度 --><div class"status-bar-placeholder"></div><!-- 主导…...

时间序列分类新范式:从技术突破到商业落地全指南

时间序列分类新范式&#xff1a;从技术突破到商业落地全指南 【免费下载链接】InceptionTime 项目地址: https://gitcode.com/gh_mirrors/in/InceptionTime 时间序列分类是数据分析领域的核心挑战&#xff0c;传统方法往往在多尺度特征捕捉、实时性分析和复杂场景适应性…...

数据管理效率低下?MongoDB Compass 重新定义数据库可视化:从入门到精通的非线性学习路径

数据管理效率低下&#xff1f;MongoDB Compass 重新定义数据库可视化&#xff1a;从入门到精通的非线性学习路径 【免费下载链接】compass The GUI for MongoDB. 项目地址: https://gitcode.com/gh_mirrors/com/compass 当你面对命令行中密密麻麻的 MongoDB 数据时&…...

三千年的欲望、痕迹与自感:资本批判与伦理中间件

三千年的欲望、痕迹与自感&#xff1a;资本批判与伦理中间件岐金兰 丙午神农---引言&#xff1a;被命名的与未命名的在人类文明的长河中&#xff0c;有一个东西从未缺席&#xff0c;却长期被剥夺了命名的权利。它比语言更古老&#xff0c;比理性更顽强&#xff0c;比任何社会制…...

终极Cursor Pro破解指南:免费解锁AI编程助手完整功能

终极Cursor Pro破解指南&#xff1a;免费解锁AI编程助手完整功能 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your tria…...

拆解中金2025财报:飞轮效应,如何驱动高质量增长?

2025年的中国资本市场&#xff0c;有三条主线在交汇&#xff1a;创新驱动、资本市场深化改革、个人养老金全面推开。它们分别指向一家投行必须具备的三种能力——资产端的挖掘、交易端的兑现、资金端的配置。 与此同时&#xff0c;证券行业正在经历一场无声的洗牌。牌照红利在…...