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

《机器学习》——数据标准化(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标准化)或最小值、最大值(对于最小-最大标准化)来标准化测试集。
  • 避免数据泄露:在实际应用中,需要确保在训练模型之前进行数据标准化,以避免在标准化过程中引入测试集的信息,从而导致数据泄露。

相关文章:

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

文章目录 数据标准化一、什么是标准化二、常用标准化0~1标准化z标准化 三、注意事项 数据标准化 一、什么是标准化 数据标准化是一种数据预处理技术,用于将数据按照一定的规则进行变换,使得不同特征或变量具有可比性和一致性。作用 消除量纲影响 在实际…...

如何监控和管理API接口的调用频率和并发量?

使用监控工具 APM(应用性能管理)工具 功能介绍:APM 工具如 New Relic、AppDynamics 等可以深入监控 API 的性能指标,包括调用频率、并发量、响应时间等。它们通过在应用程序中嵌入代理或使用无侵入式的监测方式,收集和…...

springboot+vue使用EasyCaptcha实现简单验证码

一、实现效果 springboot使用EasyCaptcha实现简单验证码&#xff0c;更多api和用法可以去github上查看EasyCaptcha: Java图形验证码&#xff0c;支持gif、中文、算术等类型&#xff0c;可用于Java Web、JavaSE等项目。 二、实现步骤 1、导入依赖 <!-- easy-captcha --&g…...

“善弈者”也需妙手,Oclean欧可林:差异化不是说说而已

作者 | 曾响铃 文 | 响铃说 俗话说&#xff0c;“牙痛不是病&#xff0c;痛起来要人命”。这话意思大家都知道&#xff0c;牙痛虽不是什么大病&#xff0c;可一旦发作却是极难忍受。 前几日&#xff0c;Oclean欧可林举办了一场AirPump A10氧气啵啵冲牙器新品品鉴会&#xff…...

Lianwei 安全周报|2025.1.2

以下是本周「Lianwei周报」&#xff0c;我们总结推荐了本周的政策/标准/指南最新动态、热点资讯和安全事件&#xff0c;保证大家不错过本周的每一个重点&#xff01; 政策/标准/指南最新动态 01 国家数据局等五部门印发《关于促进企业数据资源开发利用的意见》 为充分释放企业…...

吐卡机开发——指令合集—未来之窗行业应用跨平台架构

序号指令10A 09 02 01 01 0D DE20A 09 02 02 01 FD DE30A 09 02 03 01 6D DF40A 09 02 04 01 5D DD50A 09 02 05 01 CD DC60A 09 02 06 01 3D DC70A 09 02 07 01 AD DD80A 09 02 08 01 5D D890A 09 02 09 01 CD D9100A 09 02 10 01 5D D2110A 09 02 11 01 CD D3120A 09 02 12 0…...

C# 设计模式(创建型模式):单例模式

C# 设计模式&#xff08;创建型模式&#xff09;&#xff1a;单例模式 1. 引言 在软件开发中&#xff0c;设计模式是解决常见问题的经典方法。单例模式&#xff08;Singleton Pattern&#xff09;是创建型设计模式中的一种&#xff0c;旨在确保某个类只有一个实例&#xff0c…...

使用WebSocket 获取实时数据

回车发送数据&#xff0c;模拟服务器发送数据 效果图&#xff1a; 源码&#xff1a; <template><div><h1>WebSocket 实时数据</h1><input type"text" v-model"ipt" keyup.enter"sendMessage(ipt)"><div v-if…...

阿里云服务器上安装配置Logtail日志收集客户端

在当今的云计算时代,有效的日志管理对于监控、故障排查和性能优化至关重要。作为阿里云用户,您可以利用阿里云强大的日志服务(SLS)来管理您的日志。而Logtail,作为SLS的核心组件之一,在日志收集和传输中扮演着关键角色。本文将为您详细介绍如何在阿里云服务器上安装和配置…...

Java实现下载excel模板,并实现自定义下拉框

