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

为什么做归一化和标准化

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

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

健康状况 为标签

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

归一化:

通过对原始数据进行变换把数据映射到【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. (标准化)

相关推荐
不会代码的小猴16 分钟前
21. 泛型编程上
开发语言·c++·笔记·算法
启雀AI27 分钟前
AI 驱动的视频课程自动摘要与知识点提取:ASR + LLM 流水线工程实践
人工智能·阿里云·华为云·音视频·培训saas平台
Mac的实验室27 分钟前
2026年8月最新实操:谷歌Gmail邮箱手机号注册扫码发短信提示“无法验证”怎么办?(附100%成功绕过指南)
人工智能
MindUp1 小时前
AI辅助PPT生成工具的内容组织能力实测:8款产品的文档解析与排版效果对比
人工智能
寒草1 小时前
【寒草呈献】当巴菲特走进 AI 投研助手
人工智能·架构
fthux1 小时前
装闭 RenoPit 源码解析(06):SSE如何实时推送AI装修分析进度
人工智能·ai·开源·github·open source·renopit
AI备案指南-满满1 小时前
大模型与算法备案全流程详解:从零到通过的完整指南
人工智能·算法·备案·大模型备案·算法备案
江畔柳前堤1 小时前
LLM 训练核心机制深度解析:Warmup、Cosine Decay 与 Perplexity 的完整知识体系
网络·人工智能·深度学习·算法·机器学习·语音识别
一只旭宝1 小时前
细讲C加加【9】C++ std::function与std::bind详解|仿函数、绑定器、类成员绑定、占位符、成员偏移指针
开发语言·c++·算法