数据预处理
(一)对数值型数据的预处理主要包括:归一化,标准化,缺失值
类别型数据:one-hot编码
时间类型:时间的切分
所用到的API :sklearn.preprocessing
(二)归一化(通过对原始数据进行变换把数据映射到默认的0-1之间)
目的是使得某一个特征不会对最终结果造成更大的影响。
缺点是当数据中的异常点较多时,对最终的归一化的结果影响较大,因此归一化只适用于传统数据量较小的场景。
(三)标准化(用的最多)
在样本足够多的情况下比较稳定,适合现代嘈杂大数据场景。
实例:
from sklearn.preprocessing import StandardScaler def standard(): """" 标准化 """ std=StandardScaler() data=std.fit_transform([[90,2,10,40],[60,4,15,45],[75,3,13,46]]) print(data) # 每列特征的平均值为0,标准差为1 return None if __name__=='__main__': # mm() standard()
运行结果:
(四)如何处理数据中的缺失值
实例:
from sklearn.preprocessing import Imputer import numpy as np def imp(): """ 缺失值处理 """ im = Imputer(missing_values='NaN',strategy='mean',axis=0) # 按列的平均值进行填补 data=im.fit_transform([[1,2],[np.nan,3],[3,6]]) print(data) return None if __name__=='__main__': imp()
运行结果: