归一化:
sklearn.preprocessing
- 归一化:
特点:通过对原始数据进行变换把数据映射到(默认为[0,1])之间
注意也可以通过指定MinMaxScalar 里边的feature_range 来指定缩放的范围 - 示例代码
from sklearn.preprocessing import MinMaxScaler
# 归一化
# 最小最大缩放(MinMaxScaler)
# 按照最大最小值缩放到 0-1 区间(也可以指定feature_range)
def mm():
mm = MinMaxScaler(feature_range=(0,1))
data = mm.fit_transform([[90, 2, 10, 40],
[60, 4, 15, 45],
[75, 3, 13, 46]])
print(data)
return None
if __name__=='__main__':
mm()
标准化
from sklearn.preprocessing import StandardScaler
- 标准化
使用标准差,使得在样本足够多的情况下,比较稳定,适应数据比较嘈杂的环境(避免异常点过分影响) - 示例代码
from sklearn.preprocessing import StandardScaler
import numpy as np
# 缺失值处理
# 版本更新:
# DeprecationWarning: Class Imputer is deprecated; Imputer was deprecated in version 0.20 and will be removed in 0.22. Import impute.SimpleImputer from sklearn instead.
# warnings.warn(msg, category=DeprecationWarning)
from sklearn.preprocessing import Imputer
# 标准化缩放
def stand():
std = StandardScaler()
data = std.fit_transform([[1., -1., 3.],
[2., 4., 2.],
[4., 6., -1.]])
print(data)
return None
# 缺失值处理
# 可以删除(不建议)
# 可以插补(使用平均值 或者 中位数) 一般按列填补
def im():
# 指定缺失的是nan 轴用0轴(按列)
im = Imputer(missing_values='NaN', strategy='mean', axis=0)
data = im.fit_transform([[1, 2],
[np.nan, 3],
[7, 6]])
print(data)
return None
if __name__ == "__main__":
stand()
im()
'''
[[1. 2.]
[4. 3.]
[7. 6.]]
'''