sklearn快速入门教程:归一化

0e70343273444dc8ac5407b1ab924d69.png

0-150归一化到0-100

MinMaxScaler

缺点:

 新数据加入时可能会 改变数据的min或max值

实现1:

from sklearn.preprocessing import MinMaxScaler

data = [[-1, 2], [-0.5, 6], [0, 10], [1, 18]]
#实例化
scaler = MinMaxScaler() #如果()内为空,MinMaxScaler会把原数据归一化到默认值:[o,1]范围内
scaler.fit(data) #生成了min&max

result = scaler.transform(data) #通过transform接口导出归一化结果
result
array([[0.  , 0.  ],
       [0.25, 0.25],
       [0.5 , 0.5 ],
       [1.  , 1.  ]])

 解析:

通过下面的代码可见data: 

data = [[-1, 2], [-0.5, 6], [0, 10], [1, 18]]
import pandas as pd
pd.DataFrame(data)

 f652adce7e024df096f23356efede162.png

 再看array的运行结果,可见:

data中0、1两列提供的信息量是一样的。

 

 其实倒数第三、第二行的代码可以合起来写成

result = scaler.fit_transform(data)

其运行结果是一样的 

与之对应的可以将运行结果逆转回原数据

scaler.inverse_transform(result)
array([[-1. ,  2. ],
       [-0.5,  6. ],
       [ 0. , 10. ],
       [ 1. , 18. ]])

实现2 

from sklearn.preprocessing import MinMaxScaler

data = [[-1, 2], [-0.5, 6], [0, 10], [1, 18]]
#实例化
scaler = MinMaxScaler(feature_range = [5, 10]) #把原数据归一化到:[5,10]范围内
scaler.fit(data) #生成了min&max

result = scaler.transform(data) #通过transform接口导出归一化结果
result
array([[ 5.  ,  5.  ],
       [ 6.25,  6.25],
       [ 7.5 ,  7.5 ],
       [10.  , 10.  ]])

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值