數據平滑處理——np.log1p() and np.exmp1()


優點:
在數據預處理時首先可以對偏度比較大的數據用log1p函數進行轉化,使其更加服從高斯分布,此步處理可能會使我們后續的分類結果得到一個更好的結果;
平滑處理很容易被忽略掉,導致模型的結果總是達不到一定的標准,同樣使用逼格更高的log1p能避免復值的問題——復值指一個自變量對應多個因變量;

log1p的使用就像是將一個數據壓縮到了一個區間,與數據的標准化類似。下面再說說它的逆運算expm1函數。

由於前面使用過log1p將數據進行了壓縮,所以最后需要記得將預測出的平滑數據進行一個還原,而還原過程就是log1p的逆運算expm1。

上面介紹了兩者的概念和方法的優點,下面說說具體的數學含義:

log1p和expm1的功能:


    log1p :=  log(x+1)   即 ln(x+1)

    expm1 := exp(x)-1

 

log1p函數有它存在的意義,即保證了x數據的有效性,當x很小時(如e-16),由於太小超過數值有效性,用log(x+1)計算得到結果為0,換作log1p則計算得到一個很小卻不為0的結果,這便是它的意義。

同樣的道理對於expm1,當x特別小,就會急劇下降出現如上問題,甚至出現錯誤值。

 

推導:

 

 

均方根對數誤差(RMSLE):

 

RMSLE會更多的懲罰欠擬合,所以在使用該誤差定義時我們也可以用到上面的函數:

np.loglp計算加一后的對數,其逆運算是np.expm1;
采用此誤差函數時,可以先對原始數據做np.log1p,再使用RMSE。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM