对数归一化

Python 中的机器学习预处理

James Chapman

Curriculum Manager, DataCamp

什么是对数归一化?

 

  • 适用于方差高的特征
  • 进行对数变换
  • 使用常数 e 的自然对数(≈2.718)
Python 中的机器学习预处理

什么是对数归一化?

 

  • 适用于方差高的特征
  • 进行对数变换
  • 使用常数 e 的自然对数(≈2.718)
  • e^{3.4} = 30

 

  • 捕捉相对变化、变化幅度,并保持数值为正

 

数值 对数
30 3.4
300 5.7
3000 8
Python 中的机器学习预处理

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 中的机器学习预处理

Let's practice!

Python 中的机器学习预处理

Preparing Video For Download...