使用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)
运行结果: