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

为什么做归一化和标准化

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

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

健康状况 为标签

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

归一化:

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

相关推荐
不正经学生1 小时前
C语言预处理详解:编译器真正动手之前的那些事
c语言·开发语言·算法·面试·bug
漂流瓶jz3 小时前
【AI】大模型本地部署与量化:Ollama、transformers、llama.cpp实践
人工智能·llm·ai编程
毕竟是shy哥4 小时前
计算YOLO数据集中每个类的目标数
算法·yolo·机器学习
M78佐菲4 小时前
Linux学习笔记:TCP协议
linux·笔记·学习·tcp/ip·算法
飞哥数智坊4 小时前
AI时代,我们到底该学什么、用什么,为什么还没提效?
人工智能
飞哥数智坊4 小时前
GPT 做架构,国内模型写代码:这条 AI 开发路线能跑通吗?
人工智能·ai编程
AI_AGENT_DEV_AI5 小时前
AI 智能体的开发与上线
人工智能
VL——MOESR5 小时前
【具身智能】VLA论文阅读随笔
论文阅读·人工智能·机器学习·具身智能·vla
OCR_133716212755 小时前
从模板匹配到AI泛化识别:文本抽取如何重构护照阅读器落地生态
人工智能·重构
大唐荣华5 小时前
从OpenAI关停Sora看世界模型、AI视频与国内具身智能赛道路线分化
人工智能·openai·sora·内容生成