對數正規化

Python 的 Machine Learning 前處理

James Chapman

Curriculum Manager, DataCamp

什麼是對數正規化?

 

  • 適用於變異很高的特徵
  • 套用對數轉換
  • 以常數 $e$($\approx2.718$)取自然對數
Python 的 Machine Learning 前處理

什麼是對數正規化?

 

  • 適用於變異很高的特徵
  • 套用對數轉換
  • 以常數 $e$($\approx2.718$)取自然對數
  • $e^{3.4} = 30$

 

  • 捕捉相對變化與幅度,且結果皆為正值

 

數值 對數
30 3.4
300 5.7
3000 8
Python 的 Machine Learning 前處理

在 Python 進行對數正規化

print(df)
   col1   col2
0  1.00    3.0
1  1.20   45.5
2  0.75   28.0
3  1.60  100.0
print(df.var())
col1       0.128958
col2    1691.729167
dtype: float64
import numpy as np
df["log_2"] = np.log(df["col2"])
print(df)
   col1   col2     log_2
0  1.00    3.0  1.098612
1  1.20   45.5  3.817712
2  0.75   28.0  3.332205
3  1.60  100.0  4.605170
print(df[["col1", "log_2"]].var())
col1     0.128958
log_2    2.262886
dtype: float64
Python 的 Machine Learning 前處理

一起來練習吧!

Python 的 Machine Learning 前處理

Preparing Video For Download...