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

Python数据标准化全攻略:从原理到实践

在机器学习和数据分析领域数据标准化是一项至关重要的预处理步骤。它能够将不同尺度的特征统一到相同的范围内帮助模型更好地学习数据特征提高训练效率和模型性能。本文将详细介绍数据标准化的概念、常用方法以及在Python中的实现方式。一、什么是数据标准化数据标准化Data Standardization是指将数据按比例缩放使之落入一个小的特定区间内。最常见的标准化方法是将数据转换为均值为0、标准差为1的分布也称为Z-score标准化。标准化公式1z (x - μ) / σ 2其中x原始数据μ数据的均值σ数据的标准差二、为什么需要数据标准化消除量纲影响不同特征可能具有不同的单位和尺度标准化后可以使它们具有可比性加速模型收敛许多算法如梯度下降在标准化后的数据上收敛更快避免数值问题防止某些特征因数值过大而主导模型训练提高模型精度特别是对于基于距离的算法如KNN、SVM效果显著三、Python实现数据标准化的方法方法1使用NumPy手动实现python1import numpy as np 2 3def standardize_data(data): 4 5 手动实现Z-score标准化 6 :param data: 输入数据numpy数组 7 :return: 标准化后的数据 8 9 mean np.mean(data, axis0) 10 std np.std(data, axis0) 11 standardized_data (data - mean) / std 12 return standardized_data 13 14# 示例使用 15data np.array([[1, 2], [3, 4], [5, 6]]) 16standardized standardize_data(data) 17print(标准化后的数据:\n, standardized) 18方法2使用scikit-learn的StandardScalerpython1from sklearn.preprocessing import StandardScaler 2import numpy as np 3 4# 创建示例数据 5data np.array([[1, 2], [3, 4], [5, 6]]) 6 7# 创建StandardScaler对象 8scaler StandardScaler() 9 10# 拟合数据并转换 11standardized_data scaler.fit_transform(data) 12 13print(标准化后的数据:\n, standardized_data) 14print(均值:, scaler.mean_) 15print(标准差:, scaler.scale_) 16StandardScaler的优势可以保存标准化参数均值和标准差用于后续数据转换支持稀疏矩阵可以处理多维数据方法3使用pandas的apply方法python1import pandas as pd 2import numpy as np 3 4# 创建DataFrame 5df pd.DataFrame({ 6 feature1: [1, 3, 5], 7 feature2: [2, 4, 6] 8}) 9 10# 对每列进行标准化 11standardized_df df.apply(lambda x: (x - x.mean()) / x.std()) 12 13print(标准化后的DataFrame:\n, standardized_df) 14四、标准化与归一化的区别很多初学者容易混淆标准化和归一化Normalization它们的主要区别在于特性标准化 (Standardization)归一化 (Normalization)输出范围不固定通常均值为0标准差为1固定范围如[0,1]或[-1,1]公式(x-μ)/σ(x-min)/(max-min)对异常值敏感度较高极高适用场景大多数机器学习算法图像处理、基于距离的算法等五、标准化应用场景线性回归、逻辑回归这些基于距离的算法对数据尺度敏感主成分分析(PCA)需要数据在同一尺度下计算协方差矩阵神经网络有助于加速梯度下降的收敛支持向量机(SVM)特别是使用RBF核函数时六、注意事项训练集和测试集的标准化应该使用训练集的均值和标准差来标准化测试集避免数据泄露python1# 正确做法 2scaler StandardScaler().fit(X_train) 3X_train_scaled scaler.transform(X_train) 4X_test_scaled scaler.transform(X_test) 5稀疏数据对于稀疏矩阵标准化可能会破坏稀疏性考虑使用MaxAbsScaler异常值标准化对异常值敏感可考虑先进行异常值处理或使用鲁棒的缩放方法七、完整示例python1import numpy as np 2from sklearn.preprocessing import StandardScaler 3from sklearn.model_selection import train_test_split 4from sklearn.linear_model import LogisticRegression 5from sklearn.metrics import accuracy_score 6from sklearn.datasets import load_iris 7 8# 加载数据集 9data load_iris() 10X, y data.data, data.target 11 12# 划分训练集和测试集 13X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42) 14 15# 标准化数据 16scaler StandardScaler() 17X_train_scaled scaler.fit_transform(X_train) 18X_test_scaled scaler.transform(X_test) 19 20# 训练模型 21model LogisticRegression() 22model.fit(X_train_scaled, y_train) 23 24# 评估模型 25y_pred model.predict(X_test_scaled) 26print(准确率:, accuracy_score(y_test, y_pred)) 27总结数据标准化是机器学习项目中不可或缺的预处理步骤。本文介绍了标准化的概念、重要性以及在Python中的多种实现方式包括手动实现、使用scikit-learn的StandardScaler和pandas的apply方法。我们还讨论了标准化与归一化的区别、适用场景以及实际应用中的注意事项。在实际项目中推荐使用scikit-learn的StandardScaler因为它不仅方便易用还能很好地处理训练集和测试集的标准化问题。记住正确的数据预处理往往能显著提升模型的性能

相关文章:

Python数据标准化全攻略:从原理到实践

在机器学习和数据分析领域,数据标准化是一项至关重要的预处理步骤。它能够将不同尺度的特征统一到相同的范围内,帮助模型更好地学习数据特征,提高训练效率和模型性能。本文将详细介绍数据标准化的概念、常用方法以及在Python中的实现方式。一…...

Midscene + 本地Ollama-Qwen3-VL 部署操作文档(含踩坑指南)

Midscene 本地Ollama-Qwen3-VL 部署操作文档(含踩坑指南) 一、文档说明 本文档适用于 Windows 环境(以暗影精灵11为例:i9-14900HX 32G内存 RTX5070 8G),完整覆盖从环境安装、模型部署、脚本开发到调试…...

暖心指南:儿童心理医院真实案例分享

行业痛点分析当前长沙地区儿童心理健康服务面临多重技术挑战。数据显示,2023年长沙市0-18岁青少年中,约有18.6%存在不同程度的情绪或行为问题,其中焦虑障碍、注意力缺陷多动障碍(ADHD)及学习困难占比超六成&#xff0c…...

LibreCAD:开源2D CAD解决方案的价值与实践指南

LibreCAD:开源2D CAD解决方案的价值与实践指南 【免费下载链接】LibreCAD LibreCAD is a cross-platform 2D CAD program written in C17. It can read DXF/DWG files and can write DXF/PDF/SVG files. It supports point/line/circle/ellipse/parabola/spline pri…...

RexUniNLU部署教程:Kubernetes集群中水平扩缩容RexUniNLU服务的Helm Chart实践

RexUniNLU部署教程:Kubernetes集群中水平扩缩容RexUniNLU服务的Helm Chart实践 1. 为什么需要在K8s中部署RexUniNLU? 你可能已经试过在本地跑通 python test.py,也成功启动了 server.py 提供的 FastAPI 接口。但当真实业务流量进来——比如…...

【Hot 100 刷题计划】 LeetCode 128. 最长连续序列 | C++ 哈希表 O(N) 题解

LeetCode 128. 最长连续序列 | C Set 与哈希表 O(N) 双解法题解 📌 题目描述 题目级别:中等 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 请你设计并实现时间复杂度…...

MedGemma X-Ray技术博文:医疗大模型在放射科的可信度验证实践

MedGemma X-Ray技术博文:医疗大模型在放射科的可信度验证实践 1. 引言:当AI走进放射科,我们如何相信它? 想象一下,一位放射科医生每天要面对上百张X光片,每一张都需要仔细查看、分析、撰写报告。长时间高…...

【Hot 100 刷题计划】 LeetCode 438. 找到字符串中所有字母异位词 | C++ 滑动窗口题解

LeetCode 438. 找到字符串中所有字母异位词 | C 固定滑动窗口极致优化题解 📌 题目描述 题目级别:中等 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。异位词&#xff…...

cv_unet_image-colorization多分辨率适配实测:手机扫描件/胶片扫描图效果对比

cv_unet_image-colorization多分辨率适配实测:手机扫描件/胶片扫描图效果对比 1. 项目背景与技术原理 基于UNet架构深度学习模型开发的本地化图像上色工具,采用了阿里魔搭开源的图像上色算法。这个工具能够智能识别黑白图像中的物体特征、自然场景和人…...

Nunchaku-FLUX.1-dev开源镜像部署教程:免编译、免依赖、一键拉起服务

Nunchaku-FLUX.1-dev开源镜像部署教程:免编译、免依赖、一键拉起服务 1. 开篇:为什么你需要这个本地文生图神器? 如果你玩过AI绘画,肯定遇到过这些烦心事:想用国外模型生成中文场景,结果出来的图不伦不类…...

cv_unet_image-colorization图像上色入门必看:纯本地运行无网络依赖实操手册

cv_unet_image-colorization图像上色入门必看:纯本地运行无网络依赖实操手册 本文总计约3800字,完整阅读约需12分钟,包含详细的环境配置、操作步骤和实用技巧,适合零基础用户快速上手。 1. 引言:让黑白照片重现光彩 你…...

Cogito-v1-preview-llama-3B高性能:vLLM Serving + OpenAI兼容API部署教程

Cogito-v1-preview-llama-3B高性能:vLLM Serving OpenAI兼容API部署教程 1. 引言:为什么选择Cogito模型? 如果你正在寻找一个既强大又实用的语言模型,Cogito-v1-preview-llama-3B绝对值得关注。这个模型在同等规模的开源模型中…...

收藏备用!Workflow与Agent详解:小白也能看懂的AI自动化核心(附上手工具)

对于刚接触大模型的小白和程序员来说,Workflow和Agent是AI自动化领域最易混淆、也最核心的两个概念。本文将用通俗的语言拆解二者的核心作用、本质区别,补充实用落地细节,同时推荐新手友好型工具,帮你快速建立体系化认知&#xff…...

若依(ruoyi)RuoYiApp版—页面

ruoyiApp中的页面是一个符合vue规范的文件,如果你熟悉vue,这里将非常快速上手。 1.如何新增页面 uni-app中的页面,默认保存在工程根目录下的pages目录下。 每次新建页面,均需在pages.json中配置pages列表;未在pages.js…...

最好用的服务器文件传输工具:SSHFerry(下载见结尾)

为了 AutoDL 传文件更快更省心,我自己做了个 SSH 工作区:SSHFerry(下载见结尾) 之前我写过一篇和 AutoDL 上传有关的文章,没想到后面慢慢有了 1 万多阅读。 但那篇文章现在回头看,我觉得还是有点不够负责。…...

【力扣hot100】 198. 打家劫舍

一、题目你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金, 影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统, 如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存…...

安卓音频问题解决记录(一)

本文记录在安卓framework开发过程中遇到的一些音频问题的解决办法。 1.支持多应用同时录音(安卓10以上) 通过日志分析,发现当另一个应用打开录音的时候会被静音,日志如下: APM_AudioPolicyManager: setAppState(portId:43, state:2) APM_AudioPolicyManager: set…...

【VLA】Vision Language Action

文章目录一、什么是世界模型(World Model)?✅ 定义:🌍 核心功能:🔧 技术原理(典型架构):二、世界模型在具身智能中的作用三、VLA(Vision-Language…...

PyQt6开发可视化界面中遇到问题及解决方案集合

PyQt6开发可视化界面中遇到问题及解决方案集合 安装与配置: 1.配环境の拷打 因为博主这个项目本来是在pycharm中的本地python3.12.7环境下开发的,涉及mineru解析,vectordatabase、fuseki、neo4j入库等核心模块,开发桌面软件时遇…...

DeepSeekubernetes-1.35.3/kubernetes-1.35.3/test/utils/ktesting/examples/logging/example_test.go 源码分析

我来分析 Kubernetes 测试工具 ktesting 中的日志示例文件 example_test.go。这个文件展示了如何在 Kubernetes 测试中使用结构化日志。 文件概述 这是 Kubernetes v1.35.3 中 test/utils/ktesting 包的示例文件,展示了如何使用 ktesting 框架进行带有结构化日志的测…...

委托的全面知识总结(C#)

一.定义与本质委托是干什么的?委托就是用来存 方法 的容器你可以把一个方法当成 数据 一样传递1.什么是委托委托是C#中类型安全的函数指针,它是一种“类型”,可以存储,调用,传递一个或多个方法的引用2.核心本质委…...

如何3步轻松备份微博内容:Speechless免费PDF导出完整指南

如何3步轻松备份微博内容:Speechless免费PDF导出完整指南 【免费下载链接】Speechless 把新浪微博的内容,导出成 PDF 文件进行备份的 Chrome Extension。 项目地址: https://gitcode.com/gh_mirrors/sp/Speechless 在信息快速更迭的数字时代&…...

PPTist:重构演示文稿创作流程的3大颠覆性突破

PPTist:重构演示文稿创作流程的3大颠覆性突破 【免费下载链接】PPTist PowerPoint-ist(/pauəpɔintist/), An online presentation application that replicates most of the commonly used features of MS PowerPoint, allowing for the ed…...

FALCON: Fast Autonomous Aerial ExplorationUsing Coverage Path Guidance(覆盖路径引导的快速自主空中探索)

创新点:提出一种基于连接性的增量式空间分解和连接图构造方法,捕获环境拓扑并促进有效的探测覆盖路径规划提出一种分层的探索规划方法,生成合理的覆盖路径作为全局指导,并优化局部边界访问顺序,保持覆盖路径的意图。提…...

抢答器软件哪家强?五款抢答器软件全方位深度评测

在知识竞赛、企业培训、团队建设等活动中,一套高效、公平、稳定的抢答器软件是活动成功的关键。面对市场上琳琅满目的产品,如何选择成为许多组织者的难题。本文将从实际应用出发,对五款主流的抢答器软件进行深度评测,涵盖功能、性…...

驱动模块的加载与卸载机制

昨天调板子又遇到个怪事:insmod加载驱动一切正常,但rmmod死活卸载不掉,内核日志里只留下一行“Device or resource busy”。查了半小时才发现,原来是有个用户态进程没关,一直占着驱动文件。这种问题在嵌入式开发里太常…...

AI技术原理--AI Token是什么:10分钟搞懂大模型基础单位

当你在ChatGPT里输入"你好,今天天气怎么样"的时候,你以为它真的读懂你的话吗? 并不是。 在你看不到的地方,有一个叫"分词器"的程序,正在把你的文字拆解成一个一个叫"Token"的单元。 …...

【研报280】汽车轻量化材料研究报告:改性塑料的应用趋势

本报告提供限时下载,请查看文后提示以下仅为报告部分内容:摘要:政策与新能源汽车需求双重驱动下,汽车轻量化成为行业核心发展方向,2026年国内将实施新的乘用车碳排放国标,叠加新能源汽车普遍重于燃油车&…...

Delphi经典8大天坑|第五篇:ShortString与String混用,导致字符串截断/乱码

一、现象描述项目中同时使用ShortString和string两种字符串类型,赋值时出现字符串被莫名截断(超过255字符的部分丢失),或出现乱码,尤其是在Delphi D7及以下版本中,问题更常见。典型场景:将一个长…...

强强联合:在快马平台用AI模型驱动你的下一代智能agent应用

最近在尝试用AI辅助开发时,发现了一个特别有意思的方向——智能agent框架。这类框架就像是AI应用的"骨架",而平台内置的AI模型则为其注入了"灵魂"。今天想分享下在InsCode(快马)平台上实现的一个创作辅助agent,整个过程让…...