sklearn提供了一些数据正规化的方法。
from sklearn.preprocessing import MinMaxScaler
X_transformed = MinMaxScaler().fit_transform(X)
还有很多其他类似的规范化方法,对于其他类型的应用和特征类型会很有用。
为使每条数据各特征值的和为1,使用sklearn.preprocessing.Normalizer。
为使各特征的均值为0,方差为1,使用sklearn.preprocessing.StandardScaler, 常用作规范化的基准。 为将数值型特征的二值化,使用sklearn.preprocessing.Binarizer,大于阈值的为 1,反之为0。
或者自己实现该方法。
如:
#-*- coding: utf-8 -*- #数据规范化 import pandas as pd import numpy as np datafile = '../data/normalization_data.xls' #参数初始化 data = pd.read_excel(datafile, header = None) #读取数据 (data - data.min())/(data.max() - data.min()) #最小-最大规范化 (data - data.mean())/data.std() #零-均值规范化 data/10**np.ceil(np.log10(data.abs().max())) #小数定标规范化