📅  最后修改于: 2023-12-03 15:20:09.313000             🧑  作者: Mango
当我们使用机器学习算法时,我们经常需要调整不同特征的值范围和大小。SkLearn中的缩放操作提供了一种简单的方式来完成这些调整。在本文中,我们将介绍两种常用的缩放操作:标准化和归一化。
标准化是指将每个特征的值减去其均值,然后将差值除以其标准差。标准化后的值具有零均值和单位方差,这使得它们可以更好地适应某些机器学习算法,如支持向量机(SVM)和线性回归。下面是标准化的代码示例:
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)
归一化是指将每个特征的值缩放到一个固定范围内,通常是0和1之间或-1和1之间。归一化后的值具有相似的大小和比例,这使得它们可以更好地适应某些机器学习算法,如神经网络和K近邻算法。下面是归一化的代码示例:
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)
无论我们选择哪种缩放操作,都需要在训练集上拟合缩放器,然后使用相同的缩放器在测试集上进行缩放。这可以确保我们在测试集上获得与训练集相同的范围和大小。