Sklearn:sklearn.preprocessing之StandardScaler 的transform()函數(shù)和fit_transform()函數(shù)清晰講解及其案例應(yīng)用
? ? ? ? fit(x,y)傳兩個(gè)參數(shù)的是有監(jiān)督學(xué)習(xí)的算法,fit(x)傳一個(gè)參數(shù)的是無監(jiān)督學(xué)習(xí)的算法,比如降維、特征提取、標(biāo)準(zhǔn)化。fit_transform是fit和transform的組合。fit_transform中包含兩個(gè)過程:計(jì)算均值/標(biāo)準(zhǔn)差,數(shù)據(jù)轉(zhuǎn)換,是數(shù)據(jù)處理的兩個(gè)環(huán)節(jié)。每一個(gè)transform都需要先fit,把數(shù)據(jù)轉(zhuǎn)為(μ, σ)分布。fit是為了程序的后續(xù)函數(shù)transform的調(diào)用而服務(wù)的,是個(gè)前提條件。
? ? ? ? fit_transform和transform的區(qū)別就是前者是先計(jì)算均值和標(biāo)準(zhǔn)差再轉(zhuǎn)換,而直接transform則是用之前數(shù)據(jù)計(jì)算的參數(shù)進(jìn)行轉(zhuǎn)換。換句話說,如果最先前沒有fit,即沒有緩存(μ, σ),那么,是不可以直接執(zhí)行transform。很明顯,fit_transform與transform運(yùn)行結(jié)果會(huì)一致,如果先前緩存一致,那么,transform函數(shù)是一定可以替換為fit_transform函數(shù),反之,則不可以。
聯(lián)系客服