GetMapping("excel/download")ApiOperation(value "模板下载")public void getUserRecordTemplate(HttpServletResponse response, HttpServletRequest request) throws IOException {OutputStream outputStream response.getOutputStream();InputStream…...

postgres docker安装

mkdir -p /root/postgresql/data docker pull postgres:14 docker run --privilegedtrue --name postgres -e POSTGRES_PASSWORD123456 -e ALLOW_IP_RANGE0.0.0.0/0 -p 5432:5432 -v /root/postgresql/data:/var/lib/postgresql/data -d postgres:14#地址&#xff1a;192.168.3…...

数据库原理与应用期末复习

目录 第 1 章 概述 第 2 章 关系模型的基本概念 第 3 章 SQL 语言 第 4 章 中级 SQL 第 5 章 高级 SQL 第 6 章 关系代数语言 第 7 章 数据库设计和 ER 模型 第 8 章 关系数据库设计 第 13 章 事务 第 14 章 并发控制与恢复 第 1 章 概述 Database-management system…...

数据库知识汇总2

一. 范式 定义&#xff1a;范式是符合某一种级别的关系模式的集合。 关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式&#xff1b; 一个低一级范式的关系模式&#xff0c;通过模式分解&#xff08;schema decomposition&#xff09;可以转换为若干个高一…...

CS·GO搬砖流程详细版

说简单点&#xff0c;就是Steam买了然后BUFF上卖&#xff0c;或许大家都知道这点&#xff0c;但就是一些操作和细节问题没那么明白。我相信&#xff0c;你看完这篇文章以后&#xff0c;至少会有新的认知。 好吧&#xff0c;废话少说&#xff0c;直接上实操&#xff01; 首先准…...

《长寿养生报》是科普报刊吗?参与评选的科普作品需要注意什么?

随着各地医师职称评选标准改革的推广&#xff0c;目前不少省份已经将发表“科普作品”视作参与参与职称评选的工作成果。这一改革&#xff0c;也让《长寿养生报》这类报刊受到不少医护工作者的青睐。 《长寿养生报》是科普报刊吗&#xff1f;参与评选的科普作品需要注意什么&am…...

React native 原生环境搭建(最新版本RN环境搭建,不是expo)

前言 React Native 是 Facebook 推出的一款用于开发移动应用的框架&#xff0c;开发者可以用 JavaScript 和 React 等技术&#xff0c;一次编写代码&#xff0c;然后同时部署到 iOS 和 Android 平台上&#xff0c;大大节省了开发时间和人力成本&#xff0c;避免了为每个平台单…...

Unity Excel转Json编辑器工具

功能说明&#xff1a;根据 .xlsx 文件生成对应的 JSON 文件&#xff0c;并自动创建脚本 注意事项 Excel 读取依赖 本功能依赖 EPPlus 库&#xff0c;只能读取 .xlsx 文件。请确保将该脚本放置在 Assets 目录下的 Editor 文件夹中。同时&#xff0c;在 Editor 下再创建一个 Exc…...

XML结构快捷转JSON结构API集成指南

XML结构快捷转JSON结构API集成指南 引言 在当今的软件开发世界中&#xff0c;数据交换格式的选择对于系统的互操作性和效率至关重要。JSON&#xff08;JavaScript Object Notation&#xff09;和XML&#xff08;eXtensible Markup Language&#xff09;是两种广泛使用的数据表…...

数据挖掘——支持向量机分类器

数据挖掘——支持向量机分类器 支持向量机最小间隔面推导基于软间隔的C-SVM非线性SVM与核变换常用核函数 支持向量机 根据统计学习理论&#xff0c;学习机器的实际风险由经验风险值和置信范围值两部分组成。而基于经验风险最小化准则的学习方法只强调了训练样本的经验风险最小…...

ImageNet 2.0?自动驾驶数据集迎来自动标注新时代

引言&#xff1a; 3DGS因其渲染速度快和高质量的新视角合成而备受关注。一些研究人员尝试将3DGS应用于驾驶场景的重建。然而&#xff0c;这些方法通常依赖于多种数据类型&#xff0c;如深度图、3D框和移动物体的轨迹。此外&#xff0c;合成图像缺乏标注也限制了其在下游任务中的…...

智能工厂的设计软件 应用场景的一个例子:为AI聊天工具添加一个知识系统 之11 方案再探之2 项目文件(修改稿1)

(以下内容是第二次重建项目&#xff08;“方案再探”&#xff09;时的项目附件。) 为AI聊天工具添加一个知识系统 Part1 人性化&去中心化 前情提要 这一次我们暂时抛开前面对“智能工厂的软件设计”的考虑--其软件智能 产品就是 应用程序。直接将这些思维方式和方法论 运…...

详解MySQL SQL删除(超详,7K,含实例与分析)

文章目录 前言1. 删除表中的所有记录基本语法使用场景注意事项运用实例分析说明2. 删除特定记录基本语法使用场景注意事项运用实例分析说明3. 删除单条记录基本语法使用场景注意事项运用实例分析说明4. 删除违反引用完整性的记录基本语法使用场景注意事项运用实例分析说明5. 删…...

uniapp:跳转第三方地图

1.跳转第三方高德地图 //跳转地图 toMap(item){uni.navigateTo({url: (window.location.href https://uri.amap.com/navigation?to${item.lng},${item.lat},${item.shopName}&modecar&policy1&srchttps://gawl.gazhcs.com/wap/index.html&callnative0)}) },…...

深入浅出梯度下降算法:快速抵达函数最小值的方法

引言 梯度是机器学习和优化领域中不可或缺的概念&#xff0c;它为我们提供了理解和调整多维空间中函数行为的工具。本文将详细介绍梯度的定义、性质&#xff0c;并通过具体的一元和多元函数案例展示如何使用梯度下降算法找到最佳参数。 一、梯度的基础知识 1.1 定义与计算 梯…...

RWKV 语言模型

RWKV Language Model是一种独特的循环神经网络&#xff08;RNN&#xff09;架构的语言模型&#xff0c;具有诸多优势和特点&#xff0c;在自然语言处理领域展现出了良好的性能和应用潜力&#xff0c;以下是具体介绍&#xff1a; 核心原理 融合RNN与Transformer优点&#xff1a;…...

pycharm如何拉取一个git项目,然后,修改后再上传到自建的项目中?

以chattts为例 https://github.com/2noise/ChatTTS.git 1.建一个虚拟环境&#xff0c;用于项目使用 2.pychar&#xff4d;新建工程 &#xff13;.忽略 提示 勾选&#xff0c;新建远程仓库 设置账号和密码 设置git路径&#xff0c;一般是正确的&#xff0c;点测试即可 &…...

Java 性能调优实战

性能调优是每个程序员在开发过程中都无法避免的课题&#xff0c;尤其在面对大规模、高并发的系统时&#xff0c;性能优化更是必不可少。本文将根据《Java 性能调优实战》课程的七个模块&#xff0c;深入探讨其中的核心内容&#xff0c;结合实际代码示例&#xff0c;帮助大家更好…...

ctfshow 每日练习 web 区 php特性 1-10

前置知识 这个php特性可以很好的练习我们的白盒简单代码的审计能力 web89 preg_match 正则匹配函数 &#xff08;绕过 &#xff1a; 换行符绕过 &#xff08;也可以利用他的数组返回数字进行绕过一下禁止字符的情况&#xff09;&#xff09; include("flag.php&q…...

《C++设计模式》单例模式

文章目录 1、简介2、单例模式的种类2.1 饿汉式单例模式&#xff1a;2.2 懒汉式单例模式&#xff1a; 3、单例模式的具体介绍3.1、饿汉式3.1.1、代码示例3.1.2、组成部分3.1.3、优缺点3.1.4、应用场景 3.2、懒汉式3.2.1、代码示例3.2.2、组成部分3.2.3、优缺点3.2.4、应用场景 4…...

mapbox进阶,添加路径规划控件

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️MapboxDirections 控件二、🍀添加路径规划控件1. ☘️实现思路2. ☘️…...