机器学习-------数据标准化

什么是归一化,它与标准化的区别是什么?

一 作用

在做训练时,需要先将特征值与标签标准化,可以防止梯度防炸和过拟合;
将标签标准化后,网络预测出的数据是符合标准正态分布的—StandarScaler(),与真实值有很大差别。因为StandarScaler()对数据的处理是(真实值-平均值)/标准差。
同时在做预测时需要将输出数据逆标准化
提升模型精度:标准化 / 归一化使不同维度的特征在数值上更具比较性,提高分类器的准确性。
提升收敛速度:对于线性模型,数据归一化使梯度下降过程更加平缓,更易正确的收敛到最优解。

二 fit+transform与fit_transform

fit+transform
fit():简单来说,就是求得训练集X的均值,方差,最大值,最小值,这些训练集X固有的属性。
transform:在fit的基础上,进行标准化,降维,归一化等操作(看具体用的是哪个工具,如PCA,StandardScaler等)。可以进行逆标准化处理
fit_transform
若只用一批数据相当与fit+transform;
对于多批数据,若分别使用fit_transform,这几批数据对应的平均值、标准差、最大值、最小值不相同;对于多批数据,若先使用fit再分别使用transform,这几批数据对应的平均值、标准差、最大值、最小值都与fit(X)中的处理方式相同;
不可以进行逆标准化处理

三.

1标准差标准化 StandardScaler

from sklearn.preprocessing import StandardScaler
使用均值与方差,对服从正态分布的数据处理,得到符合标准正态分布的数据
处理方法:标准化数据减去均值,然后除以标准差,经过处理后数据符合标准正态分布,即均值为0,标准差为1;
转化函数:x = (x-mean) / std;
适用性:适用于本身服从正态分布的数据;
Outlier(异常值)的影响:基本可用于有outlier的情况,但在计算方差和均值时outliers仍然会影响计算。
from sklearn.preprocessing import StandardScaler
data['normAmount'] = StandardScaler().fit_transform(data['Amount'].values.reshape(-1, 1))
data = data.drop(['Time','Amount'],axis=1)
data.head()

2.极差标准化 / 归一化 MinMaxScaler

from sklearn.preprocessing import MinMaxScaler
区间缩放,基于最大最小值,将数据转换到0,1区间上的
处理方法:将特征缩放到给定的最小值和最大值之间,也可以将每个特征的最大绝对值转换至单位大小。这种方法是对原始数据的线性变换,将数据归一到[0,1]中间;
转换函数:x = (x-min) / (max-min);
适用性:适用于分布范围较稳定的数据,当新数据的加入导致max/min变化,则需重新定义;
Outlier(异常值) 的影响:因为outlier会影响最大值或最小值,因此对outlier非常敏感。
import matplotlib.pyplot as plt
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
# 加载数据
iris_data = pd.read_csv('./dataset/iris.csv')
# 获取特征
X = iris_data[['sepal_length', 'sepal_width', 'petal_length', 'petal_width']].values
# 获取标签
y = iris_data['label'].values
# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=1/3, random_state=10)
# 在训练集上进行归一化
X_train_scaled = scaler.fit_transform(X_train)
# 在测试集上使用相同的scaler进行归一化
X_test_scaled = scaler.transform(X_test)

3. 稳健标准化 RobustScaler

from sklearn.preprocessing import RobustScaler
使用具有鲁棒性的统计量缩放带有异常值(离群值)的数据
处理方法:该缩放器删除中位数,并根据百分位数范围(默认值为IQR:四分位间距)缩放数据;
IQR:是第1个四分位数(25%)和第3个四分位数(75%)之间的范围;
适用性:适用于包含许多异常值的数据;
Outlier 的影响:RobustScaler 利用IQR进行缩放来弱化 outlier 的影响。

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

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

相关文章

排班系统|基于Springboot+vue的医护人员排班系统(源码+数据库+文档)

排班系统|医护人员排班系统 目录 基于Springbootvue的医护人员排班系统 一、前言 二、系统设计 三、系统功能设计 医护类型管理 排班类型管理 科室信息管理 医护信息管理 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&…

CSS3 var() 函数:解锁动态样式与高效维护的密钥

在CSS3中,var()函数是一个强大的特性,它允许我们在样式表中定义可重用的值,并在多个地方引用它们。这种机制不仅提高了代码的可维护性和灵活性,还使得动态更新样式成为可能。本文将深入解析CSS3中的var()函数,包括其用…

C语言代码练习(第十八天)

今日练习: 48、猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时&…

【Python篇】PyQt5 超详细教程——由入门到精通(中篇二)

文章目录 PyQt5超详细教程前言第7部分:生成图表与数据可视化7.1 matplotlib 与 PyQt5 的结合7.2 在 PyQt5 中嵌入 matplotlib 图表示例 1:嵌入简单的 matplotlib 图表代码详解: 7.3 动态生成图表示例 2:动态更新图表代码详解&…

Typora激活脚本

参考文章1 图文教程 | 2024Typora最新版免费激活使用教程(新旧版可用)_typora激活-CSDN博客 参考文章2 解决Typora闪退、文件打不开等问题——Typora免费使用教程(也有免费版的)_为什么点击typora没反应-CSDN博客 下面是脚本: …

物联网云平台开发岗位面试经验分享

大家好,这次为大家分享的是关于物联网云平台开发岗位面试,这是一篇关于更加面向项目和技术的面经详解 面试岗位:物联网云平台开发工程师 💼岗位职责: 负责物联网云平台框架搭建、架构规划与设计,以及架构…

网站支持IPv6和不支持有什么区别?

在当今数字化时代,互联网已经成为人们生活和工作中不可或缺的一部分。随着互联网的不断发展,IPv6作为新一代互联网协议,正逐渐被广泛应用。 网站支持IPv6 和不支持IPv6究竟有什么区别呢? 一、IPv6的背景与优势 IPv6是“Interne…

电脑与电脑之间怎么快速传输文件?

若两台电脑在同一局域网,可以使用Windows远程桌面传输文件,或者使用远程看看这款免费的远程桌面软件,它支持在不同的网络之间传输文件,而且速度快、安全性高。 步骤1. 在两台电脑上下载、安装并运行远程看看。 步骤2. 注册一个远…

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs&…

山西的旅游资源那么丰富,为什么很少人去山西旅游呢?

山西作为一个拥有丰富旅游资源的省份,却在游客吸引力方面相对弱于厦门、云南、四川等地,这一现象可以从多个方面来分析。 关于”山西的旅游资源那么丰富,为什么很少人去山西旅游呢?“这个问题,通过以下几点分析&#…

从基础到进阶:直播美颜API集成主播美颜SDK的开发指南

今天,小编将从基础概念开始,详细介绍如何集成直播美颜API,并通过主播美颜SDK实现高级美颜功能,为开发者提供清晰的开发指南。 一、什么是直播美颜API? 直播美颜API是一套接口,允许开发者在直播过程中对视…

如何解析域名到网站?

在现代互联网中,域名解析是用户访问网站的关键过程。用户通过输入易于记忆的域名来访问网站,而背后则是复杂的域名解析机制将域名转换为服务器的IP地址,使得浏览器能够找到并加载目标网站。聚名网详细介绍域名解析的过程及其相关技术。 一、…

shell手册

bash-handbook-zh-CN 目录 前言Shells与模式 交互模式非交互模式返回值 注释变量 局部变量环境变量位置参数 Shell扩展 大括号扩展命令置换算数扩展单引号和双引号 数组 数组声明数组扩展数组切片向数组中添加元素从数组中删除元素 流,管道以及序列 流管道命令序列…

PCIe NVMe SSD 上电初始化全流程

1. 在FPGA中对PCIe IP核中的各种寄存器进行最原始的配置,比如Vendor ID, Device ID, Revision ID, Class Vaule等等 2. HOST首先将PCIe的Bar全写入1,来获取NVMe寄存器的大小,并在内核空间中开辟一块内存(不是真的通过kalloc去开辟…

Vuex:深入理解所涉及的几个问题

你好,我是沐爸,欢迎点赞、收藏、评论和关注。 一、Vuex 是什么? Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。 二、Vu…

别找了!包含gpt在内的国内可以使用的Ai网站都在这了【最新可用】

在当今人工智能迅速发展的时代,智能创作与对话平台为用户提供了多样化的功能支持。以下是一些国内代表性的GPT平台,涵盖了从个人到企业的广泛需求,您可以根据自己的需求灵活选择。我们还为您整理了这些平台的链接,方便直接体验。&…

Redis学习Day3——项目工程开发

扩展阅读推荐: 黑马程序员Redis入门到实战教程_哔哩哔哩_bilibili 使用git命令行将本地仓库代码上传到gitee/github远程仓库-CSDN博客 一、项目介绍及其初始化 学习Redis的过程,我们还将遇到各种实际问题,例如缓存击穿、雪崩、热Key等问题&…

Ubuntu20.04+ros-noetic配置Cartographer

一、概述 因为要配置激光SLAM,Cartographer属于激光雷达SLAM 中比较经典的一款,在学习之前先将其在Ubuntu20.04首先配置出来并成功运行demo。 二、具体操作 (一)概述 使用平台是Windows的wsl2上的Ubuntu20.04子系统,…

C语言中的磁盘映射与共享内存详解

文章目录 C语言中的磁盘映射与共享内存1. 磁盘映射(Memory Mapping)1.1 磁盘映射的深入概念1.2 mmap函数的详细参数解析1.3 磁盘映射的高级应用场景1.3.1 大文件处理1.3.2 内存共享1.3.3 文件与内存同步1.3.4 内存映射数据库 1.4 完整的磁盘映射代码示例…

np.ndarray和np.array区别;MXNet的 mx.array 类型是什么;NDArray优化了什么:并行计算优化

目录 np.ndarray和np.array区别 np.ndarray np.array 举例说明 MXNet的 mx.array 类型是什么 NDArray优化了什么 1. 异步计算和内存优化 2. 高效的数学和线性代数运算 3. 稀疏数据支持 4. 自动化求导 举例说明 np.ndarray和np.array区别 在NumPy库中,np.ndarray和n…