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

为什么做归一化和标准化

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

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

健康状况 为标签

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

归一化:

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

相关推荐
aqi002 小时前
15天学会AI应用开发(十)把文本嵌入模型换成国产模型
人工智能·python·ai编程
MobotStone2 小时前
为什么在AI时代,“好奇心”成了最值钱的能力?
人工智能
武子康3 小时前
调查研究-200 llama.cpp b9754:一次很小但很关键的 Agent 工具调用修复
人工智能·agent·llama
Ralph_Salar3 小时前
从0到1搭建AI智能支付风控助手Stage1-RAG知识库升级 — 元数据让检索更精准
人工智能
武子康3 小时前
调查研究-199 MCP Zero-Touch OAuth:为什么它是 MCP 进入企业生产的关键门槛?
人工智能·agent·mcp
冬奇Lab3 小时前
每日一个开源项目(第144篇):ai-website-cloner-template - 一条命令、多 Agent 并行,把任意网站逆向成 Next.js 代码
前端·人工智能·开源
冬奇Lab3 小时前
AI 原生组织不是买工具,而是让等待消失
人工智能·工作流引擎
半个落月3 小时前
从数据集划分理解大模型的数据工程
人工智能