机器学习——归一化/标准化(特征工程预处理)

为什么做归一化和标准化

特征单位或者大小相差较大,或者某个特征的方差相比其他的特征要打出几个数量级,容易影响(支配)目标,使得一些模型(算法)无法学习到其他特征

身高、体重、视力 都是特征

健康状况 为标签

这个特征数据就存在量纲问题。

归一化:

通过对原始数据进行变换把数据映射到【mi,mx】(默认为[0,1])之间

第一步:

x :特征值

min: 这一列最小特征值

max: 这一列最大特征值

这个数据存在量纲问题,使用归一化公式

注意:这里是指所有的数据都需要进行归一化

第二步:

mi,mx 默认为[0,1]

mx 这里为 1

mi 这里为0

第二步后得出的结果

总结:

归一化弊端,容易收到 最大值和最小值的影响

python 复制代码
from sklearn.preprocessing import MinMaxScaler

data = [[90, 2, 10, 40],
        [60, 4, 15, 45],
        [75, 3, 13, 46]]

transfer = MinMaxScaler(feature_range=(0, 1)) #归一化对象 默认之前(0, 1)

new_data = transfer.fit_transform(data)

print(new_data)

标准化:

通过对原始数据进行标准化,转换为均值为0 标注差为1 的标准正态分布的数据

python 复制代码
from sklearn.preprocessing import StandardScaler

data = [[90, 2, 10, 40],
        [60, 4, 15, 45],
        [75, 3, 13, 46]]

#标准化 对象
transfer = StandardScaler()
new_data = transfer.fit_transform(data)

print(f'标准化的结果:\n{new_data}')

归一化 vs 标准化 快速对比

方法 公式 适用场景 优点 注意事项
归一化 (Min-Max) 特征边界明确、无极端异常值 缩放到 [0,1],直观 对异常值敏感
标准化 (Z-score) 特征近似正态分布、或含异常值 稳健,均值为0方差为1 结果无固定范围
复制代码

sklearn.preprocessing MinMaxScaler (归一化)

sklearn.preprocessing StandardScaler. (标准化)

相关推荐
lulu12165440784 小时前
Claude Code项目大了响应慢怎么办?Subagents、Agent Teams、Git Worktree、工作流编排四种方案深度解析
java·人工智能·python·ai编程
大橙子打游戏4 小时前
talkcozy像聊微信一样多项目同时开发
人工智能·vibecoding
deephub4 小时前
LangChain 还是 LangGraph?一个是编排一个是工具包
人工智能·langchain·大语言模型·langgraph
小辉同志4 小时前
215. 数组中的第K个最大元素
数据结构·算法·leetcode··快速选择
小O的算法实验室5 小时前
2025年IEEE TITS,基于矩阵的进化计算+面向无线传感器网络数据收集无人机路径规划,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
OidEncoder5 小时前
编码器分辨率与机械精度的关系
人工智能·算法·机器人·自动化
Championship.23.245 小时前
Harness工程深度解析:从理论到实践的完整指南
人工智能·harness
扬帆破浪5 小时前
开源免费的WPS AI 软件 察元AI文档助手:链路 002:executeAssistantFromRibbon 与任务进度窗
人工智能·开源·wps
memcpy05 小时前
LeetCode 2615. 等值距离和【相同元素分组+前缀和;考虑距离和的增量】中等
算法·leetcode·职场和发展
炽烈小老头5 小时前
【 每天学习一点算法 2026/04/22】四数相加 II
学习·算法