前言

分析数据中,经常要把数据归一化,这样可以快速收敛。 python sklearn,中 preprocessin 中有很多数据处理模块。 本片介绍的是 MinMaxScaler 使用,及保存使用案例。 准备原始数据:

  1. import pandas as pd
  2. import numpy as np
  3. dataset = np.random.randint(1000,size=10)
  4. #原始数据 0-1000
  5. dataset = dataset.reshape(-1,1)

使用

MinMaxScaler 初始化

  1. from sklearn.preprocessing import MinMaxScaler
  2. sc = MinMaxScaler(feature_range=(0, 1)) # 映射到0-1 之间

fit 适应数据

  1. sc.fit(dataset) # 训练

转换

  1. transform_data = sc.transform(dataset) # 转换

逆转换

  1. transform_befor = sc.inverse_transform(transform_data) # 逆转换

保存及加载

  1. # from sklearn.externals import joblib # 已经过时
  2. import joblib
  3. scaler_filename = "scaler.save"
  4. joblib.dump(sc, scaler_filename) # save
  5. new_sc = joblib.load(scaler_filename) # load