MinMaxScaler()函数在sklearn包中
MinMaxScaler()函数原型为:
sklearn.preprocessing.MinMaxScaler(feature_range=(0, 1), copy=True)
其中:
feature_range:为元组类型,范围某认为:[0,1],也可以取其他范围值。
copy:为拷贝属性,默认为True,表示对原数据组拷贝操作,这样变换后元数组不变,False表 示变换操作后,原数组也跟随变化,相当于c++中的引用或指针。
函数表示的数学原型为:
X_std = (X - X.min(axis=0)) / (X.max(axis=0) - X.min(axis=0))
X_scaled = X_std * (max - min) + min
举例如下:
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)
运行结果如下: