《机器学习》——数据标准化(0~1标准化,z标准化)

文章目录

  • 数据标准化
    • 一、什么是标准化
    • 二、常用标准化
      • 0~1标准化
      • z标准化
    • 三、注意事项

数据标准化

一、什么是标准化

  • 数据标准化是一种数据预处理技术,用于将数据按照一定的规则进行变换,使得不同特征或变量具有可比性和一致性。
  • 作用
    • 消除量纲影响
      在实际数据集中,不同的特征可能具有不同的单位和数量级。例如,在一个包含身高(单位:厘米)和体重(单位:千克)的数据集中,身高的数值范围可能是 150 - 200,而体重的数值范围可能是 40 - 100。如果直接使用这些原始数据进行数据分析,如聚类或距离计算,身高的数值可能会因为其较大的数量级而在计算中占据主导地位,从而掩盖体重特征的重要性。数据标准化可以将这些不同量纲的数据转换到同一尺度上。
    • 提升模型性能
      在机器学习和数据挖掘中,许多算法(如 K - 近邻算法、支持向量机等)的性能依赖于数据的分布情况。标准化后的数据可以使模型更容易收敛,提高模型的准确性和稳定性。例如,在神经网络的训练过程中,标准化的数据有助于梯度下降算法更快地找到最优解,减少训练时间并且避免梯度消失或爆炸等问题。
    • 方便数据比较和融合
      当需要将来自不同数据源的数据进行合并或者比较时,数据标准化是必不可少的。例如,在金融领域,要整合不同银行的客户信用评分数据,这些数据可能由于银行采用的不同评分标准和尺度而无法直接比较。通过标准化,可以将这些数据转换到统一的标准下,便于进行综合评估。
  • 优点和缺点
    • 优点
      • 提高模型性能
        在机器学习算法中,如线性回归、神经网络等,标准化后的数据可以使模型更快地收敛。以梯度下降算法为例,标准化能够确保不同特征在更新参数时具有相似的步长,避免因某些特征的数值范围过大而导致梯度下降路径曲折,从而加速模型训练过程。例如,在预测房价的线性回归模型中,如果房屋面积(单位:平方米)和房间数量这两个特征没有进行标准化,房屋面积的数值范围可能远大于房间数量,这会使得模型在训练时过度关注房屋面积这个特征,而标准化后可以让模型更均衡地学习每个特征的重要性,提升预测准确性。
      • 增强数据可比性
        标准化后的数据能够方便地比较不同特征之间的相对差异。例如,在比较学生的各科成绩时,语文成绩(满分 150 分)和数学成绩(满分 100 分)的原始分数不具有直接可比性。通过标准化,可以将它们转换到相同的尺度下,比如 Z - score 标准化后,就能更直观地看出学生在这两门学科中的相对位置,是高于平均水平还是低于平均水平,进而综合评估学生的学习情况。
      • 便于数据融合和集成
        当整合来自多个数据源的数据时,标准化可以消除不同数据源由于量纲、数据分布等差异带来的影响。例如,在医疗数据整合中,不同医院的检查指标可能有不同的单位和正常范围。通过标准化,这些数据可以被整合到一个统一的框架下,便于后续的数据分析,如构建疾病诊断模型或进行健康风险评估。
      • 提升聚类和分类效果
        在聚类算法(如 K - Means 聚类)和分类算法(如支持向量机)中,标准化有助于提高算法的准确性。以 K - Means 聚类为例,标准化后的数据可以使聚类中心的初始化更加合理,并且在计算样本与聚类中心的距离时,能够更准确地反映样本之间的相似性。如果不进行标准化,某些特征可能会因为数值较大而主导聚类结果,导致聚类效果不佳。
    • 缺点
      • 丢失原始数据信息
        在标准化过程中,数据的原始尺度和分布信息会部分丢失。例如,通过最小 - 最大标准化将数据映射到 [0, 1] 区间后,无法直接从标准化后的数据中看出原始数据的具体数值范围。对于一些需要了解原始数据真实情况的应用场景,如数据审计或对数据原始分布特征有严格要求的统计分析,这可能会带来不便。
      • 依赖数据分布假设
        某些标准化方法对数据分布有一定的假设。例如,Z - score 标准化假设数据是正态分布或者近似正态分布。如果数据实际不符合这个假设,标准化后的结果可能不能很好地达到预期效果。比如,对于具有明显偏态分布的数据,Z - score 标准化可能会扭曲数据的相对关系,使得在后续的数据分析中产生误导。
      • 增加计算成本和时间
        对于大规模数据集,进行数据标准化需要额外的计算来确定标准化参数(如均值、标准差、最大值、最小值等),并且需要对每个数据点进行转换操作。这会增加数据预处理的时间和计算资源消耗。例如,在处理包含数百万条记录的数据仓库中的数据时,数据标准化可能会成为整个数据处理流程中的一个性能瓶颈。

二、常用标准化

0~1标准化

在这里插入图片描述

公式中x为原始数据,min(x)为一组特征值的最小值,max(x)为最大值。
在这里插入图片描述
0~1标准化的范围就像它的名字一样在[0-1]的范围。

在python中,可以使用sklearn.preprocessing.MinMaxScaler类来实现0~1标准化

例子:

import numpy as np
from sklearn.preprocessing import MinMaxScaler

# 创建一个包含随机数值的二维数组,模拟特征数据集
# 假设有5个样本,每个样本有3个特征
np.random.seed(0)  # 抛出一个随机种子,为了让后面每次运行时生成的随机数值,都与第一次相同
data = np.random.rand(5, 3) * 10  # 生成一个5x3的数组,每个元素的值在0到10之间
print("原始数据:")
print(data)

# 使用MinMaxScaler进行归一化
min_max_scaler = MinMaxScaler()
data_min_max = min_max_scaler.fit_transform(data)
print("\nMinMaxScaler归一化后的数据:")
print(data_min_max)
"""
原始数据:
[[5.45374108 6.36285388 6.89790337]
 [4.22031847 9.29446541 1.72869836]
 [6.29878395 8.68105164 8.78970701]
 [7.65555541 3.81574752 1.61238819]
 [9.50247279 8.58981375 9.87706441]]

MinMaxScaler归一化后的数据:
[[0.23350749 0.4649092  0.63953082]
 [0.         1.         0.01407317]
 [0.39348822 0.88803699 0.86843315]
 [0.65034771 0.         0.        ]
 [1.         0.87138384 1.        ]]
"""

z标准化

  • Z标准化也称为Z-score标准化或标准差标准化是一种数据预处理技术,用于将数据转化为均值为0,标准差为1的标准正态分布。这种方法在数据分析和机器学习中非常常见,特别是当不同特征具有不同的尺度或单位时,通过Z标准化可以使这些特征在相同的尺度上进行比较和处理。
    在这里插入图片描述
  • x 是原始数据。
  • μ 是所有样本数据的均值。
  • σ 是所有样本数据的标准差。
  • z 是转化后的数据,即Z分数。
  • 计算步骤
  • 计算均值:首先,需要计算给定数据集的所有样本的均值(μ)。
  • 计算标准差:然后,计算数据集的标准差(σ),它衡量了数据点与均值的偏差程度。
  • 应用公式:最后,使用Z标准化的公式将每个原始数据点转换为Z分数。
  • 在python中,可以使用sklearn.preprocessing.StandardScaler类的fit_transform方法来实现z标准化。
    例子:
import numpy as np
from sklearn.preprocessing import StandardScaler

# 创建一个包含随机数值的二维数组,模拟特征数据集
# 假设有5个样本,每个样本有3个特征
np.random.seed(0)  # 抛出一个随机种子,为了让后面每次运行时生成的随机数值,都与第一次相同
data = np.random.rand(5, 3) * 10  # 生成一个5x3的数组,每个元素的值在0到10之间
print("原始数据:")
print(data)

# 使用StandardScaler进行标准化
scaler_Z = StandardScaler()
data_scaled = scaler_Z.fit_transform(data)
print("\nStandardScaler标准化后的数据:")
print(data_scaled)
"""
原始数据:
[[2.91800254 3.2360031  9.66065598]
 [7.47746281 4.00855141 2.03950532]
 [9.8433753  8.32004568 4.55501016]
 [6.00990907 9.91191497 4.61528516]
 [0.15924446 1.95696181 6.33065699]]

StandardScaler标准化后的数据:
[[-0.69405259 -0.73160863  1.67789759]
 [ 0.64479923 -0.48048456 -1.35200705]
 [ 1.33953196  0.92100707 -0.35192975]
 [ 0.21386292  1.43845911 -0.3279665 ]
 [-1.50414152 -1.14737299  0.35400572]]
"""

三、注意事项

  • 选择适当的方法:根据数据的特性和算法的需求选择合适的数据标准化方法。例如,如果数据集中存在异常值,Z标准化可能会受到影响,而最小-最大标准化则不受影响(但也可能因为异常值而改变缩放范围)。
  • 考虑数据分布:数据标准化会改变数据的原始分布。在解释标准化后的数据时,需要考虑到这一点。
  • 对测试集使用相同的参数:在训练集上进行数据标准化后,应使用相同的均值、标准差(对于Z标准化)或最小值、最大值(对于最小-最大标准化)来标准化测试集。
  • 避免数据泄露:在实际应用中,需要确保在训练模型之前进行数据标准化,以避免在标准化过程中引入测试集的信息,从而导致数据泄露。

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

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

相关文章

【Vim Masterclass 笔记02】第3章:Vim 核心知识 + L08:Vim 核心浏览命令 + L09:Vim 核心浏览命令同步练习

文章目录 Section 3:Vim Essentials(Vim 核心知识)S03L08 Essential Navigation Commands1 光标的上下左右移动2 上 / 下翻页3 基于单词前移4 基于单词后移5 重新定位视图中的文本(页面重绘)6 定位到所在行的行首7 光标…

2025工作管理综合指南:Jira、Confluence等Atlassian工具套件在工作管理中的应用

在高效的工作场所中,沟通、协作与协调是驱动团队效能与生产力提升的核心要素。企业需构建无缝信息流、顺畅的交接与标准化的流程,以确保无论团队采用何种工作模式——面对面、远程或混合——都能实现高效运作。一套强大的工作管理解决方案,作…

MyBatis-plus sql拦截器

因为业务需求,重新写了一套数据权限。项目中用的是mybtis-plus,正好MyBatis-Plus提供了插件数据权限插件 | MyBatis-Plus,那就根据文档来实现这个需求。 实现: 实现MultiDataPermissionHandler 首先创建MultiDataPermissionHan…

vue导入导出excel、设置单元格文字颜色、背景色、合并单元格(使用xlsx-js-style库)

npm i xlsx-js-style <template><button click"download">下载 Excel 表格</button><el-table :data"tableData" style"width: 100%"><el-table-column prop"date" label"日期" width"180…

Ansys Discovery 中的网格划分方法:探索模式

本篇博客文章将介绍 Ansys Discovery 中可用于在探索模式下进行分析的网格划分方法。我们将在下一篇博客中介绍 Refine 模式下的网格划分技术。 了解 Discovery Explore 模式下的网格划分 网格划分是将几何模型划分为小单元以模拟系统在不同条件下的行为的过程。这是通过创建…

Android布局layout的draw简洁clipPath实现圆角矩形布局,Kotlin

Android布局layout的draw简洁clipPath实现圆角矩形布局&#xff0c;Kotlin 通常&#xff0c;如果要把一个相对布局&#xff0c;FrameLayout&#xff0c;或者线性布局等这样的布局变成具有圆角或者圆形的布局&#xff0c;需要增加一个style&#xff0c;给它设置圆角&#xff0c;…

【中间件】docker+kafka单节点部署---zookeeper模式

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言消息中间件介绍1. KRaft模式2. zookeeper模式2.1. 单节点部署安装验证 前言 最近生产环境上准备部署ELFK日志监控&#xff0c;先在测试环境部署单节点kafka验证…

38 Opencv HOG特征检测

文章目录 HOGDescriptor 构造函数setSVMDetector 设置支持向量机&#xff08;SVM&#xff09;检测器&#xff0c;用于目标检测。compute 用于计算图像区域的HOG描述符。detectMultiScale 多尺度检测目标。示例 HOGDescriptor 构造函数 HOGDescriptor(); HOGDescriptor(const S…

音视频-----RTSP协议 音视频编解码

流媒体协议详解&#xff1a;RTSP、RTP、RTCP、SIP、SDP、RTMP、WebRTC、WebSocket-CSDN博客 上文讲解比较清楚 多媒体编解码基础知识 一文详解WebRTC、RTSP、RTMP、SRT-腾讯云开发者社区-腾讯云 RTP :(Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传…

著名的软件都用什么语言编写?

你是否曾经好奇&#xff0c;身边那些耳熟能详的软件&#xff0c;它们究竟是用什么语言编写的&#xff1f;从操作系统到浏览器、从数据库到编程工具&#xff0c;每一款软件背后都承载着开发者们的智慧与技术选型。那么&#xff0c;究竟哪些编程语言成就了这些世界级的软件呢&…

高效自携式潜水装备,助力水下探索|鼎跃安全

水域安全是水上作业、救援和科研活动的重要保障&#xff0c;面对复杂多变的水下环境&#xff0c;一套轻便、高效的全能的智能设备&#xff0c;能在极大的程度上给潜水活动提供保障。传统潜水装备因体积庞大、操作复杂&#xff0c;已无法满足多样化任务需求。自携式潜水装备凭借…

uni-app深度解码:跨平台APP开发的核心引擎与创新实践

在当今数字化浪潮中&#xff0c;移动应用市场呈现出爆炸式增长。为了满足不同用户群体在不同操作系统上的需求&#xff0c;跨平台 APP 开发成为众多开发者的首选策略。uni-app 作为一款领先的跨平台开发框架&#xff0c;以其独特的优势和创新的实践在众多同类产品中脱颖而出。它…

【74HC192减法24/20/72进制】2022-5-17

缘由用74ls192设计一个72进制的减法计数器&#xff0c;需要有逻辑电路图-硬件开发-CSDN问答

第十届“挑战杯”大学生课外学术科技作品竞赛解析及资料

“挑战杯”被誉为大学生科技创新创业的“奥林匹克”盛会&#xff0c;它汇聚了来自各个学科、各个年级的精英人才。在这里&#xff0c;同学们带着对未知的好奇和对知识的渴望&#xff0c;组成一个个团队&#xff0c;向难题发起挑战。现在&#xff0c;第十届“挑战杯”大学生课外…

Linux实验报告14-Linux内存管理实验

目录 一&#xff1a;实验目的 二&#xff1a;实验内容 1、编辑模块的源代码mm_viraddr.c 2、编译模块 3、编写测试程序mm_test.c 4、编译测试程序mm_test.c 5、在后台运行mm_test 6、验证mm_viraddr模块 一&#xff1a;实验目的 (1)掌握内核空间、用户空间&#xff…

趣味编程:心形曲线

目录 1.序言 2.代码展示 3.代码详解 3.1 头文件包含 3.2 绘制坐标轴函数 3.3 main 函数主体部分 4. 小结 1.序言 2025年的第一篇博客就用这个笛卡尔心形图开篇吧&#xff0c;寓意着新年大家能够有心有所属&#xff0c;祝诸位程序猿 / 程序媛 能够早点遇到自己的另一半。…

Ansys Aqwa 中 Diffraction Analysis 的疲劳结果

了解如何执行疲劳分析&#xff0c;包括由 Ansys Aqwa 计算的海浪行为。 了解疲劳分析 大多数机器故障是由于负载随时间变化&#xff0c;而不是静态负载。这种失效通常发生在应力水平明显低于材料的屈服强度时。因此&#xff0c;当存在动态载荷时&#xff0c;仅依赖静态失效理…

CAD图块是什么?如何进行CAD图块分解?

CAD图块是CAD软件中的一个重要概念&#xff0c;它指的是由一组图形元素&#xff08;如点、线、弧、圆、多边形等&#xff09;组合而成的整体。在CAD画图中&#xff0c;为了能够简化操作、提高效率&#xff0c;保持设计的一致性&#xff0c;很多时候&#xff0c;我们会选择建立C…

黑马JavaWeb开发跟学(十四).SpringBootWeb原理

黑马JavaWeb开发跟学 十四.SpringBootWeb原理 SpingBoot原理1. 配置优先级2. Bean管理2.1 获取Bean2.2 Bean作用域2.3 第三方Bean 3. SpringBoot原理3.1 起步依赖3.2 自动配置3.2.1 概述3.2.2 常见方案3.2.2.1 概述3.2.2.2 方案一3.2.2.3 方案二 3.2.3 原理分析3.2.3.1 源码跟踪…

被催更了,2025元旦源码继续免费送

“时间从来不会停下&#xff0c;它只会匆匆流逝。抓住每一刻&#xff0c;我们才不会辜负自己。” 联系作者免费领&#x1f496;源&#x1f496;码。 三联支持&#xff1a;点赞&#x1f44d;收藏⭐️留言&#x1f4dd;欢迎留言讨论 更多内容敬请期待。如有需要源码可以联系作者免…