特征錦囊:數(shù)據(jù)歸一化Normalization與標(biāo)準(zhǔn)化Standardization
特征錦囊:數(shù)據(jù)歸一化Normalization與標(biāo)準(zhǔn)化Standardization
?? Index
理論 代碼實(shí)現(xiàn)
?? 理論知識
數(shù)據(jù)歸一化與標(biāo)準(zhǔn)化是預(yù)處理階段的關(guān)鍵步驟,但常常被遺忘。雖然存在決策樹和隨機(jī)森林這種是少數(shù)不需要特征縮放的機(jī)器學(xué)習(xí)算法,但對于大部分機(jī)器學(xué)習(xí)算法和優(yōu)化算法來說,如果特征都在同一范圍內(nèi),會獲得更好的結(jié)果。你想象一下有兩個特征,一個特征的取值范圍是[1,10],另一個特征的取值范圍是[1,100000]。很明顯,如果使用kNN算法,它是用歐氏距離作為距離度量,第二維度特征也就占據(jù)了主要的話語權(quán)。
其中,數(shù)據(jù)歸一化我們常用的是Min-Max方法,也就是根據(jù)數(shù)據(jù)記錄中的最大和最小值進(jìn)行數(shù)據(jù)的縮放,使其收縮到0-1之間,具體公式如下:
而數(shù)據(jù)標(biāo)準(zhǔn)化,更多指的是Z-Score標(biāo)準(zhǔn)化,也就是將賦予原始數(shù)據(jù)的均值(mean)和標(biāo)準(zhǔn)差(standard deviation)從而實(shí)現(xiàn)數(shù)據(jù)的標(biāo)準(zhǔn)化,具體就是按均值 μ = 0 ,標(biāo)準(zhǔn)差σ = 1 將數(shù)據(jù)按比例縮放,使之落入一個特定區(qū)間,具體公式如下:
下面進(jìn)行了小結(jié):
?? 代碼實(shí)現(xiàn)
from sklearn.datasets import load_iris
#導(dǎo)入IRIS數(shù)據(jù)集
iris = load_iris()
#標(biāo)準(zhǔn)化,返回值為標(biāo)準(zhǔn)化后的數(shù)據(jù)
from sklearn.preprocessing import StandardScaler
StandardScaler().fit_transform(iris.data)
#歸一化,返回值為縮放到[0, 1]區(qū)間的數(shù)據(jù)
from sklearn.preprocessing import MinMaxScaler
MinMaxScaler().fit_transform(iris.data)
往期精彩回顧
適合初學(xué)者入門人工智能的路線及資料下載 (圖文+視頻)機(jī)器學(xué)習(xí)入門系列下載 機(jī)器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印 《統(tǒng)計(jì)學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專輯
機(jī)器學(xué)習(xí)交流qq群955171419,加入微信群請掃碼
評論
圖片
表情
