sklearn里面有很多对数据处理的方法这里介绍几种
# 以下的处理方法都需要引入这个模块
from sklearn import preprocessing
均值移除
适合处理数值差别很大的数据(比如每列中有1000, 1)这样的数据,需要给它均值移除成正太分布的数据(每列均值为0,标准差为1)
直接上代码
import numpy as np
# 初始化数组
data = np.array([[-1000,10,40],[10,300,40],[20,1,30]])
result = preprocessing.scale(data) # scale:对数据0均值处理 数据中心化处理
print(result)
print(np.mean(result,axis=0)) # 每列的平均值 约等于 0
print(np.std(result,axis=0)) # 每列的标准差为 1
范围缩放
个人理解
当数据的每列的数值比较大或相差很大可以用范围缩放把数据缩放到合适大小,当你拿到数据进行均值移除后发现数值相差还是有点大,可以再进行范围缩放(根据数据而论,有些数值大的数据也可以是正太分布数据可以直接进行范围缩放)
import numpy as np
# 初始化数据
data = np.array([[3,-1.5,2,-5.4],
[0,4,-0.3,2.1],
[1