溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python中進(jìn)行歸一化的方法

發(fā)布時(shí)間:2020-07-06 15:56:20 來(lái)源:億速云 閱讀:519 作者:清晨 欄目:編程語(yǔ)言

這篇文章將為大家詳細(xì)講解有關(guān)python中進(jìn)行歸一化的方法,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

歸一化 (Normalization):

屬性縮放到一個(gè)指定的最大和最小值(通常是1-0)之間,這可以通過preprocessing.MinMaxScaler類實(shí)現(xiàn)。

常用的最小最大規(guī)范化方法(x-min(x))/(max(x)-min(x))

python實(shí)現(xiàn)歸一化的方法:

1、(0,1)標(biāo)準(zhǔn)化:

這是最簡(jiǎn)單也是最容易想到的方法,通過遍歷feature vector里的每一個(gè)數(shù)據(jù),將Max和Min的記錄下來(lái),并通過Max-Min作為基數(shù)(即Min=0,Max=1)進(jìn)行數(shù)據(jù)的歸一化處理:

def MaxMinNormalization(x,Max,Min):
    x = (x - Min) / (Max - Min);
    return x

2、Z-score標(biāo)準(zhǔn)化:

這種方法給予原始數(shù)據(jù)的均值(mean)和標(biāo)準(zhǔn)差(standard deviation)進(jìn)行數(shù)據(jù)的標(biāo)準(zhǔn)化。經(jīng)過處理的數(shù)據(jù)符合標(biāo)準(zhǔn)正態(tài)分布,即均值為0,標(biāo)準(zhǔn)差為1,這里的關(guān)鍵在于復(fù)合標(biāo)準(zhǔn)正態(tài)分布,個(gè)人認(rèn)為在一定程度上改變了特征的分布,轉(zhuǎn)化函數(shù)為:

python中進(jìn)行歸一化的方法

實(shí)現(xiàn)代碼:

def Z_ScoreNormalization(x,mu,sigma):
    x = (x - mu) / sigma;
    return x

3、Sigmoid函數(shù):

Sigmoid函數(shù)是一個(gè)具有S形曲線的函數(shù),是良好的閾值函數(shù),在(0, 0.5)處中心對(duì)稱,在(0, 0.5)附近有比較大的斜率,而當(dāng)數(shù)據(jù)趨向于正無(wú)窮和負(fù)無(wú)窮的時(shí)候,映射出來(lái)的值就會(huì)無(wú)限趨向于1和0,是個(gè)人非常喜歡的“歸一化方法”。

之所以打引號(hào)是因?yàn)槲矣X得Sigmoid函數(shù)在閾值分割上也有很不錯(cuò)的表現(xiàn),根據(jù)公式的改變,就可以改變分割閾值,這里作為歸一化方法,我們只考慮(0, 0.5)作為分割閾值的點(diǎn)的情況:

python中進(jìn)行歸一化的方法

實(shí)現(xiàn)代碼:

def sigmoid(X,useStatus):
    if useStatus:
        return 1.0 / (1 + np.exp(-float(X)));
    else:
        return float(X)

關(guān)于python中進(jìn)行歸一化的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI