#coding=utf-8
__author__ = 'whf'
import numpy
from kNN import file2matrix
from numpy import *
def autoNorm(dataSet):
#将每列的最小值放在minVals中
minVals = dataSet.min(0)
#将每列的最大值放在maxVals中
maxVals = dataSet.max(0)
#计算可能的取值范围
ranges=maxVals-minVals
#创建新的返回矩阵
normDataSet = zeros(shape(dataSet))
#得到数据集的行数 shape方法用来得到矩阵或数组的维数
m = dataSet.shape[0]
#tile:numpy中的函数。tile将原来的一个数组minVals,扩充成了m行1列的数组
#矩阵中所有的值减去最小值
normDataSet = dataSet - tile(minVals,(m,1))
#矩阵中所有的值除以最大取值范围进行归一化
normDataSet = normDataSet/tile(ranges,(m,1))
#返回归一矩阵 取值范围 和最小值
return normDataSet,ranges,minVals
机器学习算法——归一化数值
最新推荐文章于 2025-03-19 16:11:19 发布