対数正規化

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...