归一化特征值

来源:互联网 发布:百度大数据分析工具 编辑:程序博客网 时间:2024/05/04 18:38

在处理不同取值范围的特征值时,通常会对数据进行归一化处理,将取值范围处理为0~1或者-1~1之间。
归一化公式为:

newValue = (oldValue-min)/(max-min)

代码为:

from numpy import *def autoNorm(dataSet):    minVals = dataSet.min(0) #0表示从列中选取最小值    maxVals = dataSet.max(0) #选取最大值    ranges = maxVals-minVals    normDataSet = zeros(shape(dataSet))  #创建一个与dataSet大小相同的零矩阵    m = dataSet.shape[0] #取dataSet得行数    normDataSet = dataSet - tile(minVals, (m, 1))  #将minVals复制m行 与dataSet数据集相减    #归一化相除    normDataSet = normDataSet/tile(ranges, (m, 1)) #将最大值-最小值的值复制m行 与normDataSet相除,即归一化    return normDataSet, ranges, minVals #normDataSet为归一化特征值,ranges为最大值-最小值normDataSet, ranges, minVals = autoNorm(dataSet)
原创粉丝点击