不同特征之间往往具有不同的量纲,由此所造成的数值间的分布差异可能会很大,为了消除可能造成的影响,需要对数据进行标准化处理,即特征缩放。
1.归一化
归一化将样本分别归一化为单位范数,使得具有至少一个非零分量的每个样本都独立于其他样本进行重新缩放,如数据矩阵的每一行,以使样本的范数(l1,l2或inf)等于1。
#?归一化 from sklearn.preprocessing import Normalizer transformer = Normalizer().fit(X) ?# fit方法不输出 transformer.transform(X) |
2.鲁棒标准化
这种标准化方法使用对异常值鲁棒的统计信息来缩放特征,通过计算训练集中样本的相关统计信息,对每个特征进行独立的缩放。通常根据分位数范围,默认使用IQR,即四分位间距缩放数据。
#?鲁棒标准化 from sklearn.preprocessing import RobustScaler transformer = RobustScaler().fit(X) transformer.transform(X) |
3.二值化
这种方法根据设定的阈值对数据进行二值化,将数值设置为0或1。数据集中大于阈值的值映射为1,而小于或等于阈值的值映射为0。该方法常用于文本计数数据或灰度图像的预处理。
from sklearn.preprocessing import Binarizer transformer = Binarizer().fit(X) transformer.transform(X) |
更多精彩内容我们下期见!