数据归一化

数据归一化

由于不同维度的数据的值大小不同 如果直接使用,会致使指标的影响力不同,所以我们需要对数据进行归一化处理

公式为newValue = (oldValue - min) / max - min

实现逻辑

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from numpy import *
# 数据归一化
# 由于 飞行里程的数字偏大 将会影响到计算结果
# 我们需要将它转换为 0-1以内的值
# 转换公式 newValue = (oldValue - min) / max - min
def autoNorm(dataSet):
minVals = dataSet.min[0]
maxVals = dataSet.max[0]
ranges = maxVals - minVals
normDataSet = zeros(shape(dataSet))
m = dataSet.shape[0]
normDataSet = dataSet - tile(minVals, (m, 1))
normDataSet = normDataSet / tile(ranges, (m, 1))
return normDataSet, ranges, minVals