Home 数据缩放
数据缩放
取消

数据缩放

缩放对于距离测量很重要


一、数据缩放

你的预处理数据集中可能包含各种各样、不同比例的特征字段,比如美元、千克、价格,有的特征列数值范围在100以内,有的却达到几百万,差异很大。

很多机器学习模型不希望有这样大的差异,如果数据集各个属性之间的数值差异越小,则模型表现的会越好。这里不一概而论,具体原因小伙伴们自行探索下。


1、归一化

数据归一化是指将原始数据缩放到0和1之间。

对于依赖于值的大小的模型,这种对输入属性的缩放很管用。比如在K近邻模型的距离测量和回归系数的准备。

接下来用大名鼎鼎的鸢尾花数据集演示数据归一化的例子。

# 对鸢尾花数据集进行数据归一化处理.
from sklearn.datasets import load_iris
from sklearn import preprocessing
# 加载数据
iris = load_iris()
print(iris.data.shape)
# 分离原始数据集,分为自变量和因变量
X = iris.data
y = iris.target
# 归一化处理
normalized_X = preprocessing.normalize(X)​

2、标准化

数据标准化是指:数据集中,每个特征列的数值减去其平均值,再除以其标准差,得到均值为0,标准差为1的服从标准正态分布的数据。

诸如高斯过程等依赖于特征分布的模型,对特征进行标准化是非常有用的。

依然用鸢尾花的例子。

# 对鸢尾花数据集进行数据标准化处理.
from sklearn.datasets import load_iris
from sklearn import preprocessing
# 加载数据
iris = load_iris()
print(iris.data.shape)
# 分离原始数据集,分为自变量和因变量
X = iris.data
y = iris.target
# 标准化处理
standardized_X = preprocessing.scale(X)​



该博客文章由作者通过 CC BY 4.0进行授权。