11 特征工程之特征缩放
整理说明
这篇内容怎么整理
郭震 · 2026-06-04
阅读路线
先按这条路线读
先抓住主线,再回到代码、配置和图文细节,读起来会更稳。
特征缩放对 SVM、KNN、线性模型、PCA 等方法尤其重要。关键规则是只在训练集上拟合缩放器,再应用到验证和测试数据。
缩放方式可对照 scikit-learn preprocessing 文档。
我会检查每个数值特征的单位。收入、年龄、点击次数如果直接放在一起,模型很可能被量纲大的特征牵着走。
在机器学习中,特征缩放是数据预处理的一个重要步骤。它的目的是将特征变量的数值转换到一个相似的范围,从而提高模型的表现和收敛速度。在本节中,我们将深入探讨特征缩放的概念、常用方法和实操案例,帮助你更好地理解和应用它。
为什么需要特征缩放?
在许多机器学习算法中,特别是基于距离的算法(如k近邻、支持向量机等),特征之间的尺度差异可能会影响到模型的性能。例如,在一个特征为0到1的区间,另一个特征为0到1000,后者的特征值会在计算距离时占据主导地位,从而影响模型的结果。因此,对特征进行缩放是减少这种影响的有效方法。
做特征缩放时,先看字段量纲、异常值、训练测试隔离、标准化和归一化选择。
常见的特征缩放方法
以下是两种常用的特征缩放方法:
看完《特征工程之特征缩放》后,建议用一分钟复盘:关键概念是否分清、练习步骤是否可复现、结论能不能换成自己的话。
1. 标准化(Z-score标准化)
标准化将特征转化为均值为0,方差为1的分布。其公式为:
其中,为原始特征值,为均值,为标准差。
当特征数据呈现正态分布时,标准化效果尤为显著。
2. 最小-最大缩放
最小-最大缩放将特征值线性压缩到范围为[0, 1]。其公式为:
其中,为原始特征值,和分别为特征的最小值和最大值。
该方法适用于特征分布不大,且无明显异常值的情况。
实际案例
我们来看一个简单的案例,使用Scikit-Learn对数据进行特征缩放。假设我们有一个包含多个特征的数据集,我们将应用这两种缩放技术。
数据集准备
import pandas as pd
from sklearn.datasets import load_iris
# 加载鸢尾花数据集
data = load_iris()
X = pd.DataFrame(data.data, columns=data.feature_names)
print("原始数据:\n", X.head())
使用标准化
from sklearn.preprocessing import StandardScaler
# 实例化标准化对象
scaler = StandardScaler()
# 进行标准化
X_standardized = scaler.fit_transform(X)
print("标准化后的数据:\n", X_standardized[:5])
使用最小-最大缩放
from sklearn.preprocessing import MinMaxScaler
# 实例化最小-最大缩放对象
min_max_scaler = MinMaxScaler()
# 进行最小-最大缩放
X_min_max_scaled = min_max_scaler.fit_transform(X)
print("最小-最大缩放后的数据:\n", X_min_max_scaled[:5])
通过以上的代码,我们可以看到原始数据经过标准化和最小-最大缩放后的不同表现。不同的缩放方法适用于不同的场景,选择合适的方法有助于提高模型的整体性能。
如果《特征工程之特征缩放》还没完全消化,可以从这张卡片的四个动作重新走一遍。
回看《特征工程之特征缩放》时,不必一次做大项目,先用一条简单样例确认主线是否清楚。
小结
通过本节的学习,我们了解到特征缩放是特征工程中的重要一步,尤其是在使用距离敏感算法时,合理的缩放能够显著提升模型的效果。我们介绍了标准化和最小-最大缩放这两种常用方法,并通过Scikit-Learn的实现进行了实际操作。
在下一篇中,我们将讨论如何处理缺失值,这是数据预处理中的另一个重要环节。希望大家继续关注,让我们在特征工程的道路上不断前行!
继续阅读
从这篇继续找到相关教程
常见问题
读前先确认这三点
特征工程之特征缩放适合谁读?
这是 Scikit-learn 入门 系列第 11 / 24 篇,适合正在学习Scikit-learn 入门,并且需要把概念落到操作步骤或判断标准里的读者。
读这篇Scikit-learn 入门教程要多久?
按中文技术文章阅读速度估算,通读大约 3 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。
这篇文章里的图文节点怎么用?
正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。
分享文章
转发到常用平台
微信/朋友圈可先复制链接
相关教程
从相近问题继续读
继续阅读