使用MinMaxScaler()需要首先引入包sklearn,
MinMaxScaler()在包sklearn.preprocessing下
可以将任意数值归一化处理到一定区间。
MinMaxScaler()函数原型为:
sklearn.preprocessing.MinMaxScaler(feature_range=(0, 1), copy=True)
其中feature_range表示归一化范围。copy默认为True,为拷贝属性,默认为True,表示对原数据组拷贝操作,这样变换后元数组不变,False表 示变换操作后,原数组也跟随变化。
函数的数学模型为:
from sklearn import preprocessing import numpy as np x = np.array([[1.,-1.,2.], [2.,0.,0.], [0.,1.,-1.]]) min_max_scaler = preprocessing.MinMaxScaler()#默认为范围0~1,拷贝操作 #min_max_scaler = preprocessing.MinMaxScaler(feature_range = (1,3),copy = False)#范围改为1~3,对原数组操作 x_minmax = min_max_scaler.fit_transform(x) print('x_minmax = ',x_minmax) print('x = ',x) #新的测试数据进来,同样的转换 x_test = np.array([[-3,-1,4.], [0,-1,10]]) x_test_maxabs = min_max_scaler.transform(x_test) print('x_test_maxabs = ',x_test_maxabs)
运行结果: