機器學習演算法——歸一化數值
阿新 • • 發佈:2019-01-09
#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