归一化数值--处理数据(使所有特征在同一量级,同等重要)

来源:互联网 发布:qt5编程入门 编辑:程序博客网 时间:2024/06/06 03:17
数值归一化的原因:有的特征数值很大,在很大程度上影响了预测的结果,我们将数值限定在同一量级,可以保证所有数据是同等重要的
归一化操作:将取值范围处理为0到1 或者-1到1 之间
归一化的公式:normVal=(oldVal-min)/(max-min)
def autoNorm(dataSet):    minVals=dataSet.min(0) # 求每列的最小值,0代表列      maxVals=dataSet.max(0) # 求每列的最大值    ranges=maxVals-minVals    m=shape(dataSet)[0]    normDataSet=zeros(shape(dataSet))    normDataSet=dataSet-tile(minVals,(m,1)) #tile 为重复函数,重复m行以做数组的运算    normDataSet=normDataSet/tile(ranges,(m,1))    return normDataSet,ranges,minVals

原创粉丝点击