机器学习 —— 数据缩放

摘要:数据缩放是机器学习中重要的预处理技术,主要包括归一化和标准化两种方法。归一化将特征值缩放到0-1范围,标准化则将特征调整为均值为0、标准差1的分布。Python中可通过sklearn的StandardScaler实现标准化处理,示例展示了鸢尾花数据集缩放前后的对比,使用fit_transform()方法完成数据拟合和转换。数据缩放能消除特征量纲差异,提升模型性能。

目录

[机器学习 ------ 数据缩放](#机器学习 —— 数据缩放)

示例

输出结果

缩放前的数据:

缩放后的数据:


机器学习 ------ 数据缩放

数据缩放(Data Scaling)是机器学习中的一种数据预处理技术,用于对数据中特征的取值范围或分布进行归一化(Normalization)或标准化(Standardization)处理。数据缩放至关重要,因为数据中的不同特征可能具有不同的量纲,而部分算法在处理此类数据时性能会受影响。通过数据缩放,可使每个特征的量纲和取值范围保持一致,从而提升机器学习模型的性能。

数据缩放主要包含两种常用技术:

  1. 归一化(Normalization):将特征值缩放至 0 到 1 之间。具体实现方式为:用该特征的每个取值减去该特征的最小值,再除以该特征的取值范围(即最大值与最小值的差值)。
  2. 标准化(Standardization):将特征值缩放至均值为 0、标准差为 1 的分布状态。具体实现方式为:用该特征的每个取值减去该特征的均值,再除以该特征的标准差。

示例

在 Python 中,可通过 sklearn 模块实现数据缩放。sklearn.preprocessing 子模块提供了用于数据缩放的相关类。以下是使用 StandardScaler 类实现标准化的示例代码:

python 复制代码
from sklearn.preprocessing import StandardScaler
from sklearn.datasets import load_iris
import pandas as pd

# 加载鸢尾花数据集
data = load_iris()
X = data.data  # 特征数据
y = data.target  # 目标变量

# 将数据集转换为 DataFrame 格式
df = pd.DataFrame(X, columns=data.feature_names)
print("缩放前的数据:")
print(df.head())

# 使用 StandardScaler 对数据进行标准化
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)  # 拟合数据并完成缩放转换

# 将缩放后的特征数据转换为新的 DataFrame
df_scaled = pd.DataFrame(X_scaled, columns=data.feature_names)
print("缩放后的数据:")
print(df_scaled.head())

在本示例中,首先加载鸢尾花(Iris)数据集并将其转换为 DataFrame 格式,随后使用 StandardScaler 类对特征数据进行标准化处理,生成缩放后的新 DataFrame。最后通过打印两个 DataFrame,对比数据缩放前后的差异。需注意的是,此处通过缩放器对象的 fit_transform() 方法同时完成了数据拟合与转换操作。

输出结果

运行上述代码后,将得到如下输出:

缩放前的数据:

花萼长度(厘米) 花萼宽度(厘米) 花瓣长度(厘米) 花瓣宽度(厘米)
0 5.1 3.5 1.4 0.2
1 4.9 3.0 1.4 0.2
2 4.7 3.2 1.3 0.2
3 4.6 3.1 1.5 0.2
4 5.0 3.6 1.4 0.2

缩放后的数据:

花萼长度(厘米) 花萼宽度(厘米) 花瓣长度(厘米) 花瓣宽度(厘米)
0 -0.900681 1.019004 -1.340227 -1.315444
1 -1.143017 -0.131979 -1.340227 -1.315444
2 -1.385353 0.328414 -1.397064 -1.315444
3 -1.506521 0.098217 -1.283389 -1.315444
4 -1.021849 1.249201 -1.340227 -1.315444

相关推荐
回眸&啤酒鸭12 小时前
【回眸】Minicart 电商购物车核心功能落地指南
人工智能
一隅论数智13 小时前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
默_笙13 小时前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
AI的探索之旅13 小时前
97 个 OpenCV 实例(三十):双目立体,从标定到点云
人工智能·opencv·计算机视觉
AlbertZein13 小时前
Step-5-Preview 上手实测:3D 游戏、金融分析、网页设计一次跑完
人工智能·aigc
LaughingZhu13 小时前
Product Hunt 每日热榜 | 2026-09-19
人工智能·深度学习·神经网络·搜索引擎·百度
qq_4260039613 小时前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫13 小时前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
美狐美颜SDK开放平台13 小时前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk