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

为什么做归一化和标准化

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

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

健康状况 为标签

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

归一化:

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

相关推荐
锋行天下10 分钟前
Langgraph-cli 本地构建失败,改用服务器docker构建的流程
人工智能·前端框架·全栈
释厄62315 分钟前
群体投票双通道狭隘论——AI泡沫出清后的主角确权
人工智能
IT古董39 分钟前
《Agent开发工程师成长指南》- 第4章 第2节:Prompt设计五要素——任务、角色、上下文、约束与输出格式
大数据·人工智能·prompt
霸道流氓气质43 分钟前
AI 流式对话与实时聊天平台:SSE 解码竞态、有状态会话隔离与背压取消的 Vue3 + Spring AI 生产级实战
java·人工智能·spring
夜不会漫长1 小时前
C++:红黑树
数据结构·算法
孟健1 小时前
我把9个AI助理迁到了Grok Bot,连远程服务器都省了
人工智能·aigc·ai编程
AI+程序员在路上1 小时前
RV1126B 上支持的模型及全流程应用--从CNN及语音到 LLMVLM 与跨平台选型
linux·c语言·人工智能
AI备案指南-满满2 小时前
算法备案审核不通过,一般是什么原因?
java·人工智能·算法·大模型备案·算法备案·大模型登记
这个DBA有点耶2 小时前
连拿六年第一后宣布出海:国产数据库凭什么敢撕掉“平替”的标签?
数据库·人工智能·架构
Jmyd01232 小时前
数字孪生校园ROI测算模型:成本收益参数化与敏感性分析方法
人工智能·数字孪生·三维数字化