??? 在数据预处理时可以对偏度比较大的数据用log1p函数进行转化,使其更加服从高斯分布,此步处理可能会使我们后续的分类结果得到一个更好的结果;
?
??? 平滑处理很容易被忽略掉,导致模型的结果总是达不到一定的标准,同样使用逼格更高的log1p能避免复值的问题——复值指一个自变量对应多个因变量; ?
log1p的使用就像是将一个数据压缩到了一个区间,与数据的标准化类似。 ?
举例用图像表示出来会更加清楚:
import numpy as np
import matplotlib.pyplot as plt
in_array = [1, 1.2, 1.4, 1.6, 1.8, 2]
out_array = np.log1p(in_array)
print ("out_array : ", out_array)
可以看到log1p后数值都变小了
# Python程序显示log1p()函数的图形表示
y = [1, 1.2, 1.4, 1.6, 1.8, 2]
plt.plot(in_array, y, color = 'blue', marker = "*") #蓝色线表示之前的图形
plt.plot(out_array, y, color = 'red', marker = "o") #红色线表示用log1xp修饰后的图像
plt.title("numpy.log1p()")
plt.xlabel("X")
plt.ylabel("Y")
plt.show()
?
|