数据的预处理
数据下载地址——>点这里下载
到入文件时可以直接复制地址然后用r" "包裹起来。
例如:data = pd.read_cav(r"C:\work\data.csv")
或者也可以以直接将\
换成//
也可以导入。
1.归一化
在sklearn当中,我们使用preprocessing.MinMaxScaler
来实现这个功能。MinMaxScaler
有一个重要参数,feature_range
,控制我们希望把数据压缩到的范围,默认是[0,1]。
导入库和数据
from sklearn.preprocessing import MinMaxScaler
data = [[-1,2],[-0.5,6],[0,10],[1,18]]
import pandas as pd
pd.DataFrame(data)
进行归一化处理
scaler = MinMaxScaler()#实例化
scaler = scaler.fit(data)#fit.在这里是生成min(x)和max(x)
result = scaler.transform(data)#通过接口 导出结果
result
也可以一步达成训练和导出结果
result_ =scaler.transform(data)#训练和导出结果一步达成
result_x
将归一化的数据逆转为原数据
scaler.inverse_transform(result)#将归一化后的结果逆转
将范围设置为[0,5]
data = [[-1,2],[-0.5,6],[0,10],[1,18]]
scaler = MinMaxScaler(feature_range=[5,10])#实例化带范围5-10
result = scaler.fit_transform(data)#一步导出结果
result
当数据量多于大时,使用:
# scaler = scaler.partial_fit(data) #大数据使用
使用numpy处理数据归一化
import numpy as np
X= np.array([[-1, 2], [-0.5, 6], [0, 10], [1, 18]])
#归一化
X_nor= (X - X.min(axis=0)) /(X.max(axis=0) - X.min(axis=0))
X_nor
逆转归一化:
#逆转归一化
X_returned= X_nor *(X.max(axis=0)