利用sklearn进行数据归一化
1.
from sklearn.preprocessing import MinMaxScaler
data = [[-1,2],[-0.5,6],[0,10],[1,18]] #生成的是4*2的矩阵
import pandas as pd
data = pd.DataFrame(data)
print(data)
print(data.shape)
0 1
0 -1.0 2
1 -0.5 6
2 0.0 10
3 1.0 18
(4, 2)
注意data的形式,是生成一个4*2的矩阵
2.
#实现归一化
scalar = MinMaxScaler() #实例化
scalar = scalar.fit(data)
result = scalar.transform(data)
print(result)
或者:
#实现归一化
scalar = MinMaxScaler() #实例化
result_ = scalar.fit_transform(data)
print(result_)
[[0. 0. ]
[0.25 0.25]
[0.5 0.5 ]
[1. 1. ]]
3.
从归一化矩阵恢复到原来矩阵
inverse_result = scalar.inverse_transform(result_)
print(inverse_result)
[[-1. 2. ]
[-0.5 6. ]
[ 0. 10. ]
[ 1. 18. ]]
4.
利用feature_range属性
#实现归一化
scalar = MinMaxScaler(feature_range=[5,10]) #实例化
result_ = scalar.fit_transform(data)
print(result_)
[[ 5. 5. ]
[ 6.25 6.25]
[ 7.5 7.5 ]
[10. 10. ]]