预处理与缩放
归一化
常用四种预处理:
StandardScaler:去均值和方差归一化。且是针对每一个特征维度来做的,而不是针对样本。
$$ x = \frac{x-μ}{σ} $$
RobustScaler: 针对数据含有较多的异常值使用,去中位数和四分位距的归一化。
$$ x = \frac{x-meian}{IQR} $$
MinMaxScaler:将特征缩放到给定的最小值和最大值之间,或者也可以将每个特征的最大绝对值转换至单位大小。这种方法是对原始数据的线性变换,将数据归一到[0,1]中间。
$$ x = \frac{x-min}{max-min} $$
Normalizer:对每个数据点进行缩放,使得特征向量的欧式长度等于 1。换句话说,它将一个数据点投射到半径为 1 的圆上(对于更高维度来说是球面)。这意味着每个数据点的缩放比例都不相同(乘以其长度的倒数)。如果只有数据的方向(或角度)是重要的,而特征向量的长度无关紧要,那么通常会使用这种归一化。
数据正确缩放处理:当分割训练集和测试集时,缩放器必须以训练集为模型训练。
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
scaler.fit(X_train)
X_train_scaled = scaler.