參考:
資料平滑處理 -- log1p( ) 和 exmp1( )
1. 資料預處理時首先可以對偏度比較大的資料用og1p函式進行轉化,使其更加服從高斯分布,此步處理可能會使我們後續的分類結果得到乙個好的結果。
2. 平滑問題很容易處理掉,導致模型的結果達不到一定的標準,log1p( )能夠避免復值得問題 — 復值指乙個自變數對應多個因變數
log1p( ) 的使用就像是乙個資料壓縮到了乙個區間,與資料的標準類似。其逆運算就是expm1的函式
由於使用的log1p()對資料進行了壓縮,最後需要將**出的平滑資料進行乙個還原,而還原過程就是log1p的逆運算expm1.
log1p = log(x+1)
當x較大時直接計算,當x較小時用泰勒展開式計算
上面介紹了兩者的概念和方法的優點,下面說說具體的數學含義:
log1p和expm1的功能:
log1p := log(x+1) 即ln(x+1)
expm1 := exp(x)-1
log1p函式有它存在的意義,即保證了x資料的有效性,當x很小時(如 兩個數值相減後得到x = 10^),由於太小超過數值有效性,用log(x+1)計算得到結果為0,換作log1p則計算得到乙個很小卻不為0的結果,這便是它的意義(好像是用泰勒公式來展開運算的,不確定)。
同樣的道理對於expm1,當x特別小,exp(x)-1就會急劇下降出現如上問題,甚至出現錯誤值。
在最開始看到這樣的處理方式的時候,不是很理解包括為什麼是逆運算(一下子沒有想到),後來慢慢摸索就優點清晰了,比如為什麼兩這是逆運算(簡單處理):
logx是e為底的對數,e^是e為底的指數,根據對數的規則,再進行變換推導可以得到:
e^^} = x
可以看到x經過對數的處理後,再經過指數處理再次得到x,這裡對兩者的逆運算做了簡單的介紹。
\text=\sqrt\sum_^n(\log(x_i+1)-\log(y_i+1))^2}
np.loglp計算加一後的對數,其逆運算是np.expm1;
採用此誤差函式時,可以先對原始資料做np.log1p,再使用rmse。
怎麼進行資料平滑濾波 振動訊號的平滑處理
振動訊號的平滑處理 一般來說,資料採集器得到的振動訊號會包含有雜訊成分。這些雜訊訊號主要包括 無規律的隨機干擾訊號和其它週期性的高頻干擾訊號等。由於隨機干擾訊號與正常訊號相比,其頻帶更寬,因而所採集的離散的振動訊號資料曲線上就會出現很多毛刺,這些毛刺為幹攏訊號的表現形式。這時我們就需要對資料進行平滑...
python處理資料時常用到的函式 1
首先需要介紹乙個好用的函式os.wak 功能 遍歷目錄下的所有檔案,生成3元組 dirpath,dirnames,filenames 資料夾路徑,資料夾名字,檔名 還用到了shutil.copyfile oldname,newname 函式 功能 將檔案從舊位址複製到新位址 import os im...
Python資料處理基礎 1 資料型別及函式
三 數值運算函式 四 切片 python中的資料型別大致為整數,小數,複數,字元,陣列等。a int 3 a1 float 3 a2 1 2ja3 str 3 print int float complex str format a,a1,a2,a3 得到的結果為 int 3 float 3.0 c...