sklearn.preprocessing中的标准化StandardScaler与scale的区别

StandardScaler与scale

1、标准化概述

标准化主要用于对样本数据在不同特征维度进行伸缩变换,目的是使得不同度量之间的特征具有可比性,同时不改变原始数据的分布

一些机器学习算法对输入数据的规模和量纲非常敏感,如果输入数据的特征之间存在数量级差异,可能会影响算法的准确性和性能

标准化处理的好处是我们在进行特征提取时,可以忽略不同特征之间由于噪声所导致的度量差异,而保留样本在各个维度上的信息分布,提高算法的准确性和性能,增加数据的可解释性

标准化的过程如下:

  • 计算数据列的算数平均值(mean)
  • 计算数据列的标准差/方差(std)
  • 对每个数据列分别进行转化:(X-mean)/std

sklearn.preprocessing提供了两种直接对给定数据进行标准化的方式:scale()函数和StandardScaler类,它们之间有什么区别呢?

2、两种标准化的区别

1)scale()函数

python 复制代码
import numpy as np
from sklearn.preprocessing import scale, StandardScaler

# A、scale(X, axis)函数:axis:用来计算均值和标准差的轴,默认0,对每个特征进行标准化(列),1为对每个样本进行标准化(行)
# 样本数据
X = np.array([[1, -1, 2], [2, 1, 0]])
# 直接标准化处理
X_scaled = scale(X)
print(X_scaled)
'''
[[-1. -1.  1.]
 [ 1.  1. -1.]]
'''
# 处理后数据的均值和方差
print(X_scaled.mean(axis=0))    # [0. 0. 0.]
print(X_scaled.std(axis=0))     # [1. 1. 1.]

2)StandardScaler类

python 复制代码
# B、StandardScaler类
ss = StandardScaler()
# 标准化处理,如果在训练集上进行标准化,同时可以使用保存在训练集中的参数(均值、方差)对测试集数据进行转化
X_scaled = ss.fit_transform(X)
print(X_scaled)
'''
[[-1. -1.  1.]
 [ 1.  1. -1.]]
'''
# 处理后数据的均值和方差
print(X_scaled.mean())    # 0.0
print(X_scaled.std())     # 1.0
# 使用训练集标准化后的均值和方差对测试集数据进行转换
print(ss.transform([[-1, 2, 0]]))
'''
[[-5.  2. -1.]]
'''

StandardScaler类与scale函数标准化的区别总结如下:

  • scale()函数:不能将原数据集(训练集)的均值和方差应用到新的数据集(测试集),如果使用全部样本,标准化计算的结果是训练集和测试集共同的期望和方差
  • StandardScaler类:可以将原数据集(训练集)的均值和方差应用到新的数据集(测试集),即假设训练集的期望和测试集的期望是一样的,测试集的标准化是用的训练集的期望和方差

在机器学习中,我们通常是从整体中以抽样的方式抽出训练集,这意味着我们默认这部分训练集可以代替整体,也就是训练集的期望就是整体的期望,测试集标准化时,它的期望采用的正是训练集的期望,所以StandardScaler类才是我们经常用的方式

更多关于StandardScaler类的使用见文章:传送门

相关推荐
txg6667 分钟前
VULOC:基于汇编切片的漏洞定位框架,精准锁定二进制中的危险代码
汇编·人工智能·深度学习·安全·网络安全
会编程的吕洞宾13 分钟前
LangChain4j Tool Calling 实战:让大模型自动查数据库发邮件,一句话搞定复杂任务
数据库·人工智能
xcLeigh14 分钟前
编程语言的 AI 友好度排名:Python、JavaScript、TypeScript 谁更适合 AI 辅助
javascript·人工智能·python·ai·typescript·ai编程
Albart57515 分钟前
【已解决】ModuleNotFoundError_ No module named ‘xxx’ 模块导入失败终极解决
python·pip·环境配置·后端开发·bug解决·模块报错·python导包失败
玖妍呐16 分钟前
做小红书封面图,用哪个AI绘图工具生成出来好看?
人工智能
明源云21 分钟前
资产管理软件哪个好?不动产资产管理系统的选型逻辑与标杆实践
大数据·人工智能·架构
LaughingZhu36 分钟前
Product Hunt 每日热榜 | 2026-08-08
人工智能·经验分享·深度学习·神经网络·产品运营
花酒锄作田1 小时前
Repository 模式在 FastAPI 中的应用
python·fastapi
硅谷秋水1 小时前
人工智能医疗健康机器人研究综述与分析
人工智能·深度学习·计算机视觉·语言模型·机器人
Industio_触觉智能1 小时前
瑞芯微RV1126B安防视觉场景解析|AI门禁+智能IPC+边缘分析
人工智能·硬件工程·智能硬件·核心板·瑞芯微·rv1126b·rv1126bj