Python中归一化特征到一定区间的函数——MinMaxScaler()

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)

运行结果如下:

Python中归一化特征到一定区间的函数——MinMaxScaler()_第1张图片

你可能感兴趣的:(人工智能)