归一化
特点:通过对原始数据进行变换把数据映射到(默认[0,1]之间)
目的:使得某一个特征对最终结果不会造成更大影响
缺点:注意在特定场景下最大值最小值是变化的,另外最大值与最小值非常容易受异常点影响,所以这种方法鲁棒性较差,只适合传统精确小数据场景
from sklearn.preprocessing import MinMaxScaler
def mm():
"""
归一化处理
:return: NOne
"""
mm = MinMaxScaler(feature_range=(2, 3))
data = mm.fit_transform([[90,2,10,40],[60,4,15,45],[75,3,13,46]])
print(data)
return None
标准化
特点:通过对原始数据进行变换把数据变换到均值为0,标准差为1范围内
优点:在已有样本足够多的情况下比较稳定,适合现代嘈杂大数据场景,更常用
from sklearn.preprocessing import StandardScaler
def stand():
"""
标准化缩放
:return:
"""
std = StandardScaler()
data = std.fit_transform([[ 1., -1., 3.],[ 2., 4., 2.],[ 4., 6., -1.]])
print(data)
return None
缺失值
一般按列插补
from sklearn.preprocessing import Imputer
import numpy as np
def im():
"""
缺失值处理
:return:NOne
"""
# NaN, nan
im = Imputer(missing_values='NaN', strategy='mean', axis=0)
data = im.fit_transform([[1, 2], [np.nan, 3], [7, 6]])
print(data)
return None