数据的标准化(normalization)和归一化
数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。在一些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。其中最典型的就是数据的归一化处理.(将数据统一映射到[0,1]区间)
归一化的目标
1 把数变为(0,1)之间的小数
主要是为了数据处理方便而提出来的,把数据映射到0~1范围之内处理,更加便捷快速.
2 把有量纲表达式变为无量纲表达式
归一化是一种简化计算的方式,即将有量纲的表达式,经过变换,化为无量纲的表达式,成为纯量。
方法:
1,找到极值
def find_the_min_and_max_of_our_data(dataset):
min_max_list = list()
for i in range(len(dataset[0])):
values_in_every_column = [row[i] for row in dataset]
the_min_value = min(values_in_every_column)
the_max_value = max(values_in_every_column)
min_max_list.append([the_min_value, the_max_value])
return min_max_list
2,利用极值实现归一化
def rescale_our_data(dataset, min_max_list):
for row in dataset:
for i in range(len(row)):
row[i] = (row[i] - min_max_list[i][0]) / (min_max_list[i][1] - min_max_list[i][0])