機器學習演算法 歸一化數值

2021-07-05 13:29:48 字數 746 閱讀 6303

#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

機器學習 歸一化數值

在計算歐氏距離的過程中,數值較大的屬性對結果的貢獻大,如果認為不同屬性權重應該相同的話,就需要將數值歸一化處理。from numpy import def autonorm dataset minvals dataset.min 0 取每列的最小值,返回陣列 print minvals maxval...

機器學習 歸一化數值

1.為什麼要歸一化?表示乙個事物有不同的維度 即 屬性 每個屬性的取值範圍不同,導致計算時此屬性占用的權重不同,即資料的量綱不同,量綱小的資料容易受到量綱大的資料影響。如 兩個人的屬性對比 屬性a person b persion 身高1.75 1.81 年齡41 26收入 40000 10000 ...

數值歸一化

當資料報含不同量綱的多種變數時,數值間的差別可能很大,例如有些有機酸的離解常數 pka 數值大約為個位數或為負數,沸點資料則約為幾十攝氏度或數百攝氏度。再如所採用的單位不同,資料的大小也會有很大的差別,如毫摩爾濃度與摩爾濃度相差1000倍。如果將這種不同種類 不同量綱 數值大小差別很大的資料組合在一